From b4730c7b0af2d55cedea342515fd7a98b06a7383 Mon Sep 17 00:00:00 2001 From: lharker Date: Wed, 5 Jul 2023 13:23:13 -0700 Subject: [PATCH] Move the J2clPass from late checks to early optimizations It was originallly in checks to allow it to run before generator transpilation, but generator transpilation has since been moved to the optimizations phase. PiperOrigin-RevId: 545769000 --- .../javascript/jscomp/DefaultPassConfig.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) 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,