@Override public void hotSwapScript(Node scriptRoot, Node originalRoot) { shouldAddTypesOnNewAstNodes = getShouldAddTypesOnNewAstNodes(); NodeTraversal.traverse(compiler, scriptRoot, new CollectUndeclaredNames()); NodeTraversal.traverse(compiler, scriptRoot, this); NodeTraversal.traverse(compiler, scriptRoot, new Es6RenameReferences(renameTable)); LoopClosureTransformer transformer = new LoopClosureTransformer(); NodeTraversal.traverse(compiler, scriptRoot, transformer); transformer.transformLoopClosure(); rewriteDeclsToVars(); TranspilationPasses.maybeMarkFeaturesAsTranspiledAway(compiler, transpiledFeatures); }
@Override public void process(Node externs, Node root) { shouldAddTypesOnNewAstNodes = getShouldAddTypesOnNewAstNodes(); NodeTraversal.traverse(compiler, root, new CollectUndeclaredNames()); NodeTraversal.traverse(compiler, root, this); // Needed for let / const declarations in .d.ts externs. TranspilationPasses.processTranspile(compiler, externs, transpiledFeatures, this); NodeTraversal.traverse(compiler, root, new Es6RenameReferences(renameTable)); LoopClosureTransformer transformer = new LoopClosureTransformer(); NodeTraversal.traverse(compiler, root, transformer); transformer.transformLoopClosure(); rewriteDeclsToVars(); TranspilationPasses.maybeMarkFeaturesAsTranspiledAway(compiler, transpiledFeatures); }