Skip to content

Latest commit

 

History

History
38 lines (31 loc) · 1.55 KB

ROADMAP.md

File metadata and controls

38 lines (31 loc) · 1.55 KB

Spoon Roadmap

Short-term, long term and crazy ideas about Spoon

version of 03/09/2015

  • Model
    • support for analyzing bound vs unbound type references (List<T> vs List<String>)
  • Transformations:
    • Keep original when printing after transformation
      • inline comments
      • indentation and formatting
    • sniper mode (only rewrites the changed nodes)
    • Transactional transformations (rollback if transfo fails)
    • adds generic transformations: a generic transformation is a transformation that is independent of the domain and can be applied to any source code, their goal is to facilitate analysis and transformation
      • everything in a block
      • unfinalizer (remove as many "final" keywords as possible)
  • Processor orchestration
  • Spoon in the IDE
    • on the fly model update
    • lazy spoon (build the class model only after a call to getDeclaration)
  • Child project spoon-refactorings (starting from TTC)
  • Templates
    • templates as query language (see TemplateMatcher)
    • inline templates
      • with anonymous classes
      • with lambda
  • Write spoon processors, compile them to ASM transformations on bytecode