T - lexical context class used by this visitorpublic abstract class NodeVisitor<T extends LexicalContext> extends Object
| Constructor and Description |
|---|
NodeVisitor(T lc)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
enterAccessNode(AccessNode accessNode)
Callback for entering an AccessNode
|
boolean |
enterBinaryNode(BinaryNode binaryNode)
Callback for entering a BinaryNode
|
boolean |
enterBlock(Block block)
Callback for entering a Block
|
boolean |
enterBlockExpression(BlockExpression blockExpression)
Callback for entering a BlockExpression
|
boolean |
enterBlockStatement(BlockStatement blockStatement)
Callback for entering a BlockStatement
|
boolean |
enterBreakNode(BreakNode breakNode)
Callback for entering a BreakNode
|
boolean |
enterCallNode(CallNode callNode)
Callback for entering a CallNode
|
boolean |
enterCaseNode(CaseNode caseNode)
Callback for entering a CaseNode
|
boolean |
enterCatchNode(CatchNode catchNode)
Callback for entering a CatchNode
|
boolean |
enterClassElement(ClassElement element)
Callback for entering a ClassElement
|
boolean |
enterClassNode(ClassNode classNode)
Callback for entering a ClassNode
|
boolean |
enterContinueNode(ContinueNode continueNode)
Callback for entering a ContinueNode
|
boolean |
enterDebuggerNode(DebuggerNode debuggerNode)
Callback for entering a DebuggerNode
|
protected boolean |
enterDefault(Node node)
Override this method to do a double inheritance pattern, e.g.
|
boolean |
enterEmptyNode(EmptyNode emptyNode)
Callback for entering an EmptyNode
|
boolean |
enterErrorNode(ErrorNode errorNode)
Callback for entering an ErrorNode
|
boolean |
enterExportNode(ExportNode exportNode) |
boolean |
enterExportSpecifierNode(ExportSpecifierNode exportSpecifierNode) |
boolean |
enterExpressionStatement(ExpressionStatement expressionStatement)
Callback for entering an ExpressionStatement
|
boolean |
enterForNode(ForNode forNode)
Callback for entering a ForNode
|
boolean |
enterFromNode(FromNode fromNode) |
boolean |
enterFunctionNode(FunctionNode functionNode)
Callback for entering a FunctionNode
|
boolean |
enterIdentNode(IdentNode identNode)
Callback for entering an IdentNode
|
boolean |
enterIfNode(IfNode ifNode)
Callback for entering an IfNode
|
boolean |
enterImportClauseNode(ImportClauseNode importClauseNode) |
boolean |
enterImportNode(ImportNode importNode) |
boolean |
enterImportSpecifierNode(ImportSpecifierNode importSpecifierNode) |
boolean |
enterIndexNode(IndexNode indexNode)
Callback for entering an IndexNode
|
boolean |
enterJoinPredecessorExpression(JoinPredecessorExpression expr)
Callback for entering a
JoinPredecessorExpression. |
boolean |
enterLabelNode(LabelNode labelNode)
Callback for entering a LabelNode
|
boolean |
enterLiteralNode(LiteralNode<?> literalNode)
Callback for entering a LiteralNode
|
boolean |
enterNamedExportsNode(NamedExportsNode exportClauseNode) |
boolean |
enterNamedImportsNode(NamedImportsNode namedImportsNode) |
boolean |
enterNameSpaceImportNode(NameSpaceImportNode nameSpaceImportNode) |
boolean |
enterObjectNode(ObjectNode objectNode)
Callback for entering an ObjectNode
|
boolean |
enterParameterNode(ParameterNode paramNode)
Callback for entering a ParameterNode
|
boolean |
enterPropertyNode(PropertyNode propertyNode)
Callback for entering a PropertyNode
|
boolean |
enterReturnNode(ReturnNode returnNode)
Callback for entering a ReturnNode
|
boolean |
enterSwitchNode(SwitchNode switchNode)
Callback for entering a SwitchNode
|
boolean |
enterTemplateLiteralNode(TemplateLiteralNode templateLiteralNode)
Callback for entering a TemplateLiteralNode
|
boolean |
enterTernaryNode(TernaryNode ternaryNode)
Callback for entering a TernaryNode
|
boolean |
enterThrowNode(ThrowNode throwNode)
Callback for entering a ThrowNode
|
boolean |
enterTryNode(TryNode tryNode)
Callback for entering a TryNode
|
boolean |
enterUnaryNode(UnaryNode unaryNode)
Callback for entering a UnaryNode
|
boolean |
enterVarNode(VarNode varNode)
Callback for entering a VarNode
|
boolean |
enterWhileNode(WhileNode whileNode)
Callback for entering a WhileNode
|
boolean |
enterWithNode(WithNode withNode)
Callback for entering a WithNode
|
T |
getLexicalContext()
Get the lexical context of this node visitor
|
Node |
leaveAccessNode(AccessNode accessNode)
Callback for entering an AccessNode
|
Node |
leaveBinaryNode(BinaryNode binaryNode)
Callback for leaving a BinaryNode
|
Node |
leaveBlock(Block block)
Callback for leaving a Block
|
Node |
leaveBlockExpression(BlockExpression blockExpression)
Callback for leaving a BlockExpression
|
Node |
leaveBlockStatement(BlockStatement blockStatement)
Callback for leaving a BlockStatement
|
Node |
leaveBreakNode(BreakNode breakNode)
Callback for leaving a BreakNode
|
Node |
leaveCallNode(CallNode callNode)
Callback for leaving a CallNode
|
Node |
leaveCaseNode(CaseNode caseNode)
Callback for leaving a CaseNode
|
Node |
leaveCatchNode(CatchNode catchNode)
Callback for leaving a CatchNode
|
Node |
leaveClassElement(ClassElement element)
Callback for leaving a ClassElement
|
Node |
leaveClassNode(ClassNode classNode)
Callback for leaving a ClassNode
|
Node |
leaveContinueNode(ContinueNode continueNode)
Callback for leaving a ContinueNode
|
Node |
leaveDebuggerNode(DebuggerNode debuggerNode)
Callback for leaving a DebuggerNode
|
protected Node |
leaveDefault(Node node)
Override this method to do a double inheritance pattern, e.g.
|
Node |
leaveEmptyNode(EmptyNode emptyNode)
Callback for leaving an EmptyNode
|
Node |
leaveErrorNode(ErrorNode errorNode)
Callback for leaving an ErrorNode
|
Node |
leaveExportNode(ExportNode exportNode) |
Node |
leaveExportSpecifierNode(ExportSpecifierNode exportSpecifierNode) |
Node |
leaveExpressionStatement(ExpressionStatement expressionStatement)
Callback for leaving an ExpressionStatement
|
Node |
leaveForNode(ForNode forNode)
Callback for leaving a ForNode
|
Node |
leaveFromNode(FromNode fromNode) |
Node |
leaveFunctionNode(FunctionNode functionNode)
Callback for leaving a FunctionNode
|
Node |
leaveIdentNode(IdentNode identNode)
Callback for leaving an IdentNode
|
Node |
leaveIfNode(IfNode ifNode)
Callback for leaving an IfNode
|
Node |
leaveImportClauseNode(ImportClauseNode importClauseNode) |
Node |
leaveImportNode(ImportNode importNode) |
Node |
leaveImportSpecifierNode(ImportSpecifierNode importSpecifierNode) |
Node |
leaveIndexNode(IndexNode indexNode)
Callback for leaving an IndexNode
|
Node |
leaveJoinPredecessorExpression(JoinPredecessorExpression expr)
Callback for leaving a
JoinPredecessorExpression. |
Node |
leaveLabelNode(LabelNode labelNode)
Callback for leaving a LabelNode
|
Node |
leaveLiteralNode(LiteralNode<?> literalNode)
Callback for leaving a LiteralNode
|
Node |
leaveNamedExportsNode(NamedExportsNode exportClauseNode) |
Node |
leaveNamedImportsNode(NamedImportsNode namedImportsNode) |
Node |
leaveNameSpaceImportNode(NameSpaceImportNode nameSpaceImportNode) |
Node |
leaveObjectNode(ObjectNode objectNode)
Callback for leaving an ObjectNode
|
Node |
leaveParameterNode(ParameterNode paramNode)
Callback for leaving a ParameterNode
|
Node |
leavePropertyNode(PropertyNode propertyNode)
Callback for leaving a PropertyNode
|
Node |
leaveReturnNode(ReturnNode returnNode)
Callback for leaving a ReturnNode
|
Node |
leaveSwitchNode(SwitchNode switchNode)
Callback for leaving a SwitchNode
|
Node |
leaveTemplateLiteralNode(TemplateLiteralNode templateLiteralNode)
Callback for leaving a TemplateLiteralNode
|
Node |
leaveTernaryNode(TernaryNode ternaryNode)
Callback for leaving a TernaryNode
|
Node |
leaveThrowNode(ThrowNode throwNode)
Callback for leaving a ThrowNode
|
Node |
leaveTryNode(TryNode tryNode)
Callback for leaving a TryNode
|
Node |
leaveUnaryNode(UnaryNode unaryNode)
Callback for leaving a UnaryNode
|
Node |
leaveVarNode(VarNode varNode)
Callback for leaving a VarNode
|
Node |
leaveWhileNode(WhileNode whileNode)
Callback for leaving a WhileNode
|
Node |
leaveWithNode(WithNode withNode)
Callback for leaving a WithNode
|
protected final T extends LexicalContext lc
public NodeVisitor(T lc)
lc - a custom lexical contextpublic final T getLexicalContext()
protected boolean enterDefault(Node node)
if (x instanceof NodeTypeA) {
...
} else if (x instanceof NodeTypeB) {
...
} else {
...
}
Use a NodeVisitor instead, and this method contents forms the else case.node - the node to visitNodeVisitor.leaveDefault(Node)protected Node leaveDefault(Node node)
if (x instanceof NodeTypeA) {
...
} else if (x instanceof NodeTypeB) {
...
} else {
...
}
Use a NodeVisitor instead, and this method contents forms the else case.node - the node to visitNodeVisitor.enterDefault(Node)public boolean enterAccessNode(AccessNode accessNode)
accessNode - the nodepublic Node leaveAccessNode(AccessNode accessNode)
accessNode - the nodepublic boolean enterBlock(Block block)
block - the nodepublic Node leaveBlock(Block block)
block - the nodepublic boolean enterBinaryNode(BinaryNode binaryNode)
binaryNode - the nodepublic Node leaveBinaryNode(BinaryNode binaryNode)
binaryNode - the nodepublic boolean enterBreakNode(BreakNode breakNode)
breakNode - the nodepublic Node leaveBreakNode(BreakNode breakNode)
breakNode - the nodepublic boolean enterCallNode(CallNode callNode)
callNode - the nodepublic Node leaveCallNode(CallNode callNode)
callNode - the nodepublic boolean enterCaseNode(CaseNode caseNode)
caseNode - the nodepublic Node leaveCaseNode(CaseNode caseNode)
caseNode - the nodepublic boolean enterCatchNode(CatchNode catchNode)
catchNode - the nodepublic Node leaveCatchNode(CatchNode catchNode)
catchNode - the nodepublic boolean enterContinueNode(ContinueNode continueNode)
continueNode - the nodepublic Node leaveContinueNode(ContinueNode continueNode)
continueNode - the nodepublic boolean enterDebuggerNode(DebuggerNode debuggerNode)
debuggerNode - the nodepublic Node leaveDebuggerNode(DebuggerNode debuggerNode)
debuggerNode - the nodepublic boolean enterEmptyNode(EmptyNode emptyNode)
emptyNode - the nodepublic Node leaveEmptyNode(EmptyNode emptyNode)
emptyNode - the nodepublic boolean enterErrorNode(ErrorNode errorNode)
errorNode - the nodepublic Node leaveErrorNode(ErrorNode errorNode)
errorNode - the nodepublic boolean enterNamedExportsNode(NamedExportsNode exportClauseNode)
public Node leaveNamedExportsNode(NamedExportsNode exportClauseNode)
public boolean enterExportNode(ExportNode exportNode)
public Node leaveExportNode(ExportNode exportNode)
public boolean enterExportSpecifierNode(ExportSpecifierNode exportSpecifierNode)
public Node leaveExportSpecifierNode(ExportSpecifierNode exportSpecifierNode)
public boolean enterExpressionStatement(ExpressionStatement expressionStatement)
expressionStatement - the nodepublic Node leaveExpressionStatement(ExpressionStatement expressionStatement)
expressionStatement - the nodepublic boolean enterBlockStatement(BlockStatement blockStatement)
blockStatement - the nodepublic Node leaveBlockStatement(BlockStatement blockStatement)
blockStatement - the nodepublic boolean enterForNode(ForNode forNode)
forNode - the nodepublic Node leaveForNode(ForNode forNode)
forNode - the nodepublic boolean enterFromNode(FromNode fromNode)
public boolean enterFunctionNode(FunctionNode functionNode)
functionNode - the nodepublic Node leaveFunctionNode(FunctionNode functionNode)
functionNode - the nodepublic boolean enterIdentNode(IdentNode identNode)
identNode - the nodepublic Node leaveIdentNode(IdentNode identNode)
identNode - the nodepublic boolean enterIfNode(IfNode ifNode)
ifNode - the nodepublic Node leaveIfNode(IfNode ifNode)
ifNode - the nodepublic boolean enterImportClauseNode(ImportClauseNode importClauseNode)
public Node leaveImportClauseNode(ImportClauseNode importClauseNode)
public boolean enterImportNode(ImportNode importNode)
public Node leaveImportNode(ImportNode importNode)
public boolean enterImportSpecifierNode(ImportSpecifierNode importSpecifierNode)
public Node leaveImportSpecifierNode(ImportSpecifierNode importSpecifierNode)
public boolean enterIndexNode(IndexNode indexNode)
indexNode - the nodepublic Node leaveIndexNode(IndexNode indexNode)
indexNode - the nodepublic boolean enterLabelNode(LabelNode labelNode)
labelNode - the nodepublic Node leaveLabelNode(LabelNode labelNode)
labelNode - the nodepublic boolean enterLiteralNode(LiteralNode<?> literalNode)
literalNode - the nodepublic Node leaveLiteralNode(LiteralNode<?> literalNode)
literalNode - the nodepublic boolean enterNameSpaceImportNode(NameSpaceImportNode nameSpaceImportNode)
public Node leaveNameSpaceImportNode(NameSpaceImportNode nameSpaceImportNode)
public boolean enterNamedImportsNode(NamedImportsNode namedImportsNode)
public Node leaveNamedImportsNode(NamedImportsNode namedImportsNode)
public boolean enterObjectNode(ObjectNode objectNode)
objectNode - the nodepublic Node leaveObjectNode(ObjectNode objectNode)
objectNode - the nodepublic boolean enterPropertyNode(PropertyNode propertyNode)
propertyNode - the nodepublic Node leavePropertyNode(PropertyNode propertyNode)
propertyNode - the nodepublic boolean enterReturnNode(ReturnNode returnNode)
returnNode - the nodepublic Node leaveReturnNode(ReturnNode returnNode)
returnNode - the nodepublic boolean enterSwitchNode(SwitchNode switchNode)
switchNode - the nodepublic Node leaveSwitchNode(SwitchNode switchNode)
switchNode - the nodepublic boolean enterTernaryNode(TernaryNode ternaryNode)
ternaryNode - the nodepublic Node leaveTernaryNode(TernaryNode ternaryNode)
ternaryNode - the nodepublic boolean enterThrowNode(ThrowNode throwNode)
throwNode - the nodepublic Node leaveThrowNode(ThrowNode throwNode)
throwNode - the nodepublic boolean enterTryNode(TryNode tryNode)
tryNode - the nodepublic Node leaveTryNode(TryNode tryNode)
tryNode - the nodepublic boolean enterUnaryNode(UnaryNode unaryNode)
unaryNode - the nodepublic Node leaveUnaryNode(UnaryNode unaryNode)
unaryNode - the nodepublic boolean enterJoinPredecessorExpression(JoinPredecessorExpression expr)
JoinPredecessorExpression.expr - the join predecessor expressionpublic Node leaveJoinPredecessorExpression(JoinPredecessorExpression expr)
JoinPredecessorExpression.expr - the join predecessor expressionpublic boolean enterVarNode(VarNode varNode)
varNode - the nodepublic Node leaveVarNode(VarNode varNode)
varNode - the nodepublic boolean enterWhileNode(WhileNode whileNode)
whileNode - the nodepublic Node leaveWhileNode(WhileNode whileNode)
whileNode - the nodepublic boolean enterWithNode(WithNode withNode)
withNode - the nodepublic Node leaveWithNode(WithNode withNode)
withNode - the nodepublic boolean enterClassNode(ClassNode classNode)
classNode - the nodepublic Node leaveClassNode(ClassNode classNode)
classNode - the nodepublic boolean enterBlockExpression(BlockExpression blockExpression)
blockExpression - the nodepublic Node leaveBlockExpression(BlockExpression blockExpression)
blockExpression - the nodepublic boolean enterParameterNode(ParameterNode paramNode)
paramNode - the nodepublic Node leaveParameterNode(ParameterNode paramNode)
paramNode - the nodepublic boolean enterTemplateLiteralNode(TemplateLiteralNode templateLiteralNode)
templateLiteralNode - the nodepublic Node leaveTemplateLiteralNode(TemplateLiteralNode templateLiteralNode)
templateLiteralNode - the nodepublic boolean enterClassElement(ClassElement element)
element - the nodepublic Node leaveClassElement(ClassElement element)
element - the node