[JS IR] run RemoveInlineFunctionsWithReifiedTypeParametersLowering earlier

It's required to avoid extracting local classes declarations and leaking some references to inline function internals.
This commit is contained in:
Zalim Bashorov
2020-12-07 20:04:06 +03:00
parent bc9828f3f3
commit da8dacb495
@@ -1,5 +1,5 @@
/* /*
* Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors. * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/ */
@@ -704,6 +704,7 @@ val loweringList = listOf<Lowering>(
localClassesExtractionFromInlineFunctionsPhase, localClassesExtractionFromInlineFunctionsPhase,
functionInliningPhase, functionInliningPhase,
copyInlineFunctionBodyLoweringPhase, copyInlineFunctionBodyLoweringPhase,
removeInlineFunctionsWithReifiedTypeParametersLoweringPhase,
createScriptFunctionsPhase, createScriptFunctionsPhase,
callableReferenceLowering, callableReferenceLowering,
singleAbstractMethodPhase, singleAbstractMethodPhase,
@@ -750,7 +751,6 @@ val loweringList = listOf<Lowering>(
defaultParameterInjectorPhase, defaultParameterInjectorPhase,
defaultParameterCleanerPhase, defaultParameterCleanerPhase,
jsDefaultCallbackGeneratorPhase, jsDefaultCallbackGeneratorPhase,
removeInlineFunctionsWithReifiedTypeParametersLoweringPhase,
throwableSuccessorsLoweringPhase, throwableSuccessorsLoweringPhase,
es6AddInternalParametersToConstructorPhase, es6AddInternalParametersToConstructorPhase,
es6ConstructorLowering, es6ConstructorLowering,