[K/JS] Allow declare inline functions inside external declarations with a million suppresses ^KT-48154 Fixed

This commit is contained in:
Artem Kobzar
2023-04-13 08:53:57 +00:00
committed by Space Team
parent 09bccd272d
commit c695da1bed
7 changed files with 56 additions and 3 deletions
@@ -20,7 +20,9 @@ import org.jetbrains.kotlin.ir.backend.js.codegen.JsGenerationGranularity
import org.jetbrains.kotlin.ir.backend.js.lower.*
import org.jetbrains.kotlin.ir.backend.js.lower.calls.CallsLowering
import org.jetbrains.kotlin.ir.backend.js.lower.cleanup.CleanupLowering
import org.jetbrains.kotlin.ir.backend.js.lower.coroutines.*
import org.jetbrains.kotlin.ir.backend.js.lower.coroutines.AddContinuationToFunctionCallsLowering
import org.jetbrains.kotlin.ir.backend.js.lower.coroutines.JsSuspendArityStoreLowering
import org.jetbrains.kotlin.ir.backend.js.lower.coroutines.JsSuspendFunctionsLowering
import org.jetbrains.kotlin.ir.backend.js.lower.inline.*
import org.jetbrains.kotlin.ir.declarations.IrFile
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
@@ -278,7 +280,7 @@ private val saveInlineFunctionsBeforeInlining = makeDeclarationTransformerPhase(
)
private val functionInliningPhase = makeBodyLoweringPhase(
{ FunctionInlining(it, JsInlineFunctionResolver(it), it.innerClassesSupport) },
{ FunctionInlining(it, JsInlineFunctionResolver(it), it.innerClassesSupport, allowExternalInlining = true) },
name = "FunctionInliningPhase",
description = "Perform function inlining",
prerequisite = setOf(saveInlineFunctionsBeforeInlining)