@Override public void process(Node externs, Node root) { SimpleDefinitionFinder defFinder = new SimpleDefinitionFinder(compiler); defFinder.process(externs, root); // Gather the list of function nodes that have @nosideeffects annotations. // For use by SetNoSideEffectCallProperty. NodeTraversal.traverseEs6( compiler, externs, new GatherNoSideEffectFunctions(true)); NodeTraversal.traverseEs6( compiler, root, new GatherNoSideEffectFunctions(false)); NodeTraversal.traverseEs6(compiler, root, new SetNoSideEffectCallProperty(defFinder)); }
@Override public void process(Node externs, Node root) { NameBasedDefinitionProvider defFinder = new NameBasedDefinitionProvider(compiler, false); defFinder.process(externs, root); // Gather the list of function nodes that have @nosideeffects annotations. // For use by SetNoSideEffectCallProperty. NodeTraversal.traverse( compiler, externs, new GatherNoSideEffectFunctions()); NodeTraversal.traverse( compiler, root, new GatherNoSideEffectFunctions()); NodeTraversal.traverse(compiler, root, new SetNoSideEffectCallProperty(defFinder)); }