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 70a1a9972cf..b9228686331 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 @@ -26422,6 +26422,11 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/reflection/classLiterals/genericClass.kt"); } + @TestMetadata("lambdaClass.kt") + public void testLambdaClass() throws Exception { + runTest("compiler/testData/codegen/box/reflection/classLiterals/lambdaClass.kt"); + } + @TestMetadata("reifiedTypeClassLiteral.kt") public void testReifiedTypeClassLiteral() throws Exception { runTest("compiler/testData/codegen/box/reflection/classLiterals/reifiedTypeClassLiteral.kt"); diff --git a/compiler/testData/codegen/box/reflection/classLiterals/lambdaClass.kt b/compiler/testData/codegen/box/reflection/classLiterals/lambdaClass.kt new file mode 100644 index 00000000000..cc0121c31c6 --- /dev/null +++ b/compiler/testData/codegen/box/reflection/classLiterals/lambdaClass.kt @@ -0,0 +1,28 @@ + +// KT-33992 + +class P(val a: T, val b: T) + +inline fun foo(x: () -> Any) = P(x(), x()) + +fun box(): String { + val p1 = foo { + class C + C() + } + val p2 = foo { + object {} + } + + val x = p1.a + val y = p1.b + + val a = p2.a + val b = p2.b + + if (x::class != y::class) return "FAIL 1" + if (a::class != b::class) return "FAIL 2" + + return "OK" +} + diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java index d84d18c9bfe..6e4acaa3720 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java @@ -28193,6 +28193,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/reflection/classLiterals/genericClass.kt"); } + @TestMetadata("lambdaClass.kt") + public void testLambdaClass() throws Exception { + runTest("compiler/testData/codegen/box/reflection/classLiterals/lambdaClass.kt"); + } + @TestMetadata("reifiedTypeClassLiteral.kt") public void testReifiedTypeClassLiteral() throws Exception { runTest("compiler/testData/codegen/box/reflection/classLiterals/reifiedTypeClassLiteral.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index e60f2eaabe5..f7a031c6507 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -25827,6 +25827,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/reflection/classLiterals/genericClass.kt"); } + @TestMetadata("lambdaClass.kt") + public void testLambdaClass() throws Exception { + runTest("compiler/testData/codegen/box/reflection/classLiterals/lambdaClass.kt"); + } + @TestMetadata("reifiedTypeClassLiteral.kt") public void testReifiedTypeClassLiteral() throws Exception { runTest("compiler/testData/codegen/box/reflection/classLiterals/reifiedTypeClassLiteral.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java index e1c677724cd..98786843d79 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java @@ -26422,6 +26422,11 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/reflection/classLiterals/genericClass.kt"); } + @TestMetadata("lambdaClass.kt") + public void testLambdaClass() throws Exception { + runTest("compiler/testData/codegen/box/reflection/classLiterals/lambdaClass.kt"); + } + @TestMetadata("reifiedTypeClassLiteral.kt") public void testReifiedTypeClassLiteral() throws Exception { runTest("compiler/testData/codegen/box/reflection/classLiterals/reifiedTypeClassLiteral.kt"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java index a646b537446..a9589e3e3a9 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java @@ -22348,6 +22348,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes runTest("compiler/testData/codegen/box/reflection/classLiterals/genericClass.kt"); } + @TestMetadata("lambdaClass.kt") + public void testLambdaClass() throws Exception { + runTest("compiler/testData/codegen/box/reflection/classLiterals/lambdaClass.kt"); + } + @TestMetadata("simpleClassLiteral.kt") public void testSimpleClassLiteral() throws Exception { runTest("compiler/testData/codegen/box/reflection/classLiterals/simpleClassLiteral.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 4717285a6e7..80e9e9312f2 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 @@ -22348,6 +22348,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/reflection/classLiterals/genericClass.kt"); } + @TestMetadata("lambdaClass.kt") + public void testLambdaClass() throws Exception { + runTest("compiler/testData/codegen/box/reflection/classLiterals/lambdaClass.kt"); + } + @TestMetadata("simpleClassLiteral.kt") public void testSimpleClassLiteral() throws Exception { runTest("compiler/testData/codegen/box/reflection/classLiterals/simpleClassLiteral.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 bd9e2df2950..78092b5c8e0 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 @@ -22363,6 +22363,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/reflection/classLiterals/genericClass.kt"); } + @TestMetadata("lambdaClass.kt") + public void testLambdaClass() throws Exception { + runTest("compiler/testData/codegen/box/reflection/classLiterals/lambdaClass.kt"); + } + @TestMetadata("simpleClassLiteral.kt") public void testSimpleClassLiteral() throws Exception { runTest("compiler/testData/codegen/box/reflection/classLiterals/simpleClassLiteral.kt");