From 94129dce2e61e51fa7344281f1687eb46b4d632a Mon Sep 17 00:00:00 2001 From: "Denis.Zharkov" Date: Thu, 21 Oct 2021 13:00:06 +0300 Subject: [PATCH] FIR: Add a test with current behavior on upper bounds with raw types ^KT-49345 Related --- ...sCompilerTestFE10TestdataTestGenerated.java | 6 ++++++ ...FirOldFrontendDiagnosticsTestGenerated.java | 6 ++++++ ...dDiagnosticsWithLightTreeTestGenerated.java | 6 ++++++ .../tests/j+k/rawUpperBounds.fir.kt | 18 ++++++++++++++++++ .../diagnostics/tests/j+k/rawUpperBounds.kt | 18 ++++++++++++++++++ .../test/runners/DiagnosticTestGenerated.java | 6 ++++++ 6 files changed, 60 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/j+k/rawUpperBounds.fir.kt create mode 100644 compiler/testData/diagnostics/tests/j+k/rawUpperBounds.kt diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java index 28e2d5a1ada..bee157b3d33 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java @@ -17233,6 +17233,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag runTest("compiler/testData/diagnostics/tests/j+k/rawOverride.kt"); } + @Test + @TestMetadata("rawUpperBounds.kt") + public void testRawUpperBounds() throws Exception { + runTest("compiler/testData/diagnostics/tests/j+k/rawUpperBounds.kt"); + } + @Test @TestMetadata("recursionWithJavaSyntheticProperty.kt") public void testRecursionWithJavaSyntheticProperty() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java index e734e56640d..4e1d421248a 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java @@ -17233,6 +17233,12 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti runTest("compiler/testData/diagnostics/tests/j+k/rawOverride.kt"); } + @Test + @TestMetadata("rawUpperBounds.kt") + public void testRawUpperBounds() throws Exception { + runTest("compiler/testData/diagnostics/tests/j+k/rawUpperBounds.kt"); + } + @Test @TestMetadata("recursionWithJavaSyntheticProperty.kt") public void testRecursionWithJavaSyntheticProperty() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java index b71b564d1ec..b58e911ed4e 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java @@ -17233,6 +17233,12 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac runTest("compiler/testData/diagnostics/tests/j+k/rawOverride.kt"); } + @Test + @TestMetadata("rawUpperBounds.kt") + public void testRawUpperBounds() throws Exception { + runTest("compiler/testData/diagnostics/tests/j+k/rawUpperBounds.kt"); + } + @Test @TestMetadata("recursionWithJavaSyntheticProperty.kt") public void testRecursionWithJavaSyntheticProperty() throws Exception { diff --git a/compiler/testData/diagnostics/tests/j+k/rawUpperBounds.fir.kt b/compiler/testData/diagnostics/tests/j+k/rawUpperBounds.fir.kt new file mode 100644 index 00000000000..52061ece8ef --- /dev/null +++ b/compiler/testData/diagnostics/tests/j+k/rawUpperBounds.fir.kt @@ -0,0 +1,18 @@ +// SKIP_TXT + +// FILE: StubElement.java +public interface StubElement {} + +// FILE: IStubFileElementType.java +import org.jetbrains.annotations.*; + +public class IStubFileElementType { + public X getFoo() { return null; } +} + +// FILE: main.kt +fun foo(i: IStubFileElementType<*>) { + bar(i.getFoo()) // In FIR, `i.getFoo()` has a type ft, StubElement<*>?>, while in FE1.0 it's ft, StubElement<*>?> +} + +fun bar(w: StubElement) {} diff --git a/compiler/testData/diagnostics/tests/j+k/rawUpperBounds.kt b/compiler/testData/diagnostics/tests/j+k/rawUpperBounds.kt new file mode 100644 index 00000000000..42bfe592b0f --- /dev/null +++ b/compiler/testData/diagnostics/tests/j+k/rawUpperBounds.kt @@ -0,0 +1,18 @@ +// SKIP_TXT + +// FILE: StubElement.java +public interface StubElement {} + +// FILE: IStubFileElementType.java +import org.jetbrains.annotations.*; + +public class IStubFileElementType { + public X getFoo() { return null; } +} + +// FILE: main.kt +fun foo(i: IStubFileElementType<*>) { + bar(i.getFoo()) // In FIR, `i.getFoo()` has a type ft, StubElement<*>?>, while in FE1.0 it's ft, StubElement<*>?> +} + +fun bar(w: StubElement) {} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java index fde5f86d02a..66d84b090fc 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java @@ -17239,6 +17239,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/j+k/rawOverride.kt"); } + @Test + @TestMetadata("rawUpperBounds.kt") + public void testRawUpperBounds() throws Exception { + runTest("compiler/testData/diagnostics/tests/j+k/rawUpperBounds.kt"); + } + @Test @TestMetadata("recursionWithJavaSyntheticProperty.kt") public void testRecursionWithJavaSyntheticProperty() throws Exception {