diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsLoweringPhases.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsLoweringPhases.kt index 6a337443682..8953648aadf 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsLoweringPhases.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsLoweringPhases.kt @@ -637,86 +637,6 @@ private val cleanupLoweringPhase = makeBodyLoweringPhase( ) val loweringList = listOf( - scriptRemoveReceiverLowering, - validateIrBeforeLowering, - testGenerationPhase, - expectDeclarationsRemovingPhase, - stripTypeAliasDeclarationsPhase, - arrayConstructorPhase, - lateinitNullableFieldsPhase, - lateinitDeclarationLoweringPhase, - lateinitUsageLoweringPhase, - sharedVariablesLoweringPhase, - localClassesInInlineLambdasPhase, - localClassesInInlineFunctionsPhase, - localClassesExtractionFromInlineFunctionsPhase, - functionInliningPhase, - copyInlineFunctionBodyLoweringPhase, - createScriptFunctionsPhase, - callableReferenceLowering, - singleAbstractMethodPhase, - tailrecLoweringPhase, - enumClassConstructorLoweringPhase, - enumClassConstructorBodyLoweringPhase, - localDelegatedPropertiesLoweringPhase, - localDeclarationsLoweringPhase, - localClassExtractionPhase, - innerClassesLoweringPhase, - innerClassesMemberBodyLoweringPhase, - innerClassConstructorCallsLoweringPhase, - propertiesLoweringPhase, - primaryConstructorLoweringPhase, - delegateToPrimaryConstructorLoweringPhase, - annotationConstructorLowering, - initializersLoweringPhase, - initializersCleanupLoweringPhase, - kotlinNothingValueExceptionPhase, - // Common prefix ends - enumEntryInstancesLoweringPhase, - enumEntryInstancesBodyLoweringPhase, - enumClassCreateInitializerLoweringPhase, - enumEntryCreateGetInstancesFunsLoweringPhase, - enumSyntheticFunsLoweringPhase, - enumUsageLoweringPhase, - enumEntryRemovalLoweringPhase, - suspendFunctionsLoweringPhase, - propertyReferenceLoweringPhase, - interopCallableReferenceLoweringPhase, - returnableBlockLoweringPhase, - forLoopsLoweringPhase, - primitiveCompanionLoweringPhase, - propertyAccessorInlinerLoweringPhase, - foldConstantLoweringPhase, - privateMembersLoweringPhase, - privateMemberUsagesLoweringPhase, - defaultArgumentStubGeneratorPhase, - defaultArgumentPatchOverridesPhase, - defaultParameterInjectorPhase, - defaultParameterCleanerPhase, - jsDefaultCallbackGeneratorPhase, - removeInlineFunctionsWithReifiedTypeParametersLoweringPhase, - throwableSuccessorsLoweringPhase, - varargLoweringPhase, - multipleCatchesLoweringPhase, - bridgesConstructionPhase, - typeOperatorLoweringPhase, - secondaryConstructorLoweringPhase, - secondaryFactoryInjectorLoweringPhase, - classReferenceLoweringPhase, - inlineClassDeclarationLoweringPhase, - inlineClassUsageLoweringPhase, - autoboxingTransformerPhase, - blockDecomposerLoweringPhase, - constLoweringPhase, - objectDeclarationLoweringPhase, - objectUsageLoweringPhase, - captureStackTraceInThrowablesPhase, - callsLoweringPhase, - cleanupLoweringPhase, - validateIrAfterLowering -) - -val es6LoweringList = listOf( scriptRemoveReceiverLowering, validateIrBeforeLowering, testGenerationPhase, @@ -782,6 +702,7 @@ val es6LoweringList = listOf( multipleCatchesLoweringPhase, bridgesConstructionPhase, typeOperatorLoweringPhase, + secondaryConstructorLoweringPhase, secondaryFactoryInjectorLoweringPhase, classReferenceLoweringPhase, inlineClassDeclarationLoweringPhase, @@ -808,11 +729,3 @@ val jsPhases = namedIrModulePhase( acc.then(lowering.modulePhase) } ) - -val jsEs6Phases = namedIrModulePhase( - name = "ES6IrModuleLowering", - description = "ES6 IR module lowering", - lower = es6LoweringList.drop(1).fold(es6LoweringList[0].modulePhase) { acc: CompilerPhase, lowering -> - acc.then(lowering.modulePhase) - } -) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compiler.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compiler.kt index ce819c2c3ef..f0425dae54e 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compiler.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compiler.kt @@ -98,8 +98,7 @@ fun compile( val transformer = IrModuleToJsTransformer(context, mainFunction, mainArguments) return transformer.generateModule(moduleFragment, fullJs = true, dceJs = false) } else { - val phases = if (es6mode) jsEs6Phases else jsPhases - phases.invokeToplevel(phaseConfig, context, moduleFragment) + jsPhases.invokeToplevel(phaseConfig, context, moduleFragment) val transformer = IrModuleToJsTransformer(context, mainFunction, mainArguments) return transformer.generateModule(moduleFragment, generateFullJs, generateDceJs) } diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ES6AddInternalParametersToConstructorPhase.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ES6AddInternalParametersToConstructorPhase.kt index 7058a9018bd..8748bec0614 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ES6AddInternalParametersToConstructorPhase.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ES6AddInternalParametersToConstructorPhase.kt @@ -55,7 +55,7 @@ class ES6AddInternalParametersToConstructorPhase(val context: JsIrBackendContext object ES6_RESULT_TYPE_PARAMETER : IrDeclarationOriginImpl("ES6_RESULT_TYPE_PARAMETER") override fun lower(irBody: IrBody, container: IrDeclaration) { - assert(context.es6mode) + if (!context.es6mode) return container.transform(CallSiteTransformer(), null) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ES6ConstructorLowering.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ES6ConstructorLowering.kt index 1d8660f2f9e..d3eccfb77aa 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ES6ConstructorLowering.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ES6ConstructorLowering.kt @@ -29,7 +29,7 @@ object ES6_THIS_VARIABLE_ORIGIN : IrDeclarationOriginImpl("ES6_THIS_VARIABLE_ORI class ES6ConstructorLowering(val context: JsIrBackendContext) : BodyLoweringPass { override fun lower(irBody: IrBody, container: IrDeclaration) { - assert(context.es6mode) + if (!context.es6mode) return if (container !is IrConstructor) return diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/SecondaryCtorLowering.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/SecondaryCtorLowering.kt index 52bae86fd67..54004b364ed 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/SecondaryCtorLowering.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/SecondaryCtorLowering.kt @@ -34,7 +34,7 @@ import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid class SecondaryConstructorLowering(val context: JsIrBackendContext) : DeclarationTransformer { override fun transformFlat(declaration: IrDeclaration): List? { - assert(!context.es6mode) + if (context.es6mode) return null if (declaration is IrConstructor && !declaration.isPrimary) { val irClass = declaration.parentAsClass diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicIrBoxTest.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicIrBoxTest.kt index f84b3a41c6d..36998041d56 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicIrBoxTest.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicIrBoxTest.kt @@ -107,20 +107,19 @@ abstract class BasicIrBoxTest( if (isMainModule) { val debugMode = getBoolean("kotlin.js.debugMode") - val phases = if (runEs6Mode) jsEs6Phases else jsPhases val phaseConfig = if (debugMode) { - val allPhasesSet = phases.toPhaseMap().values.toSet() + val allPhasesSet = jsPhases.toPhaseMap().values.toSet() val dumpOutputDir = File(outputFile.parent, outputFile.nameWithoutExtension + "-irdump") println("\n ------ Dumping phases to file://$dumpOutputDir") PhaseConfig( - phases, + jsPhases, dumpToDirectory = dumpOutputDir.path, toDumpStateAfter = allPhasesSet, toValidateStateAfter = allPhasesSet, dumpOnlyFqName = null ) } else { - PhaseConfig(phases) + PhaseConfig(jsPhases) } if (!skipRegularMode) {