Skip to content

Latest commit

 

History

History
36 lines (32 loc) · 1.83 KB

ROADMAP.md

File metadata and controls

36 lines (32 loc) · 1.83 KB

Spoon Roadmap

Short-term, long term and crazy ideas about Spoon

  • Model
    • build model of binary code using a decompiler
    • Improves usage of generics on the model (See INRIA#583 (comment))
    • Add an embedded DSL / builder mechanism (see INRIA#741)
  • Transformations:
    • Keep original when printing after transformation
      • 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
      • 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
  • Spoonifyier: give a snippet as input and produce as output the Spoon code that would create this snippet
  • From Github: see https://github.com/INRIA/spoon/issues?q=is%3Aopen+is%3Aissue+label%3Afeature