From 5cb31c48745c47630ac7bc194fcec78f562fd4ab Mon Sep 17 00:00:00 2001 From: Stanislav Ruban Date: Tue, 24 Jan 2023 11:43:19 +0200 Subject: [PATCH] KT-55822: Add diagnostics test showing that issue is fixed in K2 ^KT-55822: Fixed Target versions: K2 --- ...CompilerTestFE10TestdataTestGenerated.java | 6 ++++ ...irOldFrontendDiagnosticsTestGenerated.java | 6 ++++ ...DiagnosticsWithLightTreeTestGenerated.java | 6 ++++ ...ClassWithRawTypeInOverrideSignature.fir.kt | 20 +++++++++++ ...JavaClassWithRawTypeInOverrideSignature.kt | 20 +++++++++++ ...avaClassWithRawTypeInOverrideSignature.txt | 34 +++++++++++++++++++ .../test/runners/DiagnosticTestGenerated.java | 6 ++++ 7 files changed, 98 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/override/InheritingJavaClassWithRawTypeInOverrideSignature.fir.kt create mode 100644 compiler/testData/diagnostics/tests/override/InheritingJavaClassWithRawTypeInOverrideSignature.kt create mode 100644 compiler/testData/diagnostics/tests/override/InheritingJavaClassWithRawTypeInOverrideSignature.txt 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 4d65d18f14b..93a7cc2d4c5 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 @@ -23436,6 +23436,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag runTest("compiler/testData/diagnostics/tests/override/Generics.kt"); } + @Test + @TestMetadata("InheritingJavaClassWithRawTypeInOverrideSignature.kt") + public void testInheritingJavaClassWithRawTypeInOverrideSignature() throws Exception { + runTest("compiler/testData/diagnostics/tests/override/InheritingJavaClassWithRawTypeInOverrideSignature.kt"); + } + @Test @TestMetadata("InternalPotentialOverride.kt") public void testInternalPotentialOverride() 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 b2763983d3f..aa4fde8444c 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 @@ -23442,6 +23442,12 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti runTest("compiler/testData/diagnostics/tests/override/Generics.kt"); } + @Test + @TestMetadata("InheritingJavaClassWithRawTypeInOverrideSignature.kt") + public void testInheritingJavaClassWithRawTypeInOverrideSignature() throws Exception { + runTest("compiler/testData/diagnostics/tests/override/InheritingJavaClassWithRawTypeInOverrideSignature.kt"); + } + @Test @TestMetadata("InternalPotentialOverride.kt") public void testInternalPotentialOverride() 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 2cc3b8c93f4..9875914e282 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 @@ -23436,6 +23436,12 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac runTest("compiler/testData/diagnostics/tests/override/Generics.kt"); } + @Test + @TestMetadata("InheritingJavaClassWithRawTypeInOverrideSignature.kt") + public void testInheritingJavaClassWithRawTypeInOverrideSignature() throws Exception { + runTest("compiler/testData/diagnostics/tests/override/InheritingJavaClassWithRawTypeInOverrideSignature.kt"); + } + @Test @TestMetadata("InternalPotentialOverride.kt") public void testInternalPotentialOverride() throws Exception { diff --git a/compiler/testData/diagnostics/tests/override/InheritingJavaClassWithRawTypeInOverrideSignature.fir.kt b/compiler/testData/diagnostics/tests/override/InheritingJavaClassWithRawTypeInOverrideSignature.fir.kt new file mode 100644 index 00000000000..8f52b1bb648 --- /dev/null +++ b/compiler/testData/diagnostics/tests/override/InheritingJavaClassWithRawTypeInOverrideSignature.fir.kt @@ -0,0 +1,20 @@ +// FILE: A.java +import java.util.List; + +public interface A { + void foo(List list); +} + +// FILE: B.java +import java.util.List; + +public abstract class B implements A { + @Override + public final void foo(List list) {} +} + +// FILE: C.java +public class C extends B implements A {} + +// FILE: Main.kt +class X : C() // false positive in K1, OK in K2 diff --git a/compiler/testData/diagnostics/tests/override/InheritingJavaClassWithRawTypeInOverrideSignature.kt b/compiler/testData/diagnostics/tests/override/InheritingJavaClassWithRawTypeInOverrideSignature.kt new file mode 100644 index 00000000000..1c068203a19 --- /dev/null +++ b/compiler/testData/diagnostics/tests/override/InheritingJavaClassWithRawTypeInOverrideSignature.kt @@ -0,0 +1,20 @@ +// FILE: A.java +import java.util.List; + +public interface A { + void foo(List list); +} + +// FILE: B.java +import java.util.List; + +public abstract class B implements A { + @Override + public final void foo(List list) {} +} + +// FILE: C.java +public class C extends B implements A {} + +// FILE: Main.kt +class X : C() // false positive in K1, OK in K2 diff --git a/compiler/testData/diagnostics/tests/override/InheritingJavaClassWithRawTypeInOverrideSignature.txt b/compiler/testData/diagnostics/tests/override/InheritingJavaClassWithRawTypeInOverrideSignature.txt new file mode 100644 index 00000000000..2111820516e --- /dev/null +++ b/compiler/testData/diagnostics/tests/override/InheritingJavaClassWithRawTypeInOverrideSignature.txt @@ -0,0 +1,34 @@ +package + +public interface A { + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public abstract fun foo(/*0*/ list: kotlin.collections.(Mutable)List!): kotlin.Unit + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String +} + +public abstract class B : A { + public constructor B() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + @java.lang.Override public final override /*1*/ fun foo(/*0*/ list: kotlin.collections.(Mutable)List<(raw) kotlin.Any?>!): kotlin.Unit + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String +} + +public open class C : B, A { + public constructor C() + public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + @java.lang.Override public final override /*1*/ /*fake_override*/ fun foo(/*0*/ list: kotlin.collections.(Mutable)List<(raw) kotlin.Any?>!): kotlin.Unit + public abstract override /*1*/ /*fake_override*/ fun foo(/*0*/ list: kotlin.collections.(Mutable)List!): kotlin.Unit + public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String +} + +public final class X : C { + public constructor X() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + @java.lang.Override public final override /*1*/ /*fake_override*/ fun foo(/*0*/ list: kotlin.collections.(Mutable)List<(raw) kotlin.Any?>!): kotlin.Unit + public abstract override /*1*/ /*fake_override*/ fun foo(/*0*/ list: kotlin.collections.(Mutable)List!): kotlin.Unit + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String +} 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 d4e2f1b30a9..88178301ee5 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 @@ -23442,6 +23442,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/override/Generics.kt"); } + @Test + @TestMetadata("InheritingJavaClassWithRawTypeInOverrideSignature.kt") + public void testInheritingJavaClassWithRawTypeInOverrideSignature() throws Exception { + runTest("compiler/testData/diagnostics/tests/override/InheritingJavaClassWithRawTypeInOverrideSignature.kt"); + } + @Test @TestMetadata("InternalPotentialOverride.kt") public void testInternalPotentialOverride() throws Exception {