logo

class

compiler::Normalize

sys::Obj
  compiler::CompilerSupport
    compiler::CompilerStep
      compiler::Normalize

Normalize the abstract syntax tree:

  • Collapse multiple static new blocks
  • Init static fields in static new block
  • Init instance fields in instance new block
  • Add implicit return in methods
  • Add implicit super constructor call
  • Rewrite synthetic getter/setter for override of concrete field
  • Generate once method boiler plate

Slots

make

new make(Compiler compiler)

run

override Void run()

visitTypeDef

override Void visitTypeDef(TypeDef t)