[Native] Always cast expression to the expected type after inline

Right now, during the process of inlining, the compiler erases types.
Because of that, we can end up with some random type
(for example, `Any`) where the concrete type was
expected (for example, `Int`). Compiler must insert a cast in the
required places.

#KT-66017 Fixed
This commit is contained in:
Ivan Kylchik
2024-03-06 14:38:17 +01:00
committed by Space Team
parent 555cf56d6d
commit e1180adfbd
27 changed files with 438 additions and 3 deletions
@@ -24744,12 +24744,30 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -24744,12 +24744,30 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -24667,12 +24667,30 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -24667,12 +24667,30 @@ public class FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGener
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -24667,12 +24667,30 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.ir.types.isUnit
import org.jetbrains.kotlin.ir.util.isSuspend
import org.jetbrains.kotlin.ir.util.render
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
data class TailSuspendCalls(val callSites: Set<IrCall>, val hasNotTailSuspendCalls: Boolean)
@@ -36,6 +37,14 @@ fun collectTailSuspendCalls(context: CommonBackendContext, irFunction: IrSimpleF
element.acceptChildren(this, VisitorState(data.insideTryBlock, isTailExpression = false))
}
override fun visitTypeOperator(expression: IrTypeOperatorCall, data: VisitorState) {
if (expression.operator == IrTypeOperator.IMPLICIT_CAST) {
expression.acceptChildren(this, data)
} else {
super.visitTypeOperator(expression, data)
}
}
override fun visitTry(aTry: IrTry, data: VisitorState) {
aTry.tryResult.accept(this, VisitorState(insideTryBlock = true, isTailExpression = false))
aTry.catches.forEach { it.result.accept(this, data) }
@@ -98,8 +107,12 @@ fun collectTailSuspendCalls(context: CommonBackendContext, irFunction: IrSimpleF
expression.acceptChildren(this, VisitorState(data.insideTryBlock, isTailExpression))
}
private fun IrExpression.isUnitRead(): Boolean =
this is IrGetObjectValue && symbol == context.irBuiltIns.unitClass
private fun IrExpression.isUnitRead(): Boolean {
if (this is IrTypeOperatorCall) {
return this.argument.isUnitRead()
}
return this is IrGetObjectValue && symbol == context.irBuiltIns.unitClass
}
private fun IrCall.isReturnIfSuspendedCall() =
symbol == context.ir.symbols.returnIfSuspended
@@ -0,0 +1,15 @@
class A<T>(val prop: T)
inline fun <T> A<T>.process(action: (T) -> Unit) {
action(prop)
}
inline fun acceptInt(p: Int, action: (Int) -> Unit) {
action(p)
}
fun box(): String {
var x = 0
A(1).process { acceptInt(it) { p -> x += p } }
return ('N' + x).toString() + "K"
}
+10
View File
@@ -0,0 +1,10 @@
// WITH_STDLIB
fun box(): String {
listOf(1).forEach { size ->
repeat(size) {
return "OK"
}
}
return "Fail"
}
@@ -0,0 +1,20 @@
// WITH_STDLIB
inline fun <T> Iterable<T>.myForEach(action: (T) -> Unit): Unit {
for (element in this) action(element)
}
inline fun myRepeat(times: Int, action: (Int) -> Unit) {
for (index in 0 until times) {
action(index)
}
}
fun box(): String {
listOf(1).myForEach { size ->
myRepeat(size) {
return "OK"
}
}
return "Fail"
}
@@ -24667,12 +24667,30 @@ public class JvmAbiConsistencyTestBoxGenerated extends AbstractJvmAbiConsistency
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -23431,6 +23431,24 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -24667,12 +24667,30 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -24667,12 +24667,30 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -24667,12 +24667,30 @@ public class FirBlackBoxCodegenTestWithInlineScopesGenerated extends AbstractFir
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -20683,11 +20683,26 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
runTest("compiler/testData/codegen/box/inline/lambdaAsAny.kt");
@@ -18811,12 +18811,30 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -18811,12 +18811,30 @@ public class FirJsES6CodegenBoxTestGenerated extends AbstractFirJsES6CodegenBoxT
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -18811,12 +18811,30 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -18811,12 +18811,30 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -347,7 +347,8 @@ private val inlinePhase = createFileLoweringPhase(
FunctionInlining(
context.context,
NativeInlineFunctionResolver(context.context, context),
alwaysCreateTemporaryVariablesForArguments = context.shouldContainDebugInfo()
alwaysCreateTemporaryVariablesForArguments = true,
insertAdditionalImplicitCasts = true,
).lower(irFile)
}
}
@@ -214,6 +214,7 @@ internal class VolatileFieldsLowering(val context: Context) : FileLoweringPass {
expectedReturn == null && expression is IrReturnableBlock -> getConstPropertyReference(expression.singleExpressionOrNull, expression.symbol)
expression is IrReturn && expression.returnTargetSymbol == expectedReturn -> getConstPropertyReference(expression.value, null)
expression is IrBlock -> getConstPropertyReference(expression.singleExpressionOrNull, expectedReturn)
expression is IrTypeOperatorCall && expression.operator == IrTypeOperator.IMPLICIT_CAST -> getConstPropertyReference(expression.argument, expectedReturn)
else -> null
}
}
@@ -20100,12 +20100,30 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -20530,12 +20530,30 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -19670,12 +19670,30 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -20101,12 +20101,30 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -18841,12 +18841,30 @@ public class FirWasmJsCodegenBoxTestGenerated extends AbstractFirWasmJsCodegenBo
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {
@@ -18841,12 +18841,30 @@ public class K1WasmCodegenBoxTestGenerated extends AbstractK1WasmCodegenBoxTest
runTest("compiler/testData/codegen/box/inline/inlineCtor.kt");
}
@Test
@TestMetadata("inlinedLambdaWithErasedParamType.kt")
public void testInlinedLambdaWithErasedParamType() {
runTest("compiler/testData/codegen/box/inline/inlinedLambdaWithErasedParamType.kt");
}
@Test
@TestMetadata("innerInlineFunCapturesOuter.kt")
public void testInnerInlineFunCapturesOuter() {
runTest("compiler/testData/codegen/box/inline/innerInlineFunCapturesOuter.kt");
}
@Test
@TestMetadata("kt66017.kt")
public void testKt66017() {
runTest("compiler/testData/codegen/box/inline/kt66017.kt");
}
@Test
@TestMetadata("kt66017_inlineFromTheSameModule.kt")
public void testKt66017_inlineFromTheSameModule() {
runTest("compiler/testData/codegen/box/inline/kt66017_inlineFromTheSameModule.kt");
}
@Test
@TestMetadata("lambdaAsAny.kt")
public void testLambdaAsAny() {