From 7da271bab88cb90df1db9b3b57d1594093f9e30a Mon Sep 17 00:00:00 2001 From: Kirill Rakhman Date: Tue, 7 Nov 2023 13:47:58 +0100 Subject: [PATCH] [FIR] Serialize context receivers using the correct local serializer This leads to type ref referring to generic type variables being serialized correctly. When the type variable is declared on the member itself, it's written to typeParameterName, otherwise it's written to typeParameter. This is required for deserialization to work correctly. #KT-63227 Fixed --- ...LFirBlackBoxCodegenBasedTestGenerated.java | 6 +++++ ...rsedBlackBoxCodegenBasedTestGenerated.java | 6 +++++ .../fir/serialization/FirElementSerializer.kt | 8 +++---- ...LightTreeBlackBoxCodegenTestGenerated.java | 6 +++++ ...hIrFakeOverrideGeneratorTestGenerated.java | 6 +++++ .../FirPsiBlackBoxCodegenTestGenerated.java | 6 +++++ .../genericContextOverride.kt | 22 +++++++++++++++++++ .../codegen/BlackBoxCodegenTestGenerated.java | 6 +++++ .../IrBlackBoxCodegenTestGenerated.java | 6 +++++ ...kBoxCodegenWithIrInlinerTestGenerated.java | 6 +++++ .../LightAnalysisModeTestGenerated.java | 5 +++++ .../fir/FirJsCodegenBoxTestGenerated.java | 6 +++++ .../fir/FirJsES6CodegenBoxTestGenerated.java | 6 +++++ .../test/ir/IrJsCodegenBoxTestGenerated.java | 6 +++++ .../ir/IrJsES6CodegenBoxTestGenerated.java | 6 +++++ .../FirNativeCodegenBoxTestGenerated.java | 6 +++++ .../FirNativeCodegenBoxTestNoPLGenerated.java | 6 +++++ .../NativeCodegenBoxTestGenerated.java | 6 +++++ .../NativeCodegenBoxTestNoPLGenerated.java | 6 +++++ .../test/FirWasmCodegenBoxTestGenerated.java | 6 +++++ .../test/K1WasmCodegenBoxTestGenerated.java | 6 +++++ 21 files changed, 139 insertions(+), 4 deletions(-) create mode 100644 compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java index f3a2a40684f..f5986d6f3ee 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java @@ -18540,6 +18540,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java index 4d17dbcc17d..a17e1fb2522 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java @@ -18540,6 +18540,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt index 1d454ccc9c1..d1fc421cee7 100644 --- a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt +++ b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt @@ -546,9 +546,9 @@ class FirElementSerializer private constructor( for (contextReceiver in property.contextReceivers) { val typeRef = contextReceiver.typeRef if (useTypeTable()) { - builder.addContextReceiverTypeId(typeId(typeRef)) + builder.addContextReceiverTypeId(local.typeId(typeRef)) } else { - builder.addContextReceiverType(typeProto(contextReceiver.typeRef)) + builder.addContextReceiverType(local.typeProto(contextReceiver.typeRef)) } } @@ -633,9 +633,9 @@ class FirElementSerializer private constructor( for (contextReceiver in function.contextReceivers) { val typeRef = contextReceiver.typeRef if (useTypeTable()) { - builder.addContextReceiverTypeId(typeId(typeRef)) + builder.addContextReceiverTypeId(local.typeId(typeRef)) } else { - builder.addContextReceiverType(typeProto(contextReceiver.typeRef)) + builder.addContextReceiverType(local.typeProto(contextReceiver.typeRef)) } } diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java index 12c6f0677d7..96c7a5c2a4b 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java @@ -18469,6 +18469,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java index 67d34609528..7bc71fc35af 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java @@ -18469,6 +18469,12 @@ public class FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java index f63bccd46ca..002ad75de60 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java @@ -18469,6 +18469,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt b/compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt new file mode 100644 index 00000000000..f61f78207d7 --- /dev/null +++ b/compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt @@ -0,0 +1,22 @@ +// !LANGUAGE: +ContextReceivers +// MODULE: m1 +// FILE: Base.kt +abstract class Base { + context(T) + abstract val String.foo: Int? + + context(T) + abstract fun foo(): Int? +} + +// MODULE: box(m1) +// FILE: box.kt +class Child : Base() { + context(String) + override val String.foo: Int? get() = 1 + + context(String) + override fun foo(): Int? = 1 +} + +fun box() = "OK" \ No newline at end of file diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java index 3a55705cb47..1eb1f3147e1 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java @@ -17653,6 +17653,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java index 48e86a541a0..9cd9dc95dc4 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java @@ -18469,6 +18469,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java index 952c55a7473..c3d7bf017db 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java @@ -18469,6 +18469,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index e7da840a5fb..cf66ea1f693 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -15336,6 +15336,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { runTest("compiler/testData/codegen/box/extensionProperties/genericValForPrimitiveType.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java index b945056b2a0..0ec71611bce 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java @@ -13699,6 +13699,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenBoxTestGenerated.java index 9dd5638107d..8fcb8b87a78 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6CodegenBoxTestGenerated.java @@ -13699,6 +13699,12 @@ public class FirJsES6CodegenBoxTestGenerated extends AbstractFirJsES6CodegenBoxT KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java index 30908698eb6..522a0f47f5b 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java @@ -13699,6 +13699,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java index 733b2925ae9..063c64493e1 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java @@ -13699,6 +13699,12 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestGenerated.java index 5794bc08cb2..67d67263e42 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestGenerated.java @@ -14811,6 +14811,12 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestNoPLGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestNoPLGenerated.java index f3ec4abf5ef..a1be4ac2b37 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestNoPLGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenBoxTestNoPLGenerated.java @@ -15163,6 +15163,12 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestGenerated.java index 1267ebc1aea..30d895aaa85 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestGenerated.java @@ -14636,6 +14636,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestNoPLGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestNoPLGenerated.java index b846db6413a..2d91f86d919 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestNoPLGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenBoxTestNoPLGenerated.java @@ -14812,6 +14812,12 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmCodegenBoxTestGenerated.java b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmCodegenBoxTestGenerated.java index 03aaaa5607c..0729f8e8341 100644 --- a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmCodegenBoxTestGenerated.java +++ b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/FirWasmCodegenBoxTestGenerated.java @@ -13675,6 +13675,12 @@ public class FirWasmCodegenBoxTestGenerated extends AbstractFirWasmCodegenBoxTes KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.WASM, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception { diff --git a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/K1WasmCodegenBoxTestGenerated.java b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/K1WasmCodegenBoxTestGenerated.java index 755c5bb9a79..17a7a5eadce 100644 --- a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/K1WasmCodegenBoxTestGenerated.java +++ b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/K1WasmCodegenBoxTestGenerated.java @@ -13675,6 +13675,12 @@ public class K1WasmCodegenBoxTestGenerated extends AbstractK1WasmCodegenBoxTest KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/extensionProperties"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.WASM, true); } + @Test + @TestMetadata("genericContextOverride.kt") + public void testGenericContextOverride() throws Exception { + runTest("compiler/testData/codegen/box/extensionProperties/genericContextOverride.kt"); + } + @Test @TestMetadata("genericValForPrimitiveType.kt") public void testGenericValForPrimitiveType() throws Exception {