From c5e14a20592268aa425c9c489d6235da8a17dd7d Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Thu, 8 Dec 2016 14:39:06 +0100 Subject: [PATCH] Some new tests for 'toDelegateFor' --- .../toDelegateFor/differentReceivers.kt | 28 +++++++++++ .../toDelegateFor/evaluationOrderVar.kt | 39 +++++++++++++++ .../toDelegateFor/generic.kt | 32 +++++++++++++ .../toDelegateFor/propertyMetadata.kt | 27 +++++++++++ .../toDelegateFor/differentReceivers.txt | 23 +++++++++ .../toDelegateFor/evaluationOrderVar.txt | 21 ++++++++ .../toDelegateFor/generic.txt | 24 ++++++++++ .../toDelegateFor/propertyMetadata.txt | 16 +++++++ .../ir/IrBlackBoxCodegenTestGenerated.java | 24 ++++++++++ .../codegen/BlackBoxCodegenTestGenerated.java | 24 ++++++++++ ...LightAnalysisModeCodegenTestGenerated.java | 24 ++++++++++ .../semantics/JsCodegenBoxTestGenerated.java | 48 +++++++++++++++++++ 12 files changed, 330 insertions(+) create mode 100644 compiler/testData/codegen/box/delegatedProperty/toDelegateFor/differentReceivers.kt create mode 100644 compiler/testData/codegen/box/delegatedProperty/toDelegateFor/evaluationOrderVar.kt create mode 100644 compiler/testData/codegen/box/delegatedProperty/toDelegateFor/generic.kt create mode 100644 compiler/testData/codegen/box/delegatedProperty/toDelegateFor/propertyMetadata.kt create mode 100644 compiler/testData/codegen/light-analysis/delegatedProperty/toDelegateFor/differentReceivers.txt create mode 100644 compiler/testData/codegen/light-analysis/delegatedProperty/toDelegateFor/evaluationOrderVar.txt create mode 100644 compiler/testData/codegen/light-analysis/delegatedProperty/toDelegateFor/generic.txt create mode 100644 compiler/testData/codegen/light-analysis/delegatedProperty/toDelegateFor/propertyMetadata.txt diff --git a/compiler/testData/codegen/box/delegatedProperty/toDelegateFor/differentReceivers.kt b/compiler/testData/codegen/box/delegatedProperty/toDelegateFor/differentReceivers.kt new file mode 100644 index 00000000000..5b07e5e98f7 --- /dev/null +++ b/compiler/testData/codegen/box/delegatedProperty/toDelegateFor/differentReceivers.kt @@ -0,0 +1,28 @@ +// WITH_RUNTIME +// IGNORE_BACKEND: JS + +import kotlin.test.* + +var log: String = "" + +class MyClass(val value: String) + +inline fun runLogged(entry: String, action: () -> T): T { + log += entry + return action() +} + +operator fun MyClass.toDelegateFor(host: Any?, p: Any): String = + runLogged("tdf(${this.value});") { this.value } + +operator fun String.getValue(receiver: Any?, p: Any): String = + runLogged("get($this);") { this } + +val testO by runLogged("O;") { MyClass("O") } +val testK by runLogged("K;") { "K" } +val testOK = runLogged("OK;") { testO + testK } + +fun box(): String { + assertEquals("O;tdf(O);K;OK;get(O);get(K);", log) + return testOK +} diff --git a/compiler/testData/codegen/box/delegatedProperty/toDelegateFor/evaluationOrderVar.kt b/compiler/testData/codegen/box/delegatedProperty/toDelegateFor/evaluationOrderVar.kt new file mode 100644 index 00000000000..47515156e2c --- /dev/null +++ b/compiler/testData/codegen/box/delegatedProperty/toDelegateFor/evaluationOrderVar.kt @@ -0,0 +1,39 @@ +// WITH_RUNTIME +// IGNORE_BACKEND: JS + +import kotlin.test.* + +var log: String = "" + +val dispatcher = hashMapOf() + +inline fun runLogged(entry: String, action: () -> T): T { + log += entry + return action() +} + +operator fun String.toDelegateFor(host: Any?, p: Any): String { + dispatcher[this] = this + return runLogged("tdf($this);") { this } +} + +operator fun String.getValue(receiver: Any?, p: Any): String = + runLogged("get(${dispatcher[this]});") { dispatcher[this]!! } + +operator fun String.setValue(receiver: Any?, p: Any, newValue: String) { + dispatcher[this] = newValue + runLogged("set(${dispatcher[this]});") { dispatcher[this]!! } +} + +var testO by runLogged("K;") { "K" } +var testK by runLogged("O;") { "O" } +val testOK = runLogged("OK;") { + testO = "O" + testK = "K" + testO + testK +} + +fun box(): String { + assertEquals("K;tdf(K);O;tdf(O);OK;set(O);set(K);get(O);get(K);", log) + return testOK +} diff --git a/compiler/testData/codegen/box/delegatedProperty/toDelegateFor/generic.kt b/compiler/testData/codegen/box/delegatedProperty/toDelegateFor/generic.kt new file mode 100644 index 00000000000..a8fb1ce0579 --- /dev/null +++ b/compiler/testData/codegen/box/delegatedProperty/toDelegateFor/generic.kt @@ -0,0 +1,32 @@ +// WITH_RUNTIME +// IGNORE_BACKEND: JS + +import kotlin.test.* + +var log: String = "" + +open class MyClass(val value: String) { + override fun toString(): String { + return value + } +} + +inline fun runLogged(entry: String, action: () -> T): T { + log += entry + return action() +} + +operator fun T.toDelegateFor(host: Any?, p: Any): T = + runLogged("tdf(${this.value});") { this } + +operator fun T.getValue(receiver: Any?, p: Any): T = + runLogged("get($this);") { this } + +val testO by runLogged("O;") { MyClass("O") } +val testK by runLogged("K;") { "K" } +val testOK = runLogged("OK;") { testO.value + testK } + +fun box(): String { + assertEquals("O;tdf(O);K;OK;get(O);get(K);", log) + return testOK +} diff --git a/compiler/testData/codegen/box/delegatedProperty/toDelegateFor/propertyMetadata.kt b/compiler/testData/codegen/box/delegatedProperty/toDelegateFor/propertyMetadata.kt new file mode 100644 index 00000000000..3386ed505c7 --- /dev/null +++ b/compiler/testData/codegen/box/delegatedProperty/toDelegateFor/propertyMetadata.kt @@ -0,0 +1,27 @@ +// WITH_RUNTIME +// IGNORE_BACKEND: JS + +import kotlin.test.* +import kotlin.reflect.KProperty + +var log: String = "" + +inline fun runLogged(entry: String, action: () -> T): T { + log += entry + return action() +} + +operator fun String.toDelegateFor(host: Any?, p: KProperty<*>): String = + if (p.name == this) runLogged("tdf($this);") { this } else "fail 1" + +operator fun String.getValue(receiver: Any?, p: KProperty<*>): String = + if (p.name == this) runLogged("get($this);") { this } else "fail 2" + +val O by runLogged("O;") { "O" } +val K by runLogged("K;") { "K" } +val OK = runLogged("OK;") { O + K } + +fun box(): String { + assertEquals("O;tdf(O);K;tdf(K);OK;get(O);get(K);", log) + return OK +} diff --git a/compiler/testData/codegen/light-analysis/delegatedProperty/toDelegateFor/differentReceivers.txt b/compiler/testData/codegen/light-analysis/delegatedProperty/toDelegateFor/differentReceivers.txt new file mode 100644 index 00000000000..f11995206b3 --- /dev/null +++ b/compiler/testData/codegen/light-analysis/delegatedProperty/toDelegateFor/differentReceivers.txt @@ -0,0 +1,23 @@ +public final class DifferentReceiversKt { + private synthetic final static field $$delegatedProperties: kotlin.reflect.KProperty[] + private static @org.jetbrains.annotations.NotNull field log: java.lang.String + private final static @org.jetbrains.annotations.NotNull field testK$delegate: java.lang.String + private final static @org.jetbrains.annotations.NotNull field testO$delegate: java.lang.String + private final static @org.jetbrains.annotations.NotNull field testOK: java.lang.String + public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getLog(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getTestK(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getTestO(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getTestOK(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getValue(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.Nullable p1: java.lang.Object, @org.jetbrains.annotations.NotNull p2: java.lang.Object): java.lang.String + public final static method runLogged(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.NotNull p1: kotlin.jvm.functions.Function0): java.lang.Object + public final static method setLog(@org.jetbrains.annotations.NotNull p0: java.lang.String): void + public final static @org.jetbrains.annotations.NotNull method toDelegateFor(@org.jetbrains.annotations.NotNull p0: MyClass, @org.jetbrains.annotations.Nullable p1: java.lang.Object, @org.jetbrains.annotations.NotNull p2: java.lang.Object): java.lang.String +} + + +public final class MyClass { + private final @org.jetbrains.annotations.NotNull field value: java.lang.String + public method (@org.jetbrains.annotations.NotNull p0: java.lang.String): void + public final @org.jetbrains.annotations.NotNull method getValue(): java.lang.String +} diff --git a/compiler/testData/codegen/light-analysis/delegatedProperty/toDelegateFor/evaluationOrderVar.txt b/compiler/testData/codegen/light-analysis/delegatedProperty/toDelegateFor/evaluationOrderVar.txt new file mode 100644 index 00000000000..b5686e84340 --- /dev/null +++ b/compiler/testData/codegen/light-analysis/delegatedProperty/toDelegateFor/evaluationOrderVar.txt @@ -0,0 +1,21 @@ +public final class EvaluationOrderVarKt { + private synthetic final static field $$delegatedProperties: kotlin.reflect.KProperty[] + private final static @org.jetbrains.annotations.NotNull field dispatcher: java.util.HashMap + private static @org.jetbrains.annotations.NotNull field log: java.lang.String + private final static @org.jetbrains.annotations.NotNull field testK$delegate: java.lang.String + private final static @org.jetbrains.annotations.NotNull field testO$delegate: java.lang.String + private final static @org.jetbrains.annotations.NotNull field testOK: java.lang.String + public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getDispatcher(): java.util.HashMap + public final static @org.jetbrains.annotations.NotNull method getLog(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getTestK(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getTestO(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getTestOK(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getValue(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.Nullable p1: java.lang.Object, @org.jetbrains.annotations.NotNull p2: java.lang.Object): java.lang.String + public final static method runLogged(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.NotNull p1: kotlin.jvm.functions.Function0): java.lang.Object + public final static method setLog(@org.jetbrains.annotations.NotNull p0: java.lang.String): void + public final static method setTestK(@org.jetbrains.annotations.NotNull p0: java.lang.String): void + public final static method setTestO(@org.jetbrains.annotations.NotNull p0: java.lang.String): void + public final static method setValue(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.Nullable p1: java.lang.Object, @org.jetbrains.annotations.NotNull p2: java.lang.Object, @org.jetbrains.annotations.NotNull p3: java.lang.String): void + public final static @org.jetbrains.annotations.NotNull method toDelegateFor(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.Nullable p1: java.lang.Object, @org.jetbrains.annotations.NotNull p2: java.lang.Object): java.lang.String +} diff --git a/compiler/testData/codegen/light-analysis/delegatedProperty/toDelegateFor/generic.txt b/compiler/testData/codegen/light-analysis/delegatedProperty/toDelegateFor/generic.txt new file mode 100644 index 00000000000..04696cfffd0 --- /dev/null +++ b/compiler/testData/codegen/light-analysis/delegatedProperty/toDelegateFor/generic.txt @@ -0,0 +1,24 @@ +public final class GenericKt { + private synthetic final static field $$delegatedProperties: kotlin.reflect.KProperty[] + private static @org.jetbrains.annotations.NotNull field log: java.lang.String + private final static @org.jetbrains.annotations.NotNull field testK$delegate: java.lang.String + private final static @org.jetbrains.annotations.NotNull field testO$delegate: MyClass + private final static @org.jetbrains.annotations.NotNull field testOK: java.lang.String + public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getLog(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getTestK(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getTestO(): MyClass + public final static @org.jetbrains.annotations.NotNull method getTestOK(): java.lang.String + public final static method getValue(p0: java.lang.Object, @org.jetbrains.annotations.Nullable p1: java.lang.Object, @org.jetbrains.annotations.NotNull p2: java.lang.Object): java.lang.Object + public final static method runLogged(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.NotNull p1: kotlin.jvm.functions.Function0): java.lang.Object + public final static method setLog(@org.jetbrains.annotations.NotNull p0: java.lang.String): void + public final static @org.jetbrains.annotations.NotNull method toDelegateFor(@org.jetbrains.annotations.NotNull p0: MyClass, @org.jetbrains.annotations.Nullable p1: java.lang.Object, @org.jetbrains.annotations.NotNull p2: java.lang.Object): MyClass +} + + +public class MyClass { + private final @org.jetbrains.annotations.NotNull field value: java.lang.String + public method (@org.jetbrains.annotations.NotNull p0: java.lang.String): void + public final @org.jetbrains.annotations.NotNull method getValue(): java.lang.String + public @org.jetbrains.annotations.NotNull method toString(): java.lang.String +} diff --git a/compiler/testData/codegen/light-analysis/delegatedProperty/toDelegateFor/propertyMetadata.txt b/compiler/testData/codegen/light-analysis/delegatedProperty/toDelegateFor/propertyMetadata.txt new file mode 100644 index 00000000000..ad49179ad3c --- /dev/null +++ b/compiler/testData/codegen/light-analysis/delegatedProperty/toDelegateFor/propertyMetadata.txt @@ -0,0 +1,16 @@ +public final class PropertyMetadataKt { + private synthetic final static field $$delegatedProperties: kotlin.reflect.KProperty[] + private final static @org.jetbrains.annotations.NotNull field K$delegate: java.lang.String + private final static @org.jetbrains.annotations.NotNull field O$delegate: java.lang.String + private final static @org.jetbrains.annotations.NotNull field OK: java.lang.String + private static @org.jetbrains.annotations.NotNull field log: java.lang.String + public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getK(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getLog(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getO(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getOK(): java.lang.String + public final static @org.jetbrains.annotations.NotNull method getValue(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.Nullable p1: java.lang.Object, @org.jetbrains.annotations.NotNull p2: kotlin.reflect.KProperty): java.lang.String + public final static method runLogged(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.NotNull p1: kotlin.jvm.functions.Function0): java.lang.Object + public final static method setLog(@org.jetbrains.annotations.NotNull p0: java.lang.String): void + public final static @org.jetbrains.annotations.NotNull method toDelegateFor(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.Nullable p1: java.lang.Object, @org.jetbrains.annotations.NotNull p2: kotlin.reflect.KProperty): java.lang.String +} diff --git a/compiler/tests-ir-jvm/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-ir-jvm/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java index 146de6a5f6c..1d565e44a53 100644 --- a/compiler/tests-ir-jvm/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-ir-jvm/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java @@ -6001,18 +6001,36 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/delegatedProperty/toDelegateFor"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.JVM, true); } + @TestMetadata("differentReceivers.kt") + public void testDifferentReceivers() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/differentReceivers.kt"); + doTest(fileName); + } + @TestMetadata("evaluationOrder.kt") public void testEvaluationOrder() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/evaluationOrder.kt"); doTest(fileName); } + @TestMetadata("evaluationOrderVar.kt") + public void testEvaluationOrderVar() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/evaluationOrderVar.kt"); + doTest(fileName); + } + @TestMetadata("extensionDelegated.kt") public void testExtensionDelegated() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/extensionDelegated.kt"); doTest(fileName); } + @TestMetadata("generic.kt") + public void testGeneric() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/generic.kt"); + doTest(fileName); + } + @TestMetadata("inClass.kt") public void testInClass() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/inClass.kt"); @@ -6036,6 +6054,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/memberExtension.kt"); doTest(fileName); } + + @TestMetadata("propertyMetadata.kt") + public void testPropertyMetadata() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/propertyMetadata.kt"); + doTest(fileName); + } } } diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java index 563f23d142a..b69e988ffd8 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java @@ -6001,18 +6001,36 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/delegatedProperty/toDelegateFor"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.JVM, true); } + @TestMetadata("differentReceivers.kt") + public void testDifferentReceivers() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/differentReceivers.kt"); + doTest(fileName); + } + @TestMetadata("evaluationOrder.kt") public void testEvaluationOrder() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/evaluationOrder.kt"); doTest(fileName); } + @TestMetadata("evaluationOrderVar.kt") + public void testEvaluationOrderVar() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/evaluationOrderVar.kt"); + doTest(fileName); + } + @TestMetadata("extensionDelegated.kt") public void testExtensionDelegated() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/extensionDelegated.kt"); doTest(fileName); } + @TestMetadata("generic.kt") + public void testGeneric() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/generic.kt"); + doTest(fileName); + } + @TestMetadata("inClass.kt") public void testInClass() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/inClass.kt"); @@ -6036,6 +6054,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/memberExtension.kt"); doTest(fileName); } + + @TestMetadata("propertyMetadata.kt") + public void testPropertyMetadata() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/propertyMetadata.kt"); + doTest(fileName); + } } } diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeCodegenTestGenerated.java index 9949466884a..b58c60bf664 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeCodegenTestGenerated.java @@ -6001,18 +6001,36 @@ public class LightAnalysisModeCodegenTestGenerated extends AbstractLightAnalysis KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/delegatedProperty/toDelegateFor"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.JVM, true); } + @TestMetadata("differentReceivers.kt") + public void testDifferentReceivers() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/differentReceivers.kt"); + doTest(fileName); + } + @TestMetadata("evaluationOrder.kt") public void testEvaluationOrder() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/evaluationOrder.kt"); doTest(fileName); } + @TestMetadata("evaluationOrderVar.kt") + public void testEvaluationOrderVar() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/evaluationOrderVar.kt"); + doTest(fileName); + } + @TestMetadata("extensionDelegated.kt") public void testExtensionDelegated() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/extensionDelegated.kt"); doTest(fileName); } + @TestMetadata("generic.kt") + public void testGeneric() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/generic.kt"); + doTest(fileName); + } + @TestMetadata("inClass.kt") public void testInClass() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/inClass.kt"); @@ -6036,6 +6054,12 @@ public class LightAnalysisModeCodegenTestGenerated extends AbstractLightAnalysis String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/memberExtension.kt"); doTest(fileName); } + + @TestMetadata("propertyMetadata.kt") + public void testPropertyMetadata() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/propertyMetadata.kt"); + doTest(fileName); + } } } 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 d1da4d19537..2ee24b4267a 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 @@ -6896,6 +6896,18 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/delegatedProperty/toDelegateFor"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.JS, true); } + @TestMetadata("differentReceivers.kt") + public void testDifferentReceivers() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/differentReceivers.kt"); + try { + doTest(fileName); + } + catch (Throwable ignore) { + return; + } + throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that."); + } + @TestMetadata("evaluationOrder.kt") public void testEvaluationOrder() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/evaluationOrder.kt"); @@ -6908,12 +6920,36 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that."); } + @TestMetadata("evaluationOrderVar.kt") + public void testEvaluationOrderVar() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/evaluationOrderVar.kt"); + try { + doTest(fileName); + } + catch (Throwable ignore) { + return; + } + throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that."); + } + @TestMetadata("extensionDelegated.kt") public void testExtensionDelegated() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/extensionDelegated.kt"); doTest(fileName); } + @TestMetadata("generic.kt") + public void testGeneric() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/generic.kt"); + try { + doTest(fileName); + } + catch (Throwable ignore) { + return; + } + throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that."); + } + @TestMetadata("inClass.kt") public void testInClass() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/inClass.kt"); @@ -6961,6 +6997,18 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { } throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that."); } + + @TestMetadata("propertyMetadata.kt") + public void testPropertyMetadata() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/delegatedProperty/toDelegateFor/propertyMetadata.kt"); + try { + doTest(fileName); + } + catch (Throwable ignore) { + return; + } + throw new AssertionError("Looks like this test can be unmuted. Remove IGNORE_BACKEND directive for that."); + } } }