From d5b784805ba60e8baab8e276ea53be3e6fa8dbb5 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 20 Dec 2023 15:05:55 +0100 Subject: [PATCH] K2: add tests for KT-58579 and for KT-64090 reproduction --- ...LFirBlackBoxCodegenBasedTestGenerated.java | 12 +++++++++ ...rsedBlackBoxCodegenBasedTestGenerated.java | 12 +++++++++ ...LightTreeBlackBoxCodegenTestGenerated.java | 12 +++++++++ ...hIrFakeOverrideGeneratorTestGenerated.java | 12 +++++++++ .../FirPsiBlackBoxCodegenTestGenerated.java | 12 +++++++++ ...mAnotherModuleWithRawTypedWildcardBound.kt | 25 +++++++++++++++++++ ...FromSameModuleWithRawTypedWildcardBound.kt | 22 ++++++++++++++++ .../JvmAbiConsistencyTestBoxGenerated.java | 12 +++++++++ .../IrBlackBoxCodegenTestGenerated.java | 12 +++++++++ ...kBoxCodegenWithIrInlinerTestGenerated.java | 12 +++++++++ .../LightAnalysisModeTestGenerated.java | 10 ++++++++ 11 files changed, 153 insertions(+) create mode 100644 compiler/testData/codegen/box/javaInterop/javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt create mode 100644 compiler/testData/codegen/box/javaInterop/javaTypeFromSameModuleWithRawTypedWildcardBound.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 3ff0076ddca..8be1e699bd9 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 @@ -31036,6 +31036,18 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo runTest("compiler/testData/codegen/box/javaInterop/javaOuterClassDependsOnInner.kt"); } + @Test + @TestMetadata("javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromAnotherModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt"); + } + + @Test + @TestMetadata("javaTypeFromSameModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromSameModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromSameModuleWithRawTypedWildcardBound.kt"); + } + @Test @TestMetadata("kt43217.kt") public void testKt43217() 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 1dd8ffa7c30..30f9462b9a6 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 @@ -31036,6 +31036,18 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi runTest("compiler/testData/codegen/box/javaInterop/javaOuterClassDependsOnInner.kt"); } + @Test + @TestMetadata("javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromAnotherModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt"); + } + + @Test + @TestMetadata("javaTypeFromSameModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromSameModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromSameModuleWithRawTypedWildcardBound.kt"); + } + @Test @TestMetadata("kt43217.kt") public void testKt43217() throws Exception { 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 2b64c71eacc..822d2d602c6 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 @@ -30651,6 +30651,18 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr runTest("compiler/testData/codegen/box/javaInterop/javaOuterClassDependsOnInner.kt"); } + @Test + @TestMetadata("javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromAnotherModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt"); + } + + @Test + @TestMetadata("javaTypeFromSameModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromSameModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromSameModuleWithRawTypedWildcardBound.kt"); + } + @Test @TestMetadata("kt43217.kt") public void testKt43217() 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 b577bd31974..4877e891a81 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 @@ -30651,6 +30651,18 @@ public class FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated runTest("compiler/testData/codegen/box/javaInterop/javaOuterClassDependsOnInner.kt"); } + @Test + @TestMetadata("javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromAnotherModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt"); + } + + @Test + @TestMetadata("javaTypeFromSameModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromSameModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromSameModuleWithRawTypedWildcardBound.kt"); + } + @Test @TestMetadata("kt43217.kt") public void testKt43217() 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 f2ab101d3d3..6d8a7ed30d2 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 @@ -30651,6 +30651,18 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo runTest("compiler/testData/codegen/box/javaInterop/javaOuterClassDependsOnInner.kt"); } + @Test + @TestMetadata("javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromAnotherModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt"); + } + + @Test + @TestMetadata("javaTypeFromSameModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromSameModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromSameModuleWithRawTypedWildcardBound.kt"); + } + @Test @TestMetadata("kt43217.kt") public void testKt43217() throws Exception { diff --git a/compiler/testData/codegen/box/javaInterop/javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt b/compiler/testData/codegen/box/javaInterop/javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt new file mode 100644 index 00000000000..28af298bbe2 --- /dev/null +++ b/compiler/testData/codegen/box/javaInterop/javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt @@ -0,0 +1,25 @@ +// TARGET_BACKEND: JVM_IR +// IGNORE_BACKEND_K2: JVM_IR +// ISSUE: KT-64090 + +// MODULE: lib +// FILE: Invariant.java +public class Invariant {} + +// FILE: Generic.java +public class Generic { + public class Inner {} + public static Invariant foo() { + return null; + } +} + +// MODULE: main(lib) +// FILE: Main.kt +fun box(): String { + val value = Generic.foo() + value.bar() + return "OK" +} + +fun T.bar() {} diff --git a/compiler/testData/codegen/box/javaInterop/javaTypeFromSameModuleWithRawTypedWildcardBound.kt b/compiler/testData/codegen/box/javaInterop/javaTypeFromSameModuleWithRawTypedWildcardBound.kt new file mode 100644 index 00000000000..d64ed85ddaf --- /dev/null +++ b/compiler/testData/codegen/box/javaInterop/javaTypeFromSameModuleWithRawTypedWildcardBound.kt @@ -0,0 +1,22 @@ +// TARGET_BACKEND: JVM_IR +// ISSUE: KT-58579 + +// FILE: Invariant.java +public class Invariant {} + +// FILE: Generic.java +public class Generic { + public class Inner {} + public static Invariant foo() { + return null; + } +} + +// FILE: Main.kt +fun box(): String { + val value = Generic.foo() + value.bar() + return "OK" +} + +fun T.bar() {} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java index af1e50b9c4b..cecd63046ab 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java @@ -30651,6 +30651,18 @@ public class JvmAbiConsistencyTestBoxGenerated extends AbstractJvmAbiConsistency runTest("compiler/testData/codegen/box/javaInterop/javaOuterClassDependsOnInner.kt"); } + @Test + @TestMetadata("javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromAnotherModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt"); + } + + @Test + @TestMetadata("javaTypeFromSameModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromSameModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromSameModuleWithRawTypedWildcardBound.kt"); + } + @Test @TestMetadata("kt43217.kt") public void testKt43217() 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 15127bb1703..ab74c57147c 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 @@ -30651,6 +30651,18 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/javaInterop/javaOuterClassDependsOnInner.kt"); } + @Test + @TestMetadata("javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromAnotherModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt"); + } + + @Test + @TestMetadata("javaTypeFromSameModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromSameModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromSameModuleWithRawTypedWildcardBound.kt"); + } + @Test @TestMetadata("kt43217.kt") public void testKt43217() 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 b270974568d..1f9a7f73c55 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 @@ -30651,6 +30651,18 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack runTest("compiler/testData/codegen/box/javaInterop/javaOuterClassDependsOnInner.kt"); } + @Test + @TestMetadata("javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromAnotherModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt"); + } + + @Test + @TestMetadata("javaTypeFromSameModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromSameModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromSameModuleWithRawTypedWildcardBound.kt"); + } + @Test @TestMetadata("kt43217.kt") public void testKt43217() 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 f1fd93157c6..e2ba10fd4fb 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -25941,6 +25941,16 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/javaInterop/javaOuterClassDependsOnInner.kt"); } + @TestMetadata("javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromAnotherModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromAnotherModuleWithRawTypedWildcardBound.kt"); + } + + @TestMetadata("javaTypeFromSameModuleWithRawTypedWildcardBound.kt") + public void testJavaTypeFromSameModuleWithRawTypedWildcardBound() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaTypeFromSameModuleWithRawTypedWildcardBound.kt"); + } + @TestMetadata("kt43217.kt") public void testKt43217() throws Exception { runTest("compiler/testData/codegen/box/javaInterop/kt43217.kt");