Transformation

{ #concept-transformation }

Stable ID: CONCEPT-TRANSFORMATION

Purpose

Transformation manipulates code using find / filter / manipulate workflows.

MISC

Transformation Functionality

  • The encoding of a file should never be changed
  • The meta data of a file or directory is only allowed to change when an actual change happened
    • Analysis or a match (with a failing filter) are NOT enough
  • Offset-based batch modifications of strings

    • Insert and replace operations
      • remove is just replace with ""
  • AST-based batch modifications of strings

    • Replace (incl. remove), and insert (Prepend, append, and surround - e.g., for matching brackets)
  • Batch modification of Translation Unit (Single file of code)

    • Prepend, append, surround, replace of specific AST Node
    • Find, Filter (possibly multiple), and Replace functionality (whole match is replaced)
      • Replace recursively (so the AST nodes assigned to placeholders are also modified)
    • Find (possibly multiple - a.k.a. chained find), Filter (possibly multiple), and modify functionality
      • Multiple operations on a single find
      • Modification of any AST node possible
        • not only contained in the found match, but all via navigation (along parent and ancestor nodes)