com.google.javascript.jscomp.NodeTraversal.AbstractPostOrderCallback Java Examples
The following examples show how to use
com.google.javascript.jscomp.NodeTraversal.AbstractPostOrderCallback.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: VariableVisibilityAnalysisTest.java From astor with GNU General Public License v2.0 | 6 votes |
private Node searchForParameter(final String parameterName) { Preconditions.checkArgument(parameterName != null); final Node[] foundNode = new Node[1]; AbstractPostOrderCallback findParameter = new AbstractPostOrderCallback() { @Override public void visit(NodeTraversal t, Node n, Node parent) { if (n.getParent().isParamList() && parameterName.equals(n.getString())) { foundNode[0] = n; } } }; new NodeTraversal(lastCompiler, findParameter) .traverse(lastCompiler.jsRoot); return foundNode[0]; }
Example #2
Source File: VariableVisibilityAnalysisTest.java From astor with GNU General Public License v2.0 | 6 votes |
private Node searchForFunction(final String functionName) { Preconditions.checkArgument(functionName != null); final Node[] foundNode = new Node[1]; AbstractPostOrderCallback findFunction = new AbstractPostOrderCallback() { @Override public void visit(NodeTraversal t, Node n, Node parent) { if (n.isFunction() && functionName.equals(NodeUtil.getFunctionName(n))) { foundNode[0] = n; } } }; new NodeTraversal(lastCompiler, findFunction) .traverse(lastCompiler.jsRoot); return foundNode[0]; }
Example #3
Source File: CallGraph.java From astor with GNU General Public License v2.0 | 5 votes |
/** * Creates {@link Function}s and {@link Callsite}s in a single * AST traversal. */ private void createFunctionsAndCallsites(Node jsRoot, final DefinitionProvider provider) { // Create fake function representing global execution mainFunction = createFunction(jsRoot); NodeTraversal.traverse(compiler, jsRoot, new AbstractPostOrderCallback() { @Override public void visit(NodeTraversal t, Node n, Node parent) { int nodeType = n.getType(); if (nodeType == Token.CALL || nodeType == Token.NEW) { Callsite callsite = createCallsite(n); Node containingFunctionNode = t.getScopeRoot(); Function containingFunction = functionsByNode.get(containingFunctionNode); if (containingFunction == null) { containingFunction = createFunction(containingFunctionNode); } callsite.containingFunction = containingFunction; containingFunction.addCallsiteInFunction(callsite); connectCallsiteToTargets(callsite, provider); } else if (n.isFunction()) { if (!functionsByNode.containsKey(n)) { createFunction(n); } } } }); }
Example #4
Source File: NormalizeTest.java From astor with GNU General Public License v2.0 | 5 votes |
private Set<Node> findNodesWithProperty(Node root, final int prop) { final Set<Node> set = Sets.newHashSet(); NodeTraversal.traverse( getLastCompiler(), root, new AbstractPostOrderCallback() { @Override public void visit(NodeTraversal t, Node node, Node parent) { if (node.getBooleanProp(prop)) { set.add(node); } } }); return set; }
Example #5
Source File: VarCheckTest.java From astor with GNU General Public License v2.0 | 5 votes |
@Override public void process(Node externs, Node root) { NodeTraversal.traverseRoots(compiler, Lists.newArrayList(externs, root), new AbstractPostOrderCallback() { @Override public void visit(NodeTraversal t, Node n, Node parent) { if (n.isName() && !parent.isFunction() && !parent.isLabel()) { assertTrue("Variable " + n.getString() + " should have be declared", t.getScope().isDeclared(n.getString(), true)); } } }); }