mixin compiler::Visitor

compiler::Visitor

Source

Vistor is used to walk the abstract syntax tree and visit key nodes. The walk for each node type entails:

  1. enter
  2. children
  3. exit
  4. visit
enterBlock

virtual Void enterBlock(Block block)

Source

Callback when entering a block.

enterFieldDef

virtual Void enterFieldDef(FieldDef def)

Source

Callback when entering a field definition.

enterFinally

virtual Void enterFinally(TryStmt stmt)

Source

Callback when entering a finally block

enterMethodDef

virtual Void enterMethodDef(MethodDef def)

Source

Callback when entering a method.

enterStmt

virtual Void enterStmt(Stmt stmt)

Source

Callback when entering a stmt.

enterTypeDef

virtual Void enterTypeDef(TypeDef def)

Source

Callback when entering a type definition.

enterUnit

virtual Void enterUnit(CompilationUnit unit)

Source

Callback when entering a compilation unit.

exitBlock

virtual Void exitBlock(Block block)

Source

Callback when exiting a block.

exitFieldDef

virtual Void exitFieldDef(FieldDef def)

Source

Callback when exiting a field definition.

exitFinally

virtual Void exitFinally(TryStmt stmt)

Source

Callback when exiting a finally block

exitMethodDef

virtual Void exitMethodDef(MethodDef def)

Source

Callback when exiting a method.

exitStmt

virtual Void exitStmt(Stmt stmt)

Source

Callback when exiting a stmt.

exitTypeDef

virtual Void exitTypeDef(TypeDef def)

Source

Callback when exiting a type definition.

exitUnit

virtual Void exitUnit(CompilationUnit unit)

Source

Callback when existing a compilation unit.

visitBlock

virtual Void visitBlock(Block block)

Source

Callback when visiting a block.

visitExpr

virtual Expr visitExpr(Expr expr)

Source

Call to visit an expression. Return expr or a new expression if doing a replacement for the expression in the abstract syntax tree.

visitFieldDef

virtual Void visitFieldDef(FieldDef def)

Source

Callback when visiting a field definition.

visitMethodDef

virtual Void visitMethodDef(MethodDef def)

Source

Callback when visiting a method.

visitStmt

virtual Stmt[]? visitStmt(Stmt stmt)

Source

Callback when visiting a stmt. Return a list to replace the statement with new statements, or return null to keep existing statement.

visitTypeDef

virtual Void visitTypeDef(TypeDef def)

Source

Callback when visiting a type definition.

walk

Void walk(Compiler c, VisitDepth depth)

Source

Peform a walk of the abstract syntax tree down to the specified depth.