Class CAstVisitor<C extends CAstVisitor.Context>
java.lang.Object
com.ibm.wala.cast.tree.visit.CAstVisitor<C>
- Direct Known Subclasses:
AstTranslator
,CAstPattern.Matcher
,DelegatingCAstVisitor
,ExposedNamesCollector
- Author:
- Igor Peshansky Ripped out of Julian's AstTranslator TODO: document me.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
This interface represents a visitor-specific context. -
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
doVisit
(CAstNode n, C context, CAstVisitor<C> visitor) Node processing hook; sub-classes are expected to override if they introduce new node types.protected boolean
doVisitArrayRefNode
(CAstNode n, CAstNode v, CAstNode a, boolean assign, boolean preOp, C context, CAstVisitor<C> visitor) Process the given array reference node.protected boolean
doVisitAssignNodes
(CAstNode n, C context, CAstNode v, CAstNode a, CAstVisitor<C> visitor) Node processing hook; sub-classes are expected to override if they introduce new node types that appear on the left hand side of assignment operations.protected boolean
doVisitEntity
(CAstEntity n, C context, CAstVisitor<C> visitor) Entity processing hook; sub-classes are expected to override if they introduce new entity types.protected boolean
enterEntity
(CAstEntity n, C context, CAstVisitor<C> visitor) Enter the entity visitor.protected boolean
enterNode
(CAstNode n, C c, CAstVisitor<C> visitor) Enter the node visitor.protected C
getCodeContext
(C context) protected CAstEntity
getParent
(CAstEntity entity) Get the parent entity for a given entity.protected void
leaveArrayLength
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an ArrayLength node.protected void
leaveArrayLiteral
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a ArrayLiteral node.protected void
leaveArrayLiteralAssign
(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit an array literal Assignment node after visiting the LHS.protected void
leaveArrayLiteralInitElement
(CAstNode n, int i, C c, CAstVisitor<C> visitor) Visit an ArrayLiteral node after processing the {i}th element initializer.protected void
leaveArrayLiteralObject
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an ArrayLiteral node after processing the array object.protected void
leaveArrayRef
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an ArrayRef node.protected void
leaveArrayRefAssign
(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit an ArrayRef Assignment node after visiting the LHS.protected void
leaveArrayRefAssignOp
(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor<C> visitor) Visit an ArrayRef Op/Assignment node after visiting the LHS.protected void
leaveAssert
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an InstanceOf node.void
leaveAssign
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an Assign node.protected void
leaveBinaryExpr
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a BinaryExpr node.protected void
leaveBlockExpr
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a BlockExpr node.protected void
leaveBlockExprAssign
(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit a BlockExpr Assignment node after visiting the LHS.protected void
leaveBlockExprAssignOp
(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor<C> visitor) Visit a BlockExpr Op/Assignment node after visiting the LHS.protected void
leaveBlockStmt
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a BlockStmt node.protected void
leaveCall
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a Call node.protected void
leaveCast
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a Cast node.protected void
leaveCatch
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a Catch node.protected void
leaveClassStmt
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a FunctionStmt node.protected void
leaveConstant
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a Constant node.protected void
leaveDeclStmt
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a DeclStmt node.protected void
leaveEachElementGet
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an FOR_EACH_ELEMENT_GET node.protected void
leaveEachElementHasNext
(CAstNode n, C c, CAstVisitor<C> visitor) protected void
leaveEcho
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an ECHO node.protected void
leaveEmpty
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an Empty node.void
leaveEntity
(CAstEntity n, C context, CAstVisitor<C> visitor) Leave any entity.protected void
leaveFieldEntity
(CAstEntity n, C context, CAstVisitor<C> visitor) Leave a Field entity.protected void
leaveFileEntity
(CAstEntity n, C context, C fileContext, CAstVisitor<C> visitor) Leave a File entity.protected void
leaveForIn
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a For..In node.protected void
leaveFunctionEntity
(CAstEntity n, C context, C codeContext, CAstVisitor<C> visitor) Leave a Function entity.protected void
leaveFunctionExpr
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a FunctionExpr node.protected void
leaveFunctionStmt
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a FunctionStmt node.protected void
leaveGetCaughtException
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a GetCaughtException node.protected void
leaveGlobalEntity
(CAstEntity n, C context, CAstVisitor<C> visitor) Leave a Field entity.protected void
leaveGoto
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a Goto node.protected void
leaveIfExpr
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an IfExpr node.protected void
leaveIfExprCondition
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an IfExpr node after processing the condition.protected void
leaveIfExprTrueClause
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an IfExpr node after processing the true clause.protected void
leaveIfgoto
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an Ifgoto node.protected void
leaveIfStmt
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an IfStmt node.protected void
leaveIfStmtCondition
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an IfStmt node after processing the condition.protected void
leaveIfStmtTrueClause
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an IfStmt node after processing the true clause.protected void
leaveInclude
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an INCLUDE node.protected void
leaveInstanceOf
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an InstanceOf node.protected void
leaveIsDefinedExpr
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an IS_DEFINED_EXPR node.protected void
leaveLabelStmt
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a LabelStmt node.protected void
leaveLocalScope
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a LocalScope node.protected void
leaveLoop
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a Loop node.protected void
leaveLoopHeader
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Loop node after processing the loop header.protected void
leaveMacroEntity
(CAstEntity n, C context, C codeContext, CAstVisitor<C> visitor) Leave a Macro entity.protected void
leaveMacroVar
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an MACRO_VAR node.protected void
leaveNew
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a New node.void
leaveNode
(CAstNode n, C c, CAstVisitor<C> visitor) Leave any node.protected void
leaveObjectLiteral
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an ObjectLiteral node.protected void
leaveObjectLiteralAssign
(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit an array literal Assignment node after visiting the LHS.protected void
leaveObjectLiteralFieldInit
(CAstNode n, int i, C c, CAstVisitor<C> visitor) Visit an ObjectLiteral node after processing the {i}th field initializer.protected void
leaveObjectRef
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an ObjectRef node.protected void
leaveObjectRefAssign
(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit an ObjectRef Assignment node after visiting the LHS.protected void
leaveObjectRefAssignOp
(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor<C> visitor) Visit an ObjectRef Op/Assignment node after visiting the LHS.protected void
leavePrimitive
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a Primitive node.protected void
leaveReturn
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a Return node.protected void
leaveScriptEntity
(CAstEntity n, C context, C codeContext, CAstVisitor<C> visitor) Leave a Script entity.protected void
leaveSpecialParentScope
(CAstNode n, C context, CAstVisitor<C> visitor) protected void
leaveSuper
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a Super node.protected void
leaveSwitch
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a Switch node.protected void
leaveSwitchValue
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Switch node after processing the switch value.protected void
leaveThis
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a This node.protected void
leaveThrow
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a Throw node.protected void
leaveTry
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a Try node.protected void
leaveTryBlock
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Try node after processing the try block.protected void
leaveTypeEntity
(CAstEntity n, C context, C typeContext, CAstVisitor<C> visitor) Leave a Type entity.protected void
leaveTypeLiteralExpr
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an TYPE_LITERAL_EXPR node.protected void
leaveUnaryExpr
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a UnaryExpr node.protected void
leaveUnwind
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an Unwind node.protected void
leaveVar
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a Var node.protected void
leaveVarAssign
(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit a Var Assignment node after visiting the LHS.protected void
leaveVarAssignOp
(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor<C> visitor) Visit a Var Op/Assignment node after visiting the LHS.protected void
leaveVoid
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a Void node.protected void
leaveYield
(CAstNode n, C c, CAstVisitor<C> visitor) Leave a Return node.protected C
makeCodeContext
(C context, CAstEntity n) Construct a context for a Code entity.protected C
makeFileContext
(C context, CAstEntity n) Construct a context for a File entity.protected C
makeLocalContext
(C context, CAstNode n) Construct a context for a LocalScope node.protected C
makeSpecialParentContext
(C context, CAstNode n) protected C
makeTypeContext
(C context, CAstEntity n) Construct a context for a Type entity.protected C
makeUnwindContext
(C context, CAstNode n, CAstVisitor<C> visitor) Construct a context for an Unwind node.protected void
postProcessEntity
(CAstEntity n, C context, CAstVisitor<C> visitor) Post-process an entity after visiting it.protected void
postProcessNode
(CAstNode n, C c, CAstVisitor<C> visitor) Post-process a node after visiting it.protected void
setParent
(CAstEntity entity, CAstEntity parent) Set the parent entity for a given entity.final void
visit
(CAstNode n, C context, CAstVisitor<C> visitor) Recursively visit a given node.final void
visitAllChildren
(CAstNode n, C context, CAstVisitor<C> visitor) Visit all children of a node.protected boolean
visitArrayLength
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an ArrayLength node.protected boolean
visitArrayLiteral
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an ArrayLiteral node.protected boolean
visitArrayLiteralAssign
(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit an array literal Assignment node after visiting the RHS.protected boolean
visitArrayRef
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an ArrayRef node.protected boolean
visitArrayRefAssign
(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit an ArrayRef Assignment node after visiting the RHS.protected boolean
visitArrayRefAssignOp
(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor<C> visitor) Visit an ArrayRef Op/Assignment node after visiting the RHS.protected boolean
visitAssert
(CAstNode n, C c, CAstVisitor<C> visitor) boolean
visitAssign
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an Assign node.protected boolean
visitAssignNodes
(CAstNode n, C context, CAstNode v, CAstNode a, CAstVisitor<C> visitor) protected boolean
visitBinaryExpr
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a BinaryExpr node.protected boolean
visitBlockExpr
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a BlockExpr node.protected boolean
visitBlockExprAssign
(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit a BlockExpr Assignment node after visiting the RHS.protected boolean
visitBlockExprAssignOp
(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor<C> visitor) Visit a BlockExpr Op/Assignment node after visiting the RHS.protected boolean
visitBlockStmt
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a BlockStmt node.protected boolean
visitCall
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Call node.protected boolean
visitCast
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Cast node.protected boolean
visitCatch
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Catch node.final void
visitChildren
(CAstNode n, int start, C context, CAstVisitor<C> visitor) Visit children of a node starting at a given index.protected boolean
visitClassStmt
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a FunctionStmt node.protected boolean
visitConstant
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Constant node.protected boolean
visitDeclStmt
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a DeclStmt node.protected boolean
visitEachElementGet
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an InstanceOf node.protected boolean
visitEachElementHasNext
(CAstNode n, C c, CAstVisitor<C> visitor) Leave an InstanceOf node.protected boolean
visitEcho
(CAstNode n, C c, CAstVisitor<C> visitor) protected boolean
visitEmpty
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an Empty node.final void
visitEntities
(CAstEntity n, C context, CAstVisitor<C> visitor) Recursively visit an entity.boolean
visitEntity
(CAstEntity n, C context, CAstVisitor<C> visitor) Visit any entity.protected boolean
visitFieldEntity
(CAstEntity n, C context, CAstVisitor<C> visitor) Visit a Field entity.protected boolean
visitFileEntity
(CAstEntity n, C context, C fileC, CAstVisitor<C> visitor) Visit a File entity.protected boolean
visitForIn
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a For..In node.protected boolean
visitFunctionEntity
(CAstEntity n, C context, C codeContext, CAstVisitor<C> visitor) Visit a Function entity.protected boolean
visitFunctionExpr
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a FunctionExpr node.protected boolean
visitFunctionStmt
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a FunctionStmt node.protected boolean
visitGetCaughtException
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a GetCaughtException node.protected boolean
visitGlobalEntity
(CAstEntity n, C context, CAstVisitor<C> visitor) Visit a Field entity.protected boolean
visitGoto
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Goto node.protected boolean
visitIfExpr
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an IfExpr node.protected boolean
visitIfgoto
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an Ifgoto node.protected boolean
visitIfStmt
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an IfStmt node.protected boolean
visitInclude
(CAstNode n, C c, CAstVisitor<C> visitor) protected boolean
visitInstanceOf
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an InstanceOf node.protected boolean
visitIsDefinedExpr
(CAstNode n, C c, CAstVisitor<C> visitor) protected boolean
visitLabelStmt
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a LabelStmt node.protected boolean
visitLocalScope
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a LocalScope node.protected boolean
visitLoop
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Loop node.protected boolean
visitMacroEntity
(CAstEntity n, C context, C codeContext, CAstVisitor<C> visitor) Visit a Macro entity.protected boolean
visitMacroVar
(CAstNode n, C c, CAstVisitor<C> visitor) protected boolean
visitNew
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a New node.boolean
visitNode
(CAstNode n, C c, CAstVisitor<C> visitor) Visit any node.protected boolean
visitObjectLiteral
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an ObjectLiteral node.protected boolean
visitObjectLiteralAssign
(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit an array literal Assignment node after visiting the RHS.protected boolean
visitObjectRef
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an ObjectRef node.protected boolean
visitObjectRefAssign
(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit an ObjectRef Assignment node after visiting the RHS.protected boolean
visitObjectRefAssignOp
(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor<C> visitor) Visit an ObjectRef Op/Assignment node after visiting the RHS.protected boolean
visitPrimitive
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Primitive node.protected boolean
visitReturn
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Return node.final void
visitScopedEntities
(CAstEntity n, Iterator<CAstEntity> i, C context, CAstVisitor<C> visitor) final void
visitScopedEntities
(CAstEntity n, Map<CAstNode, Collection<CAstEntity>> allScopedEntities, C context, CAstVisitor<C> visitor) Visit scoped entities of an entity using a given iterator.protected boolean
visitScriptEntity
(CAstEntity n, C context, C codeContext, CAstVisitor<C> visitor) Visit a Script entity.protected boolean
visitSpecialParentScope
(CAstNode n, C context, CAstVisitor<C> visitor) protected boolean
visitSuper
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Super node.protected boolean
visitSwitch
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Switch node.protected boolean
visitThis
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a This node.protected boolean
visitThrow
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Throw node.protected boolean
visitTry
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Try node.protected boolean
visitTypeEntity
(CAstEntity n, C context, C typeContext, CAstVisitor<C> visitor) Visit a Type entity.protected boolean
visitTypeLiteralExpr
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an TYPE_LITERAL_EXPR node.protected boolean
visitUnaryExpr
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a UnaryExpr node.protected boolean
visitUnwind
(CAstNode n, C c, CAstVisitor<C> visitor) Visit an Unwind node.protected boolean
visitVar
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Var node.protected boolean
visitVarAssign
(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit a Var Assignment node after visiting the RHS.protected boolean
visitVarAssignOp
(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor<C> visitor) Visit a Var Op/Assignment node after visiting the RHS.protected boolean
visitVoid
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Void node.protected boolean
visitYield
(CAstNode n, C c, CAstVisitor<C> visitor) Visit a Return node.
-
Field Details
-
DEBUG
public static boolean DEBUG -
currentPosition
-
-
Constructor Details
-
CAstVisitor
protected CAstVisitor()
-
-
Method Details
-
getCurrentPosition
-
makeFileContext
Construct a context for a File entity.- Parameters:
context
- a visitor-specific context in which this file was visitedn
- the file entity
-
makeTypeContext
Construct a context for a Type entity.- Parameters:
context
- a visitor-specific context in which this type was visitedn
- the type entity
-
makeCodeContext
Construct a context for a Code entity.- Parameters:
context
- a visitor-specific context in which the code was visitedn
- the code entity
-
makeLocalContext
-
makeUnwindContext
Construct a context for an Unwind node.- Parameters:
context
- a visitor-specific context in which the unwind was visitedn
- the unwind node
-
getParent
Get the parent entity for a given entity.- Parameters:
entity
- the child entity- Returns:
- the parent entity for the given entity
-
setParent
Set the parent entity for a given entity.- Parameters:
entity
- the child entityparent
- the parent entity
-
doVisitEntity
Entity processing hook; sub-classes are expected to override if they introduce new entity types. Should invoke super.doVisitEntity() for unprocessed entities.- Returns:
- true if entity was handled
-
visitScopedEntities
public final void visitScopedEntities(CAstEntity n, Map<CAstNode, Collection<CAstEntity>> allScopedEntities, C context, CAstVisitor<C> visitor) Visit scoped entities of an entity using a given iterator. Prerequisite (unchecked): i iterates over entities scoped in n.- Parameters:
n
- the parent entity of the entities to processcontext
- a visitor-specific context
-
visitScopedEntities
public final void visitScopedEntities(CAstEntity n, Iterator<CAstEntity> i, C context, CAstVisitor<C> visitor) -
getCodeContext
-
visitEntities
Recursively visit an entity.- Parameters:
n
- the entity to processcontext
- a visitor-specific context
-
enterEntity
Enter the entity visitor.- Parameters:
n
- the entity to processcontext
- a visitor-specific context- Returns:
- true if no further processing is needed
-
postProcessEntity
Post-process an entity after visiting it.- Parameters:
n
- the entity to processcontext
- a visitor-specific context
-
visitEntity
Visit any entity. Override only this to change behavior for all entities.- Parameters:
n
- the entity to processcontext
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveEntity
Leave any entity. Override only this to change behavior for all entities.- Parameters:
n
- the entity to processcontext
- a visitor-specific context
-
visitFileEntity
Visit a File entity.- Parameters:
n
- the entity to processcontext
- a visitor-specific contextfileC
- a visitor-specific context for this file- Returns:
- true if no further processing is needed
-
leaveFileEntity
Leave a File entity.- Parameters:
n
- the entity to processcontext
- a visitor-specific contextfileContext
- a visitor-specific context for this file
-
visitFieldEntity
Visit a Field entity.- Parameters:
n
- the entity to processcontext
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveFieldEntity
Leave a Field entity.- Parameters:
n
- the entity to processcontext
- a visitor-specific context
-
visitGlobalEntity
Visit a Field entity.- Parameters:
n
- the entity to processcontext
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveGlobalEntity
Leave a Field entity.- Parameters:
n
- the entity to processcontext
- a visitor-specific context
-
visitTypeEntity
Visit a Type entity.- Parameters:
n
- the entity to processcontext
- a visitor-specific contexttypeContext
- a visitor-specific context for this type- Returns:
- true if no further processing is needed
-
leaveTypeEntity
Leave a Type entity.- Parameters:
n
- the entity to processcontext
- a visitor-specific contexttypeContext
- a visitor-specific context for this type
-
visitFunctionEntity
protected boolean visitFunctionEntity(CAstEntity n, C context, C codeContext, CAstVisitor<C> visitor) Visit a Function entity.- Parameters:
n
- the entity to processcontext
- a visitor-specific contextcodeContext
- a visitor-specific context for this function- Returns:
- true if no further processing is needed
-
leaveFunctionEntity
Leave a Function entity.- Parameters:
n
- the entity to processcontext
- a visitor-specific contextcodeContext
- a visitor-specific context for this function
-
visitMacroEntity
Visit a Macro entity.- Parameters:
n
- the entity to processcontext
- a visitor-specific contextcodeContext
- a visitor-specific context for this macro- Returns:
- true if no further processing is needed
-
leaveMacroEntity
Leave a Macro entity.- Parameters:
n
- the entity to processcontext
- a visitor-specific contextcodeContext
- a visitor-specific context for this macro
-
visitScriptEntity
Visit a Script entity.- Parameters:
n
- the entity to processcontext
- a visitor-specific contextcodeContext
- a visitor-specific context for this script- Returns:
- true if no further processing is needed
-
leaveScriptEntity
Leave a Script entity.- Parameters:
n
- the entity to processcontext
- a visitor-specific contextcodeContext
- a visitor-specific context for this script
-
doVisit
Node processing hook; sub-classes are expected to override if they introduce new node types.(Should invoke super.doVisit() for unprocessed nodes.)
- Returns:
- true if node was handled
-
doVisitAssignNodes
protected boolean doVisitAssignNodes(CAstNode n, C context, CAstNode v, CAstNode a, CAstVisitor<C> visitor) Node processing hook; sub-classes are expected to override if they introduce new node types that appear on the left hand side of assignment operations.(Should invoke super.doVisit() for unprocessed nodes.)
- Returns:
- true if node was handled
-
visitChildren
Visit children of a node starting at a given index.- Parameters:
n
- the parent node of the nodes to processstart
- the starting index of the nodes to processcontext
- a visitor-specific context
-
visitAllChildren
Visit all children of a node.- Parameters:
n
- the parent node of the nodes to processcontext
- a visitor-specific context
-
visit
Recursively visit a given node. TODO: do assertions about structure belong here?- Parameters:
n
- the node to processcontext
- a visitor-specific context
-
leaveSpecialParentScope
-
makeSpecialParentContext
-
visitSpecialParentScope
-
doVisitArrayRefNode
protected boolean doVisitArrayRefNode(CAstNode n, CAstNode v, CAstNode a, boolean assign, boolean preOp, C context, CAstVisitor<C> visitor) Process the given array reference node. Factored out so that derived languages can reuse this code for specially-marked types of array references (as in X10, for which different instruction types get generated, but whose structure is essentially the same as an ordinary array reference). -
visitAssignNodes
-
enterNode
Enter the node visitor.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
postProcessNode
Post-process a node after visiting it.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitNode
Visit any node. Override only this to change behavior for all nodes.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveNode
Leave any node. Override only this to change behavior for all nodes.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitFunctionExpr
Visit a FunctionExpr node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveFunctionExpr
Leave a FunctionExpr node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitFunctionStmt
Visit a FunctionStmt node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveFunctionStmt
Leave a FunctionStmt node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitClassStmt
Visit a FunctionStmt node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveClassStmt
Leave a FunctionStmt node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitLocalScope
Visit a LocalScope node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveLocalScope
Leave a LocalScope node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitBlockExpr
Visit a BlockExpr node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveBlockExpr
Leave a BlockExpr node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitBlockStmt
Visit a BlockStmt node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveBlockStmt
Leave a BlockStmt node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitLoop
Visit a Loop node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
visitForIn
Visit a For..In node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveLoopHeader
Visit a Loop node after processing the loop header.- Parameters:
n
- the node to processc
- a visitor-specific context
-
leaveLoop
Leave a Loop node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
leaveForIn
Leave a For..In node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitGetCaughtException
Visit a GetCaughtException node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveGetCaughtException
Leave a GetCaughtException node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitThis
Visit a This node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveThis
Leave a This node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitSuper
Visit a Super node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveSuper
Leave a Super node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitCall
Visit a Call node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveCall
Leave a Call node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitVar
Visit a Var node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveVar
Leave a Var node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitConstant
Visit a Constant node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveConstant
Leave a Constant node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitBinaryExpr
Visit a BinaryExpr node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveBinaryExpr
Leave a BinaryExpr node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitUnaryExpr
Visit a UnaryExpr node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveUnaryExpr
Leave a UnaryExpr node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitArrayLength
Visit an ArrayLength node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveArrayLength
Leave an ArrayLength node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitArrayRef
Visit an ArrayRef node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveArrayRef
Leave an ArrayRef node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitDeclStmt
Visit a DeclStmt node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveDeclStmt
Leave a DeclStmt node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitReturn
Visit a Return node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveReturn
Leave a Return node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitYield
Visit a Return node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveYield
Leave a Return node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitIfgoto
Visit an Ifgoto node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveIfgoto
Leave an Ifgoto node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitGoto
Visit a Goto node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveGoto
Leave a Goto node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitLabelStmt
Visit a LabelStmt node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveLabelStmt
Leave a LabelStmt node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitIfStmt
Visit an IfStmt node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveIfStmtCondition
Visit an IfStmt node after processing the condition.- Parameters:
n
- the node to processc
- a visitor-specific context
-
leaveIfStmtTrueClause
Visit an IfStmt node after processing the true clause.- Parameters:
n
- the node to processc
- a visitor-specific context
-
leaveIfStmt
Leave an IfStmt node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitIfExpr
Visit an IfExpr node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveIfExprCondition
Visit an IfExpr node after processing the condition.- Parameters:
n
- the node to processc
- a visitor-specific context
-
leaveIfExprTrueClause
Visit an IfExpr node after processing the true clause.- Parameters:
n
- the node to processc
- a visitor-specific context
-
leaveIfExpr
Leave an IfExpr node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitNew
Visit a New node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveNew
Leave a New node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitObjectLiteral
Visit an ObjectLiteral node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveObjectLiteralFieldInit
Visit an ObjectLiteral node after processing the {i}th field initializer.- Parameters:
n
- the node to processi
- the field position that was initializedc
- a visitor-specific context
-
leaveObjectLiteral
Leave an ObjectLiteral node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitArrayLiteral
Visit an ArrayLiteral node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveArrayLiteralObject
Visit an ArrayLiteral node after processing the array object.- Parameters:
n
- the node to processc
- a visitor-specific context
-
leaveArrayLiteralInitElement
Visit an ArrayLiteral node after processing the {i}th element initializer.- Parameters:
n
- the node to processi
- the index that was initializedc
- a visitor-specific context
-
leaveArrayLiteral
Leave a ArrayLiteral node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitObjectRef
Visit an ObjectRef node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveObjectRef
Leave an ObjectRef node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitAssign
Visit an Assign node. Override only this to change behavior for all assignment nodes.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveAssign
Leave an Assign node. Override only this to change behavior for all assignment nodes.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitArrayRefAssign
protected boolean visitArrayRefAssign(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit an ArrayRef Assignment node after visiting the RHS.- Parameters:
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveArrayRefAssign
-
visitArrayRefAssignOp
protected boolean visitArrayRefAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor<C> visitor) Visit an ArrayRef Op/Assignment node after visiting the RHS.- Parameters:
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processpre
- whether the value before the operation should be usedc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveArrayRefAssignOp
protected void leaveArrayRefAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor<C> visitor) Visit an ArrayRef Op/Assignment node after visiting the LHS.- Parameters:
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processpre
- whether the value before the operation should be usedc
- a visitor-specific context
-
visitObjectRefAssign
protected boolean visitObjectRefAssign(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit an ObjectRef Assignment node after visiting the RHS.- Parameters:
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveObjectRefAssign
-
visitObjectRefAssignOp
protected boolean visitObjectRefAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor<C> visitor) Visit an ObjectRef Op/Assignment node after visiting the RHS.- Parameters:
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processpre
- whether the value before the operation should be usedc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveObjectRefAssignOp
protected void leaveObjectRefAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor<C> visitor) Visit an ObjectRef Op/Assignment node after visiting the LHS.- Parameters:
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processpre
- whether the value before the operation should be usedc
- a visitor-specific context
-
visitBlockExprAssign
protected boolean visitBlockExprAssign(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit a BlockExpr Assignment node after visiting the RHS.- Parameters:
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveBlockExprAssign
-
visitBlockExprAssignOp
protected boolean visitBlockExprAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor<C> visitor) Visit a BlockExpr Op/Assignment node after visiting the RHS.- Parameters:
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processpre
- whether the value before the operation should be usedc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveBlockExprAssignOp
protected void leaveBlockExprAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor<C> visitor) Visit a BlockExpr Op/Assignment node after visiting the LHS.- Parameters:
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processpre
- whether the value before the operation should be usedc
- a visitor-specific context
-
visitVarAssign
Visit a Var Assignment node after visiting the RHS.- Parameters:
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveVarAssign
-
visitArrayLiteralAssign
protected boolean visitArrayLiteralAssign(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit an array literal Assignment node after visiting the RHS.- Parameters:
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveArrayLiteralAssign
protected void leaveArrayLiteralAssign(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit an array literal Assignment node after visiting the LHS.- Parameters:
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processc
- a visitor-specific context
-
visitObjectLiteralAssign
protected boolean visitObjectLiteralAssign(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit an array literal Assignment node after visiting the RHS.- Parameters:
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveObjectLiteralAssign
protected void leaveObjectLiteralAssign(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor<C> visitor) Visit an array literal Assignment node after visiting the LHS.- Parameters:
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processc
- a visitor-specific context
-
visitVarAssignOp
protected boolean visitVarAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor<C> visitor) Visit a Var Op/Assignment node after visiting the RHS.- Parameters:
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processpre
- whether the value before the operation should be usedc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveVarAssignOp
protected void leaveVarAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor<C> visitor) Visit a Var Op/Assignment node after visiting the LHS.- Parameters:
n
- the LHS node to processv
- the RHS node to processa
- the assignment node to processpre
- whether the value before the operation should be usedc
- a visitor-specific context
-
visitSwitch
Visit a Switch node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveSwitchValue
Visit a Switch node after processing the switch value.- Parameters:
n
- the node to processc
- a visitor-specific context
-
leaveSwitch
Leave a Switch node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitThrow
Visit a Throw node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveThrow
Leave a Throw node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitCatch
Visit a Catch node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveCatch
Leave a Catch node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitUnwind
Visit an Unwind node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveUnwind
Leave an Unwind node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitTry
Visit a Try node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveTryBlock
Visit a Try node after processing the try block.- Parameters:
n
- the node to processc
- a visitor-specific context
-
leaveTry
Leave a Try node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitEmpty
Visit an Empty node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveEmpty
Leave an Empty node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitPrimitive
Visit a Primitive node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leavePrimitive
Leave a Primitive node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitVoid
Visit a Void node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveVoid
Leave a Void node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitCast
Visit a Cast node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveCast
Leave a Cast node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitInstanceOf
Visit an InstanceOf node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveInstanceOf
Leave an InstanceOf node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
leaveAssert
Visit an InstanceOf node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitAssert
-
visitEachElementHasNext
Leave an InstanceOf node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
leaveEachElementHasNext
-
visitEachElementGet
Visit an InstanceOf node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveEachElementGet
Leave an FOR_EACH_ELEMENT_GET node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitTypeLiteralExpr
Visit an TYPE_LITERAL_EXPR node.- Parameters:
n
- the node to processc
- a visitor-specific context- Returns:
- true if no further processing is needed
-
leaveTypeLiteralExpr
Leave an TYPE_LITERAL_EXPR node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitIsDefinedExpr
-
leaveIsDefinedExpr
Leave an IS_DEFINED_EXPR node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitEcho
-
leaveEcho
Leave an ECHO node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitInclude
-
leaveInclude
Leave an INCLUDE node.- Parameters:
n
- the node to processc
- a visitor-specific context
-
visitMacroVar
-
leaveMacroVar
Leave an MACRO_VAR node.- Parameters:
n
- the node to processc
- a visitor-specific context
-