private static class TypedScopeCreator.FirstOrderFunctionAnalyzer extends NodeTraversal.AbstractScopedCallback implements CompilerPass
Modifier and Type | Field and Description |
---|---|
private AbstractCompiler |
compiler |
private java.util.Map<Node,FunctionTypeBuilder.AstFunctionContents> |
data |
Constructor and Description |
---|
FirstOrderFunctionAnalyzer(AbstractCompiler compiler,
java.util.Map<Node,FunctionTypeBuilder.AstFunctionContents> outParam) |
Modifier and Type | Method and Description |
---|---|
void |
enterScope(NodeTraversal t)
Called immediately after entering a new scope.
|
void |
process(Node externs,
Node root)
Process the JS with root node root.
|
void |
visit(NodeTraversal t,
Node n,
Node parent)
Visits a node in postorder (after its children have been visited).
|
exitScope, shouldTraverse
private final AbstractCompiler compiler
private final java.util.Map<Node,FunctionTypeBuilder.AstFunctionContents> data
FirstOrderFunctionAnalyzer(AbstractCompiler compiler, java.util.Map<Node,FunctionTypeBuilder.AstFunctionContents> outParam)
public void process(Node externs, Node root)
CompilerPass
process
in interface CompilerPass
externs
- Top of external JS treeroot
- Top of JS treepublic void enterScope(NodeTraversal t)
NodeTraversal.ScopedCallback
enterScope
in interface NodeTraversal.ScopedCallback
enterScope
in class NodeTraversal.AbstractScopedCallback
public void visit(NodeTraversal t, Node n, Node parent)
NodeTraversal.Callback
Visits a node in postorder (after its children have been visited).
A node is visited only if all its parents should be traversed
(NodeTraversal.Callback.shouldTraverse(NodeTraversal, Node, Node)
).
Implementations can have side effects (e.g. modifying the parse tree).
visit
in interface NodeTraversal.Callback