From 95d95f9a9bd75853ffce342c8a24ec4c550055bc Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Thu, 29 Apr 2021 10:42:45 +0200 Subject: [PATCH] Put reification markers came from super object signature #KT-44770 Fixed #KT-30696 Open --- .../kotlin/codegen/ExpressionCodegen.java | 18 +++++++--- ...FirBlackBoxInlineCodegenTestGenerated.java | 12 +++++++ .../backend/jvm/codegen/ClassCodegen.kt | 34 ++++++++++++++++--- .../backend/jvm/codegen/FunctionCodegen.kt | 3 +- .../backend/jvm/lower/TypeOperatorLowering.kt | 6 ++-- .../boxInline/anonymousObject/kt30696.kt | 3 +- .../codegen/boxInline/reified/kt44770.kt | 25 ++++++++++++++ .../codegen/boxInline/reified/kt44770_2.kt | 25 ++++++++++++++ .../bytecodeListing/inline/genericReified.kt | 5 +++ .../bytecodeListing/inline/genericReified.txt | 6 ++++ .../sam/samAdapterAndInlinedOne_ir.txt | 2 +- .../BlackBoxInlineCodegenTestGenerated.java | 12 +++++++ .../codegen/BytecodeListingTestGenerated.java | 6 ++++ ...otlinAgainstInlineKotlinTestGenerated.java | 12 +++++++ .../IrBlackBoxInlineCodegenTestGenerated.java | 12 +++++++ .../IrBytecodeListingTestGenerated.java | 6 ++++ ...otlinAgainstInlineKotlinTestGenerated.java | 12 +++++++ ...JvmIrAgainstOldBoxInlineTestGenerated.java | 12 +++++++ ...JvmOldAgainstIrBoxInlineTestGenerated.java | 12 +++++++ 19 files changed, 209 insertions(+), 14 deletions(-) create mode 100644 compiler/testData/codegen/boxInline/reified/kt44770.kt create mode 100644 compiler/testData/codegen/boxInline/reified/kt44770_2.kt create mode 100644 compiler/testData/codegen/bytecodeListing/inline/genericReified.kt create mode 100644 compiler/testData/codegen/bytecodeListing/inline/genericReified.txt diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java index 729c343f8cc..d55e3a1c8e1 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java @@ -265,13 +265,23 @@ public class ExpressionCodegen extends KtVisitor impleme ); } - private static void addReifiedParametersFromSignature(@NotNull MemberCodegen member, @NotNull ClassDescriptor descriptor) { + private static void addReifiedParametersFromSignature(@NotNull MemberCodegen member, @NotNull ClassDescriptor descriptor) { for (KotlinType type : descriptor.getTypeConstructor().getSupertypes()) { - for (TypeProjection supertypeArgument : type.getArguments()) { - TypeParameterDescriptor parameterDescriptor = TypeUtils.getTypeParameterDescriptorOrNull(supertypeArgument.getType()); - if (parameterDescriptor != null && parameterDescriptor.isReified()) { + processTypeArguments(member, type); + } + } + + private static void processTypeArguments(@NotNull MemberCodegen member, KotlinType type) { + for (TypeProjection supertypeArgument : type.getArguments()) { + if (supertypeArgument.isStarProjection()) continue; + + TypeParameterDescriptor parameterDescriptor = TypeUtils.getTypeParameterDescriptorOrNull(supertypeArgument.getType()); + if (parameterDescriptor != null) { + if (parameterDescriptor.isReified()) { member.getReifiedTypeParametersUsages().addUsedReifiedParameter(parameterDescriptor.getName().asString()); } + } else { + processTypeArguments(member, supertypeArgument.getType()); } } } diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxInlineCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxInlineCodegenTestGenerated.java index a97ab667b22..b1ecfe05f1c 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxInlineCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxInlineCodegenTestGenerated.java @@ -3702,6 +3702,18 @@ public class FirBlackBoxInlineCodegenTestGenerated extends AbstractFirBlackBoxIn runTest("compiler/testData/codegen/boxInline/reified/kt35511_try_values.kt"); } + @Test + @TestMetadata("kt44770.kt") + public void testKt44770() throws Exception { + runTest("compiler/testData/codegen/boxInline/reified/kt44770.kt"); + } + + @Test + @TestMetadata("kt44770_2.kt") + public void testKt44770_2() throws Exception { + runTest("compiler/testData/codegen/boxInline/reified/kt44770_2.kt"); + } + @Test @TestMetadata("kt6988.kt") public void testKt6988() throws Exception { diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ClassCodegen.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ClassCodegen.kt index 9e595efa5df..82a8d068e27 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ClassCodegen.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ClassCodegen.kt @@ -11,11 +11,9 @@ import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin import org.jetbrains.kotlin.backend.jvm.lower.MultifileFacadeFileEntry import org.jetbrains.kotlin.backend.jvm.lower.buildAssertionsDisabledField import org.jetbrains.kotlin.backend.jvm.lower.hasAssertionsDisabledField -import org.jetbrains.kotlin.codegen.DescriptorAsmUtil -import org.jetbrains.kotlin.codegen.VersionIndependentOpcodes -import org.jetbrains.kotlin.codegen.addRecordComponent +import org.jetbrains.kotlin.backend.jvm.lower.isReifiedTypeParameter +import org.jetbrains.kotlin.codegen.* import org.jetbrains.kotlin.codegen.inline.* -import org.jetbrains.kotlin.codegen.writeKotlinMetadata import org.jetbrains.kotlin.config.JvmAnalysisFlags import org.jetbrains.kotlin.config.LanguageFeature import org.jetbrains.kotlin.config.LanguageVersionSettings @@ -31,6 +29,11 @@ import org.jetbrains.kotlin.ir.expressions.IrExpression import org.jetbrains.kotlin.ir.expressions.IrFunctionReference import org.jetbrains.kotlin.ir.expressions.impl.IrBlockBodyImpl import org.jetbrains.kotlin.ir.expressions.impl.IrSetFieldImpl +import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol +import org.jetbrains.kotlin.ir.types.IrSimpleType +import org.jetbrains.kotlin.ir.types.IrType +import org.jetbrains.kotlin.ir.types.IrTypeProjection +import org.jetbrains.kotlin.ir.types.classifierOrFail import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.load.java.JvmAnnotationNames import org.jetbrains.kotlin.load.kotlin.header.KotlinClassHeader @@ -44,6 +47,7 @@ import org.jetbrains.kotlin.resolve.jvm.annotations.VOLATILE_ANNOTATION_FQ_NAME import org.jetbrains.kotlin.resolve.jvm.checkers.JvmSimpleNameBacktickChecker import org.jetbrains.kotlin.resolve.jvm.diagnostics.* import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmClassSignature +import org.jetbrains.kotlin.utils.addToStdlib.cast import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull import org.jetbrains.kotlin.utils.addToStdlib.safeAs import org.jetbrains.org.objectweb.asm.* @@ -165,10 +169,32 @@ class ClassCodegen private constructor( } } + addReifiedParametersFromSignature() + visitor.done() jvmSignatureClashDetector.reportErrors(classOrigin) } + private fun addReifiedParametersFromSignature() { + for (type in irClass.superTypes) { + processTypeParameters(type) + } + } + + private fun processTypeParameters(type: IrType) { + for (supertypeArgument in (type as? IrSimpleType)?.arguments ?: emptyList()) { + if (supertypeArgument is IrTypeProjection) { + val typeArgument = supertypeArgument.type + if (typeArgument.isReifiedTypeParameter) { + reifiedTypeParametersUsages.addUsedReifiedParameter(typeArgument.classifierOrFail.cast().owner.name.asString()) + } else { + processTypeParameters(typeArgument) + } + } + } + } + + fun generateAssertFieldIfNeeded(generatingClInit: Boolean): IrExpression? { if (irClass.hasAssertionsDisabledField(context)) return null diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/FunctionCodegen.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/FunctionCodegen.kt index 1961a298a42..c1de34f2606 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/FunctionCodegen.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/FunctionCodegen.kt @@ -65,7 +65,8 @@ class FunctionCodegen( signature.asmMethod.descriptor, signature.genericsSignature .takeIf { - !isSynthetic && irFunction.origin != IrDeclarationOrigin.LOCAL_FUNCTION_FOR_LAMBDA + (irFunction.isInline && irFunction.origin != IrDeclarationOrigin.FUNCTION_FOR_DEFAULT_PARAMETER) || + !isSynthetic && irFunction.origin != IrDeclarationOrigin.LOCAL_FUNCTION_FOR_LAMBDA }, getThrownExceptions(irFunction)?.toTypedArray() ) diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/TypeOperatorLowering.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/TypeOperatorLowering.kt index 67d79f8bd5b..4127f2caea1 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/TypeOperatorLowering.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/TypeOperatorLowering.kt @@ -54,14 +54,14 @@ internal val typeOperatorLowering = makeIrFilePhase( description = "Lower IrTypeOperatorCalls to (implicit) casts and instanceof checks" ) +val IrType.isReifiedTypeParameter: Boolean + get() = classifierOrNull?.safeAs()?.owner?.isReified == true + private class TypeOperatorLowering(private val context: JvmBackendContext) : FileLoweringPass, IrBuildingTransformer(context) { override fun lower(irFile: IrFile) = irFile.transformChildrenVoid() private fun IrExpression.transformVoid() = transform(this@TypeOperatorLowering, null) - private val IrType.isReifiedTypeParameter: Boolean - get() = classifierOrNull?.safeAs()?.owner?.isReified == true - private fun lowerInstanceOf(argument: IrExpression, type: IrType) = with(builder) { when { type.isReifiedTypeParameter -> diff --git a/compiler/testData/codegen/boxInline/anonymousObject/kt30696.kt b/compiler/testData/codegen/boxInline/anonymousObject/kt30696.kt index 8b46643d3ae..dd6e789e219 100644 --- a/compiler/testData/codegen/boxInline/anonymousObject/kt30696.kt +++ b/compiler/testData/codegen/boxInline/anonymousObject/kt30696.kt @@ -1,7 +1,8 @@ // TARGET_BACKEND: JVM // NO_CHECK_LAMBDA_INLINING // WITH_RUNTIME -// IGNORE_BACKEND: JVM +// IGNORE_BACKEND: JVM, JVM_IR +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND_MULTI_MODULE: JVM, JVM_IR, JVM_MULTI_MODULE_OLD_AGAINST_IR, JVM_MULTI_MODULE_IR_AGAINST_OLD // FILE: 1.kt diff --git a/compiler/testData/codegen/boxInline/reified/kt44770.kt b/compiler/testData/codegen/boxInline/reified/kt44770.kt new file mode 100644 index 00000000000..951e557d1a1 --- /dev/null +++ b/compiler/testData/codegen/boxInline/reified/kt44770.kt @@ -0,0 +1,25 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_RUNTIME +// IGNORE_BACKEND: ANDROID +// FILE: 1.kt + +package test +import java.lang.reflect.* + +class OK + +interface S + +inline fun test(): String { + return (object : S { + + }::class.java.genericInterfaces[0] as ParameterizedType).actualTypeArguments[0].getTypeName() + +// FILE: 2.kt +import test.* + +fun box():String { + val test = test() + return if (test == OK::class.qualifiedName) "OK" else "fail: $test" +} \ No newline at end of file diff --git a/compiler/testData/codegen/boxInline/reified/kt44770_2.kt b/compiler/testData/codegen/boxInline/reified/kt44770_2.kt new file mode 100644 index 00000000000..cc1f0b33e7d --- /dev/null +++ b/compiler/testData/codegen/boxInline/reified/kt44770_2.kt @@ -0,0 +1,25 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_RUNTIME +// IGNORE_BACKEND: ANDROID +// FILE: 1.kt + +package test +import java.lang.reflect.* + +class OK + +interface S + +inline fun test(): String { + return ((object : S> { + + }::class.java.genericInterfaces[0] as ParameterizedType).actualTypeArguments[0] as ParameterizedType).actualTypeArguments[0].getTypeName() + +// FILE: 2.kt +import test.* + +fun box():String { + val test = test() + return if (test == OK::class.qualifiedName) "OK" else "fail: $test" +} \ No newline at end of file diff --git a/compiler/testData/codegen/bytecodeListing/inline/genericReified.kt b/compiler/testData/codegen/bytecodeListing/inline/genericReified.kt new file mode 100644 index 00000000000..694ea0b86d3 --- /dev/null +++ b/compiler/testData/codegen/bytecodeListing/inline/genericReified.kt @@ -0,0 +1,5 @@ +// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS +// WITH_SIGNATURES +// FILE: t.kt + +inline fun foo(s: String = "123") {} \ No newline at end of file diff --git a/compiler/testData/codegen/bytecodeListing/inline/genericReified.txt b/compiler/testData/codegen/bytecodeListing/inline/genericReified.txt new file mode 100644 index 00000000000..89bd5d1844a --- /dev/null +++ b/compiler/testData/codegen/bytecodeListing/inline/genericReified.txt @@ -0,0 +1,6 @@ +@kotlin.Metadata +public final class TKt { + // source: 't.kt' + public synthetic final static <(Ljava/lang/String;)V> method foo(p0: java.lang.String): void + public synthetic static method foo$default(p0: java.lang.String, p1: int, p2: java.lang.Object): void +} diff --git a/compiler/testData/codegen/bytecodeListing/sam/samAdapterAndInlinedOne_ir.txt b/compiler/testData/codegen/bytecodeListing/sam/samAdapterAndInlinedOne_ir.txt index a0bfcdda134..0d97548945f 100644 --- a/compiler/testData/codegen/bytecodeListing/sam/samAdapterAndInlinedOne_ir.txt +++ b/compiler/testData/codegen/bytecodeListing/sam/samAdapterAndInlinedOne_ir.txt @@ -24,7 +24,7 @@ public final class test/SamAdapterAndInlinedOneKt { public final static @org.jetbrains.annotations.NotNull <(Lkotlin/jvm/functions/Function0;)Ljava/lang/Runnable;> method makeRunnable2(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): java.lang.Runnable public final static @org.jetbrains.annotations.NotNull <(Lkotlin/jvm/functions/Function0;)Ljava/lang/Runnable;> method noInline(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): java.lang.Runnable public final static @org.jetbrains.annotations.NotNull <(Lkotlin/jvm/functions/Function0;)Ljava/lang/Runnable;> method noInline2(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): java.lang.Runnable - public synthetic final static method makeRunnable(p0: kotlin.jvm.functions.Function0): java.lang.Runnable + public synthetic final static <(Lkotlin/jvm/functions/Function0;)Ljava/lang/Runnable;> method makeRunnable(p0: kotlin.jvm.functions.Function0): java.lang.Runnable inner (anonymous) class test/SamAdapterAndInlinedOneKt$sam$i$java_lang_Runnable$0 inner (anonymous) class test/SamAdapterAndInlinedOneKt$sam$java_lang_Runnable$0 } diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxInlineCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxInlineCodegenTestGenerated.java index 9257d26acce..5fbf8093399 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxInlineCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxInlineCodegenTestGenerated.java @@ -3702,6 +3702,18 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo runTest("compiler/testData/codegen/boxInline/reified/kt35511_try_values.kt"); } + @Test + @TestMetadata("kt44770.kt") + public void testKt44770() throws Exception { + runTest("compiler/testData/codegen/boxInline/reified/kt44770.kt"); + } + + @Test + @TestMetadata("kt44770_2.kt") + public void testKt44770_2() throws Exception { + runTest("compiler/testData/codegen/boxInline/reified/kt44770_2.kt"); + } + @Test @TestMetadata("kt6988.kt") public void testKt6988() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BytecodeListingTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BytecodeListingTestGenerated.java index bbac9288475..c73e14d2c1f 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BytecodeListingTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BytecodeListingTestGenerated.java @@ -1026,6 +1026,12 @@ public class BytecodeListingTestGenerated extends AbstractBytecodeListingTest { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeListing/inline"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true); } + @Test + @TestMetadata("genericReified.kt") + public void testGenericReified() throws Exception { + runTest("compiler/testData/codegen/bytecodeListing/inline/genericReified.kt"); + } + @Test @TestMetadata("inlineOnly.kt") public void testInlineOnly() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/CompileKotlinAgainstInlineKotlinTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/CompileKotlinAgainstInlineKotlinTestGenerated.java index 9c8aa8cf509..4bafc1c94eb 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/CompileKotlinAgainstInlineKotlinTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/CompileKotlinAgainstInlineKotlinTestGenerated.java @@ -3702,6 +3702,18 @@ public class CompileKotlinAgainstInlineKotlinTestGenerated extends AbstractCompi runTest("compiler/testData/codegen/boxInline/reified/kt35511_try_values.kt"); } + @Test + @TestMetadata("kt44770.kt") + public void testKt44770() throws Exception { + runTest("compiler/testData/codegen/boxInline/reified/kt44770.kt"); + } + + @Test + @TestMetadata("kt44770_2.kt") + public void testKt44770_2() throws Exception { + runTest("compiler/testData/codegen/boxInline/reified/kt44770_2.kt"); + } + @Test @TestMetadata("kt6988.kt") public void testKt6988() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenTestGenerated.java index debaba7eb19..6ef0cfc2bf9 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenTestGenerated.java @@ -3702,6 +3702,18 @@ public class IrBlackBoxInlineCodegenTestGenerated extends AbstractIrBlackBoxInli runTest("compiler/testData/codegen/boxInline/reified/kt35511_try_values.kt"); } + @Test + @TestMetadata("kt44770.kt") + public void testKt44770() throws Exception { + runTest("compiler/testData/codegen/boxInline/reified/kt44770.kt"); + } + + @Test + @TestMetadata("kt44770_2.kt") + public void testKt44770_2() throws Exception { + runTest("compiler/testData/codegen/boxInline/reified/kt44770_2.kt"); + } + @Test @TestMetadata("kt6988.kt") public void testKt6988() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeListingTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeListingTestGenerated.java index f968a194cc8..707485cef97 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeListingTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeListingTestGenerated.java @@ -1026,6 +1026,12 @@ public class IrBytecodeListingTestGenerated extends AbstractIrBytecodeListingTes KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeListing/inline"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("genericReified.kt") + public void testGenericReified() throws Exception { + runTest("compiler/testData/codegen/bytecodeListing/inline/genericReified.kt"); + } + @Test @TestMetadata("inlineOnly.kt") public void testInlineOnly() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrCompileKotlinAgainstInlineKotlinTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrCompileKotlinAgainstInlineKotlinTestGenerated.java index 30617a6f480..996885ced09 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrCompileKotlinAgainstInlineKotlinTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrCompileKotlinAgainstInlineKotlinTestGenerated.java @@ -3702,6 +3702,18 @@ public class IrCompileKotlinAgainstInlineKotlinTestGenerated extends AbstractIrC runTest("compiler/testData/codegen/boxInline/reified/kt35511_try_values.kt"); } + @Test + @TestMetadata("kt44770.kt") + public void testKt44770() throws Exception { + runTest("compiler/testData/codegen/boxInline/reified/kt44770.kt"); + } + + @Test + @TestMetadata("kt44770_2.kt") + public void testKt44770_2() throws Exception { + runTest("compiler/testData/codegen/boxInline/reified/kt44770_2.kt"); + } + @Test @TestMetadata("kt6988.kt") public void testKt6988() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmIrAgainstOldBoxInlineTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmIrAgainstOldBoxInlineTestGenerated.java index 776ffb98c12..5acd6fabce4 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmIrAgainstOldBoxInlineTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmIrAgainstOldBoxInlineTestGenerated.java @@ -3702,6 +3702,18 @@ public class JvmIrAgainstOldBoxInlineTestGenerated extends AbstractJvmIrAgainstO runTest("compiler/testData/codegen/boxInline/reified/kt35511_try_values.kt"); } + @Test + @TestMetadata("kt44770.kt") + public void testKt44770() throws Exception { + runTest("compiler/testData/codegen/boxInline/reified/kt44770.kt"); + } + + @Test + @TestMetadata("kt44770_2.kt") + public void testKt44770_2() throws Exception { + runTest("compiler/testData/codegen/boxInline/reified/kt44770_2.kt"); + } + @Test @TestMetadata("kt6988.kt") public void testKt6988() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmOldAgainstIrBoxInlineTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmOldAgainstIrBoxInlineTestGenerated.java index 77750fa7d8d..55ea9451082 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmOldAgainstIrBoxInlineTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmOldAgainstIrBoxInlineTestGenerated.java @@ -3702,6 +3702,18 @@ public class JvmOldAgainstIrBoxInlineTestGenerated extends AbstractJvmOldAgainst runTest("compiler/testData/codegen/boxInline/reified/kt35511_try_values.kt"); } + @Test + @TestMetadata("kt44770.kt") + public void testKt44770() throws Exception { + runTest("compiler/testData/codegen/boxInline/reified/kt44770.kt"); + } + + @Test + @TestMetadata("kt44770_2.kt") + public void testKt44770_2() throws Exception { + runTest("compiler/testData/codegen/boxInline/reified/kt44770_2.kt"); + } + @Test @TestMetadata("kt6988.kt") public void testKt6988() throws Exception {