diff --git a/src/com/google/javascript/jscomp/DefaultPassConfig.java b/src/com/google/javascript/jscomp/DefaultPassConfig.java index 26216efbf9e..e1c5fe963cd 100644 --- a/src/com/google/javascript/jscomp/DefaultPassConfig.java +++ b/src/com/google/javascript/jscomp/DefaultPassConfig.java @@ -482,9 +482,6 @@ protected PassListBuilder getChecks() { checks.maybeAdd(removeSyntheticScript); } else if (!options.checksOnly) { checks.maybeAdd(mergeSyntheticScript); - if (options.j2clPassMode.shouldAddJ2clPasses()) { - checks.maybeAdd(j2clPass); - } // At this point all checks have been done. if (options.exportTestFunctions) { checks.maybeAdd(exportTestFunctions); @@ -559,6 +556,10 @@ protected PassListBuilder getOptimizations() { // This is expected to do nothing when in a monolithic build passes.maybeAdd(removeUnnecessarySyntheticExterns); + if (options.j2clPassMode.shouldAddJ2clPasses()) { + passes.maybeAdd(j2clPass); + } + TranspilationPasses.addTranspilationRuntimeLibraries(passes); if (options.rewritePolyfills || options.getIsolatePolyfills()) { @@ -1286,11 +1287,6 @@ private void assertValidOrderForChecks(PassListBuilder checks) { gatherModuleMetadataPass, checkMissingRequires, "Need to gather module information before checking for missing requires."); - - checks.assertPassOrder( - j2clPass, - TranspilationPasses.rewriteGenerators, - "J2CL normalization should be done before generator re-writing."); } /** @@ -1301,6 +1297,11 @@ private void assertValidOrderForChecks(PassListBuilder checks) { * @param optimizations The list of optimization passes */ private void assertValidOrderForOptimizations(PassListBuilder optimizations) { + optimizations.assertPassOrder( + j2clPass, + TranspilationPasses.rewriteGenerators, + "J2CL normalization should be done before generator re-writing."); + optimizations.assertPassOrder( TranspilationPasses.rewritePolyfills, processDefinesOptimize,