private class CheckEventfulObjectDisposal.Traversal extends NodeTraversal.AbstractPostOrderCallback implements NodeTraversal.ScopedCallback
Modifier | Constructor and Description |
---|---|
private |
Traversal() |
Modifier and Type | Method and Description |
---|---|
private void |
addDisposeArgumentsMatched(java.util.Map<java.lang.String,java.util.List<java.lang.Integer>> map,
Node n,
java.lang.String property,
java.util.List<Node> foundDisposeCalls) |
private boolean |
createsEventfulObject(Node n) |
private JSType |
dereference(JSType type)
Dereference a type, autoboxing it and filtering out null.
|
void |
enterScope(NodeTraversal t)
Called immediately after entering a new scope.
|
private void |
eventfulObjectDisposed(NodeTraversal t,
Node variableNode) |
void |
exitScope(NodeTraversal t)
Called immediately before exiting a scope.
|
private Node |
localEventfulObjectAssign(NodeTraversal t,
Node propertyNode) |
private java.util.List<Node> |
maybeGetValueNodesFromCall(Node n) |
void |
visit(NodeTraversal t,
Node n,
Node parent)
Visits a node in postorder (after its children have been visited).
|
void |
visitAssign(NodeTraversal t,
Node n) |
private void |
visitCall(NodeTraversal t,
Node n) |
void |
visitFunction(NodeTraversal t,
Node n) |
private void |
visitNew(NodeTraversal t,
Node n,
Node parent) |
private void |
visitReturn(NodeTraversal t,
Node n) |
shouldTraverse
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
shouldTraverse
private boolean createsEventfulObject(Node n)
private Node localEventfulObjectAssign(NodeTraversal t, Node propertyNode)
private void visitNew(NodeTraversal t, Node n, Node parent)
private void addDisposeArgumentsMatched(java.util.Map<java.lang.String,java.util.List<java.lang.Integer>> map, Node n, java.lang.String property, java.util.List<Node> foundDisposeCalls)
private void visitCall(NodeTraversal t, Node n)
private JSType dereference(JSType type)
CheckAccessControls
public void visitFunction(NodeTraversal t, Node n)
public void visitAssign(NodeTraversal t, Node n)
private void visitReturn(NodeTraversal t, Node n)
private void eventfulObjectDisposed(NodeTraversal t, Node variableNode)
public void enterScope(NodeTraversal t)
NodeTraversal.ScopedCallback
enterScope
in interface NodeTraversal.ScopedCallback
public void exitScope(NodeTraversal t)
NodeTraversal.ScopedCallback
exitScope
in interface NodeTraversal.ScopedCallback
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