[K/JS, K/N, K/Wasm] Fix more general case of the ^KT-61929 issue

This commit is contained in:
Artem Kobzar
2024-01-02 12:18:34 +00:00
committed by Space Team
parent 4609b11102
commit da4c6dd443
5 changed files with 88 additions and 7 deletions
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.ir.util.resolveFakeOverride
import org.jetbrains.kotlin.ir.visitors.acceptVoid
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.name.NameUtils
import org.jetbrains.kotlin.utils.filterIsInstanceAnd
private var patchParentPhases = 0
@@ -154,6 +155,9 @@ internal val localDeclarationsPhase = makeIrFilePhase(
JvmVisibilityPolicy(),
compatibilityModeForInlinedLocalDelegatedPropertyAccessors = true,
forceFieldsForInlineCaptures = true,
getConstructorsThatCouldCaptureParamsWithoutFieldCreating = {
declarations.filterIsInstanceAnd<IrConstructor> { it.delegationKind(context.irBuiltIns) == ConstructorDelegationKind.CALLS_SUPER }
},
postLocalDeclarationLoweringCallback = context.localDeclarationsLoweringData?.let {
{ data ->
data.localFunctions.forEach { (localFunction, localContext) ->