Class TranslatorNodeVisitor<T extends LexicalContext, R>
java.lang.Object
com.oracle.js.parser.ir.visitor.TranslatorNodeVisitor<T,R>
- Type Parameters:
T- lexical context class used by this visitorR- return type
- Direct Known Subclasses:
JavaScriptTranslator
Visitor used to navigate the IR.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionenterAccessNode(AccessNode accessNode) Callback for entering an AccessNodeenterBinaryNode(BinaryNode binaryNode) Callback for entering a BinaryNodeenterBlock(Block block) Callback for entering a BlockenterBlockExpression(BlockExpression blockExpression) Callback for entering a BlockExpressionenterBlockStatement(BlockStatement blockStatement) Callback for entering a BlockStatemententerBreakNode(BreakNode breakNode) Callback for entering a BreakNodeenterCallNode(CallNode callNode) Callback for entering a CallNodeenterCaseNode(CaseNode caseNode) Callback for entering a CaseNodeenterCatchNode(CatchNode catchNode) Callback for entering a CatchNodeenterClassElement(ClassElement element) Callback for entering a ClassElemententerClassNode(ClassNode classNode) Callback for entering a ClassNodeenterContinueNode(ContinueNode continueNode) Callback for entering a ContinueNodeenterDebuggerNode(DebuggerNode debuggerNode) Callback for entering a DebuggerNodeprotected RenterDefault(Node node) Override this method to do a double inheritance pattern, e.g.enterEmptyNode(EmptyNode emptyNode) Callback for entering an EmptyNodeenterErrorNode(ErrorNode errorNode) Callback for entering an ErrorNodeenterExportNode(ExportNode exportNode) enterExportSpecifierNode(ExportSpecifierNode exportSpecifierNode) enterExpressionStatement(ExpressionStatement expressionStatement) Callback for entering an ExpressionStatemententerForNode(ForNode forNode) Callback for entering a ForNodeenterFunctionNode(FunctionNode functionNode) Callback for entering a FunctionNodeenterIdentNode(IdentNode identNode) Callback for entering an IdentNodeenterIfNode(IfNode ifNode) Callback for entering an IfNodeenterImportClauseNode(ImportClauseNode importClauseNode) enterImportNode(ImportNode importNode) enterImportSpecifierNode(ImportSpecifierNode importSpecifierNode) enterIndexNode(IndexNode indexNode) Callback for entering an IndexNodeCallback for entering aJoinPredecessorExpression.enterLabelNode(LabelNode labelNode) Callback for entering a LabelNodeenterLiteralNode(LiteralNode<?> literalNode) Callback for entering a LiteralNodeenterNamedExportsNode(NamedExportsNode exportClauseNode) enterNamedImportsNode(NamedImportsNode namedImportsNode) enterNameSpaceImportNode(NameSpaceImportNode nameSpaceImportNode) enterObjectNode(ObjectNode objectNode) Callback for entering an ObjectNodeenterParameterNode(ParameterNode paramNode) Callback for entering a ParameterNodeenterPropertyNode(PropertyNode propertyNode) Callback for entering a PropertyNodeenterReturnNode(ReturnNode returnNode) Callback for entering a ReturnNodeenterSwitchNode(SwitchNode switchNode) Callback for entering a SwitchNodeenterTemplateLiteralNode(TemplateLiteralNode templateLiteralNode) Callback for entering a TemplateLiteralNodeenterTernaryNode(TernaryNode ternaryNode) Callback for entering a TernaryNodeenterThrowNode(ThrowNode throwNode) Callback for entering a ThrowNodeenterTryNode(TryNode tryNode) Callback for entering a TryNodeenterUnaryNode(UnaryNode unaryNode) Callback for entering a UnaryNodeenterVarNode(VarNode varNode) Callback for entering a VarNodeenterWhileNode(WhileNode whileNode) Callback for entering a WhileNodeenterWithNode(WithNode withNode) Callback for entering a WithNodefinal TGet the lexical context of this node visitor
-
Field Details
-
lc
lexical context in use
-
-
Constructor Details
-
TranslatorNodeVisitor
-
-
Method Details
-
getLexicalContext
Get the lexical context of this node visitor- Returns:
- lexical context
-
enterDefault
Override this method to do a double inheritance pattern, e.g. avoid usingif (x instanceof NodeTypeA) { ... } else if (x instanceof NodeTypeB) { ... } else { ... }Use a NodeVisitor instead, and this method contents forms the else case.- Parameters:
node- the node to visit- Returns:
- true if traversal should continue and node children be traversed, false otherwise
-
enterAccessNode
Callback for entering an AccessNode- Parameters:
accessNode- the node- Returns:
- true if traversal should continue and node children be traversed, false otherwise
-
enterBlock
-
enterBinaryNode
Callback for entering a BinaryNode- Parameters:
binaryNode- the node- Returns:
- processed node
-
enterBreakNode
-
enterCallNode
-
enterCaseNode
-
enterCatchNode
-
enterContinueNode
Callback for entering a ContinueNode- Parameters:
continueNode- the node- Returns:
- true if traversal should continue and node children be traversed, false otherwise
-
enterDebuggerNode
Callback for entering a DebuggerNode- Parameters:
debuggerNode- the node- Returns:
- true if traversal should continue and node children be traversed, false otherwise
-
enterEmptyNode
-
enterErrorNode
-
enterNamedExportsNode
-
enterExportNode
-
enterExportSpecifierNode
-
enterExpressionStatement
Callback for entering an ExpressionStatement- Parameters:
expressionStatement- the node- Returns:
- true if traversal should continue and node children be traversed, false otherwise
-
enterBlockStatement
Callback for entering a BlockStatement- Parameters:
blockStatement- the node- Returns:
- true if traversal should continue and node children be traversed, false otherwise
-
enterForNode
-
enterFunctionNode
Callback for entering a FunctionNode- Parameters:
functionNode- the node- Returns:
- true if traversal should continue and node children be traversed, false otherwise
-
enterIdentNode
-
enterIfNode
-
enterImportClauseNode
-
enterImportNode
-
enterImportSpecifierNode
-
enterIndexNode
-
enterLabelNode
-
enterLiteralNode
Callback for entering a LiteralNode- Parameters:
literalNode- the node- Returns:
- true if traversal should continue and node children be traversed, false otherwise
-
enterNameSpaceImportNode
-
enterNamedImportsNode
-
enterObjectNode
Callback for entering an ObjectNode- Parameters:
objectNode- the node- Returns:
- true if traversal should continue and node children be traversed, false otherwise
-
enterPropertyNode
Callback for entering a PropertyNode- Parameters:
propertyNode- the node- Returns:
- true if traversal should continue and node children be traversed, false otherwise
-
enterReturnNode
Callback for entering a ReturnNode- Parameters:
returnNode- the node- Returns:
- true if traversal should continue and node children be traversed, false otherwise
-
enterSwitchNode
Callback for entering a SwitchNode- Parameters:
switchNode- the node- Returns:
- true if traversal should continue and node children be traversed, false otherwise
-
enterTernaryNode
Callback for entering a TernaryNode- Parameters:
ternaryNode- the node- Returns:
- true if traversal should continue and node children be traversed, false otherwise
-
enterThrowNode
-
enterTryNode
-
enterUnaryNode
-
enterJoinPredecessorExpression
Callback for entering aJoinPredecessorExpression.- Parameters:
expr- the join predecessor expression- Returns:
- true if traversal should continue and node children be traversed, false otherwise
-
enterVarNode
-
enterWhileNode
-
enterWithNode
-
enterClassNode
-
enterBlockExpression
Callback for entering a BlockExpression- Parameters:
blockExpression- the node- Returns:
- true if traversal should continue and node children be traversed, false otherwise
-
enterParameterNode
Callback for entering a ParameterNode- Parameters:
paramNode- the node
-
enterTemplateLiteralNode
Callback for entering a TemplateLiteralNode- Parameters:
templateLiteralNode- the node
-
enterClassElement
Callback for entering a ClassElement- Parameters:
element- the node
-