From d8f701ee61d052eb1ec43927b8686a13f0fbb5aa Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Sun, 5 Jul 2020 18:17:44 +0300 Subject: [PATCH] Add test for obsolete issue #KT-39588 Obsolete --- .../ir/FirBlackBoxCodegenTestGenerated.java | 5 +++++ .../provideDelegate/kt39588.kt | 22 +++++++++++++++++++ .../codegen/BlackBoxCodegenTestGenerated.java | 5 +++++ .../LightAnalysisModeTestGenerated.java | 5 +++++ .../ir/IrBlackBoxCodegenTestGenerated.java | 5 +++++ .../IrJsCodegenBoxES6TestGenerated.java | 5 +++++ .../IrJsCodegenBoxTestGenerated.java | 5 +++++ .../semantics/JsCodegenBoxTestGenerated.java | 5 +++++ 8 files changed, 57 insertions(+) create mode 100644 compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt39588.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 20948f6e472..8d9ed6fceab 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 @@ -9636,6 +9636,11 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt18902.kt"); } + @TestMetadata("kt39588.kt") + public void testKt39588() throws Exception { + runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt39588.kt"); + } + @TestMetadata("local.kt") public void testLocal() throws Exception { runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/local.kt"); diff --git a/compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt39588.kt b/compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt39588.kt new file mode 100644 index 00000000000..1d4c0f4d586 --- /dev/null +++ b/compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt39588.kt @@ -0,0 +1,22 @@ +// IGNORE_BACKEND_FIR: JVM_IR +// IGNORE_BACKEND: JVM_IR + +import kotlin.reflect.KProperty + +class OptionDescriptor +interface ArgumentValueDelegate { + operator fun getValue(thisRef: Any?, property: KProperty<*>): T = "OK" as T +} + +abstract class CLIEntity constructor(val delegate: ArgumentValueDelegate) { + operator fun provideDelegate(thisRef: Any?, prop: KProperty<*>): ArgumentValueDelegate = delegate +} + +abstract class AbstractSingleOption constructor(delegate: ArgumentValueDelegate) : CLIEntity(delegate) +class ArgumentSingleNullableValue(descriptor: OptionDescriptor): ArgumentValueDelegate +class SingleNullableOption constructor(descriptor: OptionDescriptor) : AbstractSingleOption(ArgumentSingleNullableValue(descriptor)) + +fun box(): String { + val x: List? by SingleNullableOption(OptionDescriptor()) + return x.toString() +} \ 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 ce639473203..d4e8961cec8 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java @@ -10861,6 +10861,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt18902.kt"); } + @TestMetadata("kt39588.kt") + public void testKt39588() throws Exception { + runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt39588.kt"); + } + @TestMetadata("local.kt") public void testLocal() throws Exception { runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/local.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 2a705ec6d24..2707ac7aac9 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -10861,6 +10861,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt18902.kt"); } + @TestMetadata("kt39588.kt") + public void testKt39588() throws Exception { + runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt39588.kt"); + } + @TestMetadata("local.kt") public void testLocal() throws Exception { runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/local.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java index 9751131d1e0..f86e9508633 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java @@ -9636,6 +9636,11 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt18902.kt"); } + @TestMetadata("kt39588.kt") + public void testKt39588() throws Exception { + runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt39588.kt"); + } + @TestMetadata("local.kt") public void testLocal() throws Exception { runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/local.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 475c7dad761..56b6e869606 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 @@ -8276,6 +8276,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt18902.kt"); } + @TestMetadata("kt39588.kt") + public void testKt39588() throws Exception { + runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt39588.kt"); + } + @TestMetadata("local.kt") public void testLocal() throws Exception { runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/local.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 515ca2b97a7..f6c265c078a 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 @@ -8286,6 +8286,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt18902.kt"); } + @TestMetadata("kt39588.kt") + public void testKt39588() throws Exception { + runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt39588.kt"); + } + @TestMetadata("local.kt") public void testLocal() throws Exception { runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/local.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 bb045d6721e..8117669e1bf 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 @@ -8286,6 +8286,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt18902.kt"); } + @TestMetadata("kt39588.kt") + public void testKt39588() throws Exception { + runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/kt39588.kt"); + } + @TestMetadata("local.kt") public void testLocal() throws Exception { runTest("compiler/testData/codegen/box/delegatedProperty/provideDelegate/local.kt");