class RewriteBindThis extends NodeTraversal.AbstractPostOrderCallback implements CompilerPass
| Modifier and Type | Field and Description |
|---|---|
(package private) AbstractCompiler |
compiler |
| Constructor and Description |
|---|
RewriteBindThis(AbstractCompiler compiler) |
| Modifier and Type | Method and Description |
|---|---|
private boolean |
canRewriteBinding(Node functionNode) |
private boolean |
hasBindThisCall(Node functionNode) |
void |
process(Node externs,
Node root)
Process the JS with root node root.
|
private void |
rewriteBinding(Node functionNode) |
void |
visit(NodeTraversal traversal,
Node node,
Node parent)
Visits a node in postorder (after its children have been visited).
|
shouldTraverseAbstractCompiler compiler
RewriteBindThis(AbstractCompiler compiler)
public void process(Node externs, Node root)
CompilerPassprocess in interface CompilerPassexterns - Top of external JS treeroot - Top of JS treepublic void visit(NodeTraversal traversal, Node node, Node parent)
NodeTraversal.CallbackVisits 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.Callbackprivate boolean hasBindThisCall(Node functionNode)
private boolean canRewriteBinding(Node functionNode)
private void rewriteBinding(Node functionNode)