diff --git a/compiler/testData/codegen/boxWithStdlib/callableReference/property/genericProperty.kt b/compiler/testData/codegen/boxWithStdlib/callableReference/property/genericProperty.kt new file mode 100644 index 00000000000..d5e2dd8f1d2 --- /dev/null +++ b/compiler/testData/codegen/boxWithStdlib/callableReference/property/genericProperty.kt @@ -0,0 +1,20 @@ +//For KT-6020 +import kotlin.reflect.KMemberProperty +import kotlin.reflect.KMutableMemberProperty + +class Value(var value: T = null as T, var text: String? = null) + +val Value.additionalText by DVal(Value::text) //works + +val Value.additionalValue by DVal(Value::value) //not work + +class DVal>(val kmember: P) { + fun get(t: T, p: PropertyMetadata): R { + return kmember.get(t) + } +} + +fun box(): String { + val p = Value("O", "K") + return p.additionalValue + p.additionalText +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxWithStdlibCodegenTestGenerated.java b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxWithStdlibCodegenTestGenerated.java index dc2c1a70e8b..e3bdb1a01a4 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxWithStdlibCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxWithStdlibCodegenTestGenerated.java @@ -634,6 +634,12 @@ public class BlackBoxWithStdlibCodegenTestGenerated extends AbstractBlackBoxCode doTestWithStdlib(fileName); } + @TestMetadata("genericProperty.kt") + public void testGenericProperty() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxWithStdlib/callableReference/property/genericProperty.kt"); + doTestWithStdlib(fileName); + } + @TestMetadata("javaBeanConvention.kt") public void testJavaBeanConvention() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxWithStdlib/callableReference/property/javaBeanConvention.kt");