From 5aca8ebda84b7d7f8d2a1e775fc056a1242a1d66 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 2 Sep 2020 20:02:06 +0200 Subject: [PATCH] Minor, add test case on metadata of lambdas in constructors KT-41465 --- .../ir/FirBlackBoxCodegenTestGenerated.java | 5 +++++ .../reflectOnLambdaInConstructor.kt | 16 ++++++++++++++++ .../codegen/BlackBoxCodegenTestGenerated.java | 5 +++++ .../codegen/LightAnalysisModeTestGenerated.java | 5 +++++ .../ir/IrBlackBoxCodegenTestGenerated.java | 5 +++++ 5 files changed, 36 insertions(+) create mode 100644 compiler/testData/codegen/box/reflection/lambdaClasses/reflectOnLambdaInConstructor.kt 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 bdf17724e5b..e4cccf56a61 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 @@ -26312,6 +26312,11 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/reflection/lambdaClasses/reflectOnLambdaInArrayConstructor.kt"); } + @TestMetadata("reflectOnLambdaInConstructor.kt") + public void testReflectOnLambdaInConstructor() throws Exception { + runTest("compiler/testData/codegen/box/reflection/lambdaClasses/reflectOnLambdaInConstructor.kt"); + } + @TestMetadata("reflectOnLambdaInField.kt") public void testReflectOnLambdaInField() throws Exception { runTest("compiler/testData/codegen/box/reflection/lambdaClasses/reflectOnLambdaInField.kt"); diff --git a/compiler/testData/codegen/box/reflection/lambdaClasses/reflectOnLambdaInConstructor.kt b/compiler/testData/codegen/box/reflection/lambdaClasses/reflectOnLambdaInConstructor.kt new file mode 100644 index 00000000000..e677eff6698 --- /dev/null +++ b/compiler/testData/codegen/box/reflection/lambdaClasses/reflectOnLambdaInConstructor.kt @@ -0,0 +1,16 @@ +// TARGET_BACKEND: JVM +// WITH_REFLECT + +import kotlin.reflect.jvm.reflect + +class C { + val o = { O: String -> } + val k = { K: String -> } + + constructor(y: Int) + constructor(y: String) +} + +fun box(): String = + (C(0).o.reflect()?.parameters?.singleOrNull()?.name ?: "null") + + (C("").k.reflect()?.parameters?.singleOrNull()?.name ?: "null") diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java index 8b85be2908a..b8c2c493d7a 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java @@ -27908,6 +27908,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/reflection/lambdaClasses/reflectOnLambdaInArrayConstructor.kt"); } + @TestMetadata("reflectOnLambdaInConstructor.kt") + public void testReflectOnLambdaInConstructor() throws Exception { + runTest("compiler/testData/codegen/box/reflection/lambdaClasses/reflectOnLambdaInConstructor.kt"); + } + @TestMetadata("reflectOnLambdaInField.kt") public void testReflectOnLambdaInField() throws Exception { runTest("compiler/testData/codegen/box/reflection/lambdaClasses/reflectOnLambdaInField.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 7f3ffd31e1f..4e1cb40831b 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -25542,6 +25542,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/reflection/lambdaClasses/reflectOnLambdaInArrayConstructor.kt"); } + @TestMetadata("reflectOnLambdaInConstructor.kt") + public void testReflectOnLambdaInConstructor() throws Exception { + runTest("compiler/testData/codegen/box/reflection/lambdaClasses/reflectOnLambdaInConstructor.kt"); + } + @TestMetadata("reflectOnLambdaInField.kt") public void testReflectOnLambdaInField() throws Exception { runTest("compiler/testData/codegen/box/reflection/lambdaClasses/reflectOnLambdaInField.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java index 3842e671f58..f484d9aa4c1 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java @@ -26312,6 +26312,11 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/reflection/lambdaClasses/reflectOnLambdaInArrayConstructor.kt"); } + @TestMetadata("reflectOnLambdaInConstructor.kt") + public void testReflectOnLambdaInConstructor() throws Exception { + runTest("compiler/testData/codegen/box/reflection/lambdaClasses/reflectOnLambdaInConstructor.kt"); + } + @TestMetadata("reflectOnLambdaInField.kt") public void testReflectOnLambdaInField() throws Exception { runTest("compiler/testData/codegen/box/reflection/lambdaClasses/reflectOnLambdaInField.kt");