public final class CrossChunkReferenceCollector extends java.lang.Object implements NodeTraversal.ScopedCallback, CompilerPass
CrossChunkCodeMotion
.Modifier and Type | Method and Description |
---|---|
void |
enterScope(NodeTraversal t)
Updates block stack and invokes any additional behavior.
|
void |
exitScope(NodeTraversal t)
Updates block stack and invokes any additional behavior.
|
void |
process(Node root) |
void |
process(Node externs,
Node root)
Convenience method for running this pass over a tree with this
class as a callback.
|
boolean |
shouldTraverse(NodeTraversal nodeTraversal,
Node n,
Node parent)
Visits a node in pre order (before visiting its children) and decides
whether this node's children should be traversed.
|
void |
visit(NodeTraversal t,
Node n,
Node parent)
For each node, update the block stack and reference collection
as appropriate.
|
public void process(Node externs, Node root)
process
in interface CompilerPass
externs
- Top of external JS treeroot
- Top of JS treepublic void process(Node root)
public void visit(NodeTraversal t, Node n, Node parent)
visit
in interface NodeTraversal.Callback
public void enterScope(NodeTraversal t)
enterScope
in interface NodeTraversal.ScopedCallback
public void exitScope(NodeTraversal t)
exitScope
in interface NodeTraversal.ScopedCallback
public boolean shouldTraverse(NodeTraversal nodeTraversal, Node n, Node parent)
NodeTraversal.Callback
Visits a node in pre order (before visiting its children) and decides
whether this node's children should be traversed. If children are
traversed, they will be visited by
NodeTraversal.Callback.visit(NodeTraversal, Node, Node)
in postorder.
Implementations can have side effects (e.g. modifying the parse tree).
shouldTraverse
in interface NodeTraversal.Callback
Copyright © 2009-2020 Google. All Rights Reserved.