From ef4acee6c7af78ff9a30d6f1785ed07cff5aa7f4 Mon Sep 17 00:00:00 2001 From: aljimenez Date: Tue, 24 Apr 2018 09:16:46 -0700 Subject: [PATCH] Rollback "Moves J2CL pass to run before ES6 generator re-writing." ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=194097002 --- .../google/javascript/jscomp/DefaultPassConfig.java | 10 ++++++---- src/com/google/javascript/jscomp/FunctionInjector.java | 8 -------- src/com/google/javascript/jscomp/J2clPass.java | 2 +- 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/com/google/javascript/jscomp/DefaultPassConfig.java b/src/com/google/javascript/jscomp/DefaultPassConfig.java index 9a297207b86..cc75f858399 100644 --- a/src/com/google/javascript/jscomp/DefaultPassConfig.java +++ b/src/com/google/javascript/jscomp/DefaultPassConfig.java @@ -487,10 +487,6 @@ protected List getChecks() { if (options.j2clPassMode.shouldAddJ2clPasses()) { checks.add(j2clChecksPass); - // Needs to run before generator re-writing. - checks.add(j2clPass); - // Needs to run after processDefines - checks.add(j2clUtilGetDefineRewriterPass); } if (options.shouldRunTypeSummaryChecksLate()) { @@ -583,6 +579,12 @@ protected List getOptimizations() { passes.add(instrumentForCodeCoverage); } + // Should be run before runtimeTypeCheck. + if (options.j2clPassMode.shouldAddJ2clPasses()) { + passes.add(j2clPass); + passes.add(j2clUtilGetDefineRewriterPass); + } + // TODO(dimvar): convert this pass to use NTI. Low priority since it's // mostly unused. Converting it shouldn't block switching to NTI. if (options.runtimeTypeCheck && !options.getNewTypeInference()) { diff --git a/src/com/google/javascript/jscomp/FunctionInjector.java b/src/com/google/javascript/jscomp/FunctionInjector.java index 89ab4b63a27..bd11ed714b4 100644 --- a/src/com/google/javascript/jscomp/FunctionInjector.java +++ b/src/com/google/javascript/jscomp/FunctionInjector.java @@ -270,14 +270,6 @@ public boolean apply(Node input) { */ Node inline(Reference ref, String fnName, Node fnNode) { checkState(compiler.getLifeCycleStage().isNormalized()); - return unsafeInline(ref, fnName, fnNode); - } - - /** - * Inline a function into the call site. Note that this unsafe version doesn't verify if the AST - * is normalized. You should use {@link inline} instead. - */ - Node unsafeInline(Reference ref, String fnName, Node fnNode) { Node result; if (ref.mode == InliningMode.DIRECT) { result = inlineReturnValue(ref, fnNode); diff --git a/src/com/google/javascript/jscomp/J2clPass.java b/src/com/google/javascript/jscomp/J2clPass.java index 88ea4ae22df..af1145e2ce8 100644 --- a/src/com/google/javascript/jscomp/J2clPass.java +++ b/src/com/google/javascript/jscomp/J2clPass.java @@ -185,7 +185,7 @@ public void visit(NodeTraversal t, Node n, Node parent) { // Otherwise inline the call. Node inlinedCall = - injector.unsafeInline( + injector.inline( new Reference(n, t.getScope(), t.getModule(), inliningMode), fnName, fnImpl); t.getCompiler().reportChangeToEnclosingScope(inlinedCall); }