diff --git a/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/codegen/ir/FirBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/codegen/ir/FirBlackBoxCodegenTestGenerated.java index 129b32f1821..e6e40fbcaa3 100644 --- a/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/codegen/ir/FirBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/codegen/ir/FirBlackBoxCodegenTestGenerated.java @@ -12919,6 +12919,16 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @TestMetadata("covariantOverrideChainErasedToAny.kt") + public void testCovariantOverrideChainErasedToAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToAny.kt"); + } + + @TestMetadata("covariantOverrideChainErasedToNullableAny.kt") + public void testCovariantOverrideChainErasedToNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToNullableAny.kt"); + } + @TestMetadata("covariantOverrideErasedToAny.kt") public void testCovariantOverrideErasedToAny() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideErasedToAny.kt"); @@ -12979,6 +12989,36 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/kt35234a.kt"); } + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullAny.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullAny.kt"); + } + + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny.kt"); + } + + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullAny.kt") + public void testOverrideNullableInlineClassWithNonNullAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullAny.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullNullableAny.kt") + public void testOverrideNullableInlineClassWithNonNullNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAny.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullNullableAnyNull.kt") + public void testOverrideNullableInlineClassWithNonNullNullableAnyNull() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAnyNull.kt"); + } + @TestMetadata("relatedReturnTypes1a.kt") public void testRelatedReturnTypes1a() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/relatedReturnTypes1a.kt"); diff --git a/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxInt.kt b/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxInt.kt index 1bdea6559de..28f28825d14 100644 --- a/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxInt.kt +++ b/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxInt.kt @@ -1,5 +1,3 @@ -// IGNORE_BACKEND: JVM_IR - inline class X(val x: Int) fun useX(x: X): String = if (x.x == 42) "OK" else "fail: $x" diff --git a/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxNullableInt.kt b/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxNullableInt.kt index e8e24ee7e7f..8bdbf9f4420 100644 --- a/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxNullableInt.kt +++ b/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxNullableInt.kt @@ -1,5 +1,3 @@ -// IGNORE_BACKEND: JVM_IR - inline class X(val x: Int?) fun useX(x: X): String = if (x.x == 42) "OK" else "fail: $x" diff --git a/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxNullableIntNull.kt b/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxNullableIntNull.kt index 60869d6fb09..048dcde82a3 100644 --- a/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxNullableIntNull.kt +++ b/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxNullableIntNull.kt @@ -1,5 +1,3 @@ -// IGNORE_BACKEND: JVM_IR - inline class X(val x: Int?) fun useX(x: X): String = if (x.x == null) "OK" else "fail: $x" diff --git a/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxNullableString.kt b/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxNullableString.kt index 78a21b7e118..e8e44e226c1 100644 --- a/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxNullableString.kt +++ b/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxNullableString.kt @@ -1,5 +1,3 @@ -// IGNORE_BACKEND: JVM_IR - inline class X(val x: String?) fun useX(x: X): String = x.x ?: "fail: $x" diff --git a/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxNullableStringNull.kt b/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxNullableStringNull.kt index 0f98f93bd7c..1f5c260e7ff 100644 --- a/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxNullableStringNull.kt +++ b/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxNullableStringNull.kt @@ -1,5 +1,3 @@ -// IGNORE_BACKEND: JVM_IR - inline class X(val x: String?) fun useX(x: X): String = if (x.x == null) "OK" else "fail: $x" diff --git a/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxString.kt b/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxString.kt index bfabdc95ac4..3cfed167708 100644 --- a/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxString.kt +++ b/compiler/testData/codegen/box/inlineClasses/boxReturnValueInLambda/boxString.kt @@ -1,5 +1,3 @@ -// IGNORE_BACKEND: JVM_IR - inline class X(val x: String) fun useX(x: X): String = x.x diff --git a/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToAny.kt b/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToAny.kt new file mode 100644 index 00000000000..9b20b57e240 --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToAny.kt @@ -0,0 +1,34 @@ +// IGNORE_BACKEND_FIR: JVM_IR +// IGNORE_BACKEND: JVM_IR + +inline class X(val x: Any) + +interface IBar { + fun bar(): Any +} + +interface IFoo : IBar { + fun foo(): Any + override fun bar(): X +} + +class TestX : IFoo { + override fun foo(): X = X("O") + override fun bar(): X = X("K") +} + +fun box(): String { + val t: IFoo = TestX() + val tFoo = t.foo() + if (tFoo !is X) { + throw AssertionError("X expected: $tFoo") + } + + val t2: IBar = TestX() + val tBar = t.bar() + if (tBar !is X) { + throw AssertionError("X expected: $tBar") + } + + return (t.foo() as X).x!!.toString() + (t2.bar() as X).x!!.toString() +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToNullableAny.kt b/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToNullableAny.kt new file mode 100644 index 00000000000..5cd96164b7a --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToNullableAny.kt @@ -0,0 +1,34 @@ +// IGNORE_BACKEND_FIR: JVM_IR +// IGNORE_BACKEND: JVM_IR + +inline class X(val x: Any?) + +interface IBar { + fun bar(): Any +} + +interface IFoo : IBar { + fun foo(): Any + override fun bar(): X +} + +class TestX : IFoo { + override fun foo(): X = X("O") + override fun bar(): X = X("K") +} + +fun box(): String { + val t: IFoo = TestX() + val tFoo = t.foo() + if (tFoo !is X) { + throw AssertionError("X expected: $tFoo") + } + + val t2: IBar = TestX() + val tBar = t.bar() + if (tBar !is X) { + throw AssertionError("X expected: $tBar") + } + + return (t.foo() as X).x!!.toString() + (t2.bar() as X).x!!.toString() +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullAny.kt b/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullAny.kt new file mode 100644 index 00000000000..086eea7d614 --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullAny.kt @@ -0,0 +1,21 @@ +inline class X(val x: Any) + +interface IFoo { + fun foo(): T +} + +class Test : IFoo { + override fun foo(): X = X("OK") +} + +fun box(): String { + val t1: IFoo = Test() + val x1 = t1.foo() + if (x1 != X("OK")) throw AssertionError("x1: $x1") + + val t2 = Test() + val x2 = t2.foo() + if (x2 != X("OK")) throw AssertionError("x2: $x2") + + return "OK" +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny.kt b/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny.kt new file mode 100644 index 00000000000..8d6f3da5a22 --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny.kt @@ -0,0 +1,23 @@ +// IGNORE_BACKEND_FIR: JVM_IR + +inline class X(val x: Any?) + +interface IFoo { + fun foo(): T +} + +class Test : IFoo { + override fun foo(): X = X("OK") +} + +fun box(): String { + val t1: IFoo = Test() + val x1 = t1.foo() + if (x1 != X("OK")) throw AssertionError("x1: $x1") + + val t2 = Test() + val x2 = t2.foo() + if (x2 != X("OK")) throw AssertionError("x2: $x2") + + return "OK" +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull.kt b/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull.kt new file mode 100644 index 00000000000..b4a6dcf6261 --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull.kt @@ -0,0 +1,24 @@ +// IGNORE_BACKEND_FIR: JVM_IR +// IGNORE_BACKEND: JS_IR + +inline class X(val x: Any?) + +interface IFoo { + fun foo(): T +} + +class Test : IFoo { + override fun foo(): X = X(null) +} + +fun box(): String { + val t1: IFoo = Test() + val x1 = t1.foo() + if (x1 != X(null)) throw AssertionError("x1: $x1") + + val t2 = Test() + val x2 = t2.foo() + if (x2 != X(null)) throw AssertionError("x2: $x2") + + return "OK" +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullAny.kt b/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullAny.kt new file mode 100644 index 00000000000..3ba4ae60863 --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullAny.kt @@ -0,0 +1,21 @@ +inline class X(val x: Any) + +interface IFoo { + fun foo(): X? +} + +class Test : IFoo { + override fun foo(): X = X("OK") +} + +fun box(): String { + val t1: IFoo = Test() + val x1 = t1.foo() + if (x1 != X("OK")) throw AssertionError("x1: $x1") + + val t2 = Test() + val x2 = t2.foo() + if (x2 != X("OK")) throw AssertionError("x2: $x2") + + return "OK" +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAny.kt b/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAny.kt new file mode 100644 index 00000000000..446136c4f60 --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAny.kt @@ -0,0 +1,23 @@ +// IGNORE_BACKEND_FIR: JVM_IR + +inline class X(val x: Any?) + +interface IFoo { + fun foo(): X? +} + +class Test : IFoo { + override fun foo(): X = X("OK") +} + +fun box(): String { + val t1: IFoo = Test() + val x1 = t1.foo() + if (x1 != X("OK")) throw AssertionError("x1: $x1") + + val t2 = Test() + val x2 = t2.foo() + if (x2 != X("OK")) throw AssertionError("x2: $x2") + + return "OK" +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAnyNull.kt b/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAnyNull.kt new file mode 100644 index 00000000000..18de699f8be --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAnyNull.kt @@ -0,0 +1,23 @@ +// IGNORE_BACKEND_FIR: JVM_IR + +inline class X(val x: Any?) + +interface IFoo { + fun foo(): X? +} + +class Test : IFoo { + override fun foo(): X = X(null) +} + +fun box(): String { + val t1: IFoo = Test() + val x1 = t1.foo() + if (x1 != X(null)) throw AssertionError("x1: $x1") + + val t2 = Test() + val x2 = t2.foo() + if (x2 != X(null)) throw AssertionError("x2: $x2") + + return "OK" +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java index 10aaa239f2b..749d2a67424 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java @@ -14134,6 +14134,16 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true); } + @TestMetadata("covariantOverrideChainErasedToAny.kt") + public void testCovariantOverrideChainErasedToAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToAny.kt"); + } + + @TestMetadata("covariantOverrideChainErasedToNullableAny.kt") + public void testCovariantOverrideChainErasedToNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToNullableAny.kt"); + } + @TestMetadata("covariantOverrideErasedToAny.kt") public void testCovariantOverrideErasedToAny() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideErasedToAny.kt"); @@ -14194,6 +14204,36 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/kt35234a.kt"); } + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullAny.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullAny.kt"); + } + + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny.kt"); + } + + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullAny.kt") + public void testOverrideNullableInlineClassWithNonNullAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullAny.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullNullableAny.kt") + public void testOverrideNullableInlineClassWithNonNullNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAny.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullNullableAnyNull.kt") + public void testOverrideNullableInlineClassWithNonNullNullableAnyNull() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAnyNull.kt"); + } + @TestMetadata("relatedReturnTypes1a.kt") public void testRelatedReturnTypes1a() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/relatedReturnTypes1a.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index d8742c25e7f..60f7125a21a 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -14134,6 +14134,16 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true); } + @TestMetadata("covariantOverrideChainErasedToAny.kt") + public void testCovariantOverrideChainErasedToAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToAny.kt"); + } + + @TestMetadata("covariantOverrideChainErasedToNullableAny.kt") + public void testCovariantOverrideChainErasedToNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToNullableAny.kt"); + } + @TestMetadata("covariantOverrideErasedToAny.kt") public void testCovariantOverrideErasedToAny() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideErasedToAny.kt"); @@ -14194,6 +14204,36 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/kt35234a.kt"); } + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullAny.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullAny.kt"); + } + + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny.kt"); + } + + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullAny.kt") + public void testOverrideNullableInlineClassWithNonNullAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullAny.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullNullableAny.kt") + public void testOverrideNullableInlineClassWithNonNullNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAny.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullNullableAnyNull.kt") + public void testOverrideNullableInlineClassWithNonNullNullableAnyNull() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAnyNull.kt"); + } + @TestMetadata("relatedReturnTypes1a.kt") public void testRelatedReturnTypes1a() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/relatedReturnTypes1a.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java index 08f9d874bd9..791281c110d 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java @@ -12919,6 +12919,16 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @TestMetadata("covariantOverrideChainErasedToAny.kt") + public void testCovariantOverrideChainErasedToAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToAny.kt"); + } + + @TestMetadata("covariantOverrideChainErasedToNullableAny.kt") + public void testCovariantOverrideChainErasedToNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToNullableAny.kt"); + } + @TestMetadata("covariantOverrideErasedToAny.kt") public void testCovariantOverrideErasedToAny() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideErasedToAny.kt"); @@ -12979,6 +12989,36 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/kt35234a.kt"); } + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullAny.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullAny.kt"); + } + + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny.kt"); + } + + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullAny.kt") + public void testOverrideNullableInlineClassWithNonNullAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullAny.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullNullableAny.kt") + public void testOverrideNullableInlineClassWithNonNullNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAny.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullNullableAnyNull.kt") + public void testOverrideNullableInlineClassWithNonNullNullableAnyNull() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAnyNull.kt"); + } + @TestMetadata("relatedReturnTypes1a.kt") public void testRelatedReturnTypes1a() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/relatedReturnTypes1a.kt"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java index 688ba12e33a..a220401fd8d 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java @@ -11134,6 +11134,16 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); } + @TestMetadata("covariantOverrideChainErasedToAny.kt") + public void testCovariantOverrideChainErasedToAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToAny.kt"); + } + + @TestMetadata("covariantOverrideChainErasedToNullableAny.kt") + public void testCovariantOverrideChainErasedToNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToNullableAny.kt"); + } + @TestMetadata("covariantOverrideErasedToAny.kt") public void testCovariantOverrideErasedToAny() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideErasedToAny.kt"); @@ -11194,6 +11204,36 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/kt35234a.kt"); } + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullAny.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullAny.kt"); + } + + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny.kt"); + } + + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullAny.kt") + public void testOverrideNullableInlineClassWithNonNullAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullAny.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullNullableAny.kt") + public void testOverrideNullableInlineClassWithNonNullNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAny.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullNullableAnyNull.kt") + public void testOverrideNullableInlineClassWithNonNullNullableAnyNull() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAnyNull.kt"); + } + @TestMetadata("relatedReturnTypes1a.kt") public void testRelatedReturnTypes1a() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/relatedReturnTypes1a.kt"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java index ea9f47d167f..b2e39f17b50 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java @@ -11199,6 +11199,16 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS, true); } + @TestMetadata("covariantOverrideChainErasedToAny.kt") + public void testCovariantOverrideChainErasedToAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToAny.kt"); + } + + @TestMetadata("covariantOverrideChainErasedToNullableAny.kt") + public void testCovariantOverrideChainErasedToNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideChainErasedToNullableAny.kt"); + } + @TestMetadata("covariantOverrideErasedToAny.kt") public void testCovariantOverrideErasedToAny() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideErasedToAny.kt"); @@ -11259,6 +11269,36 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/kt35234a.kt"); } + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullAny.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullAny.kt"); + } + + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAny.kt"); + } + + @TestMetadata("overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull.kt") + public void testOverrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideGenericWithNullableInlineClassUpperBoundWithNonNullNullableAnyNull.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullAny.kt") + public void testOverrideNullableInlineClassWithNonNullAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullAny.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullNullableAny.kt") + public void testOverrideNullableInlineClassWithNonNullNullableAny() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAny.kt"); + } + + @TestMetadata("overrideNullableInlineClassWithNonNullNullableAnyNull.kt") + public void testOverrideNullableInlineClassWithNonNullNullableAnyNull() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/overrideNullableInlineClassWithNonNullNullableAnyNull.kt"); + } + @TestMetadata("relatedReturnTypes1a.kt") public void testRelatedReturnTypes1a() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/relatedReturnTypes1a.kt");