From 5b0b7c4da4609d2aaeaf5fb01b67a25fbcdf2765 Mon Sep 17 00:00:00 2001 From: Stanislav Ruban Date: Fri, 10 Mar 2023 13:41:35 +0200 Subject: [PATCH] KT-57206: Add diagnostics test Problem described in KT-57206 seems to have been fixed by KT-56506. This commit adds code example from KT-57206 as a diagnostics test. ^KT-57206 Fixed --- ...CompilerTestFE10TestdataTestGenerated.java | 6 ++++ ...eeOldFrontendDiagnosticsTestGenerated.java | 6 ++++ ...siOldFrontendDiagnosticsTestGenerated.java | 6 ++++ .../OverrideOnlyGetterFromGenericJavaClass.kt | 33 +++++++++++++++++++ .../test/runners/DiagnosticTestGenerated.java | 6 ++++ 5 files changed, 57 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideOnlyGetterFromGenericJavaClass.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 ec7cfdc491b..dec40b90f98 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 @@ -32565,6 +32565,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideGetterOnly.kt"); } + @Test + @TestMetadata("OverrideOnlyGetterFromGenericJavaClass.kt") + public void testOverrideOnlyGetterFromGenericJavaClass() throws Exception { + runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideOnlyGetterFromGenericJavaClass.kt"); + } + @Test @TestMetadata("SetterHasHigherAccess.kt") public void testSetterHasHigherAccess() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java index d2637207fa2..a31fa9d4673 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java @@ -32565,6 +32565,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideGetterOnly.kt"); } + @Test + @TestMetadata("OverrideOnlyGetterFromGenericJavaClass.kt") + public void testOverrideOnlyGetterFromGenericJavaClass() throws Exception { + runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideOnlyGetterFromGenericJavaClass.kt"); + } + @Test @TestMetadata("SetterHasHigherAccess.kt") public void testSetterHasHigherAccess() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java index df39af5d7e1..247f1188e13 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java @@ -32661,6 +32661,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideGetterOnly.kt"); } + @Test + @TestMetadata("OverrideOnlyGetterFromGenericJavaClass.kt") + public void testOverrideOnlyGetterFromGenericJavaClass() throws Exception { + runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideOnlyGetterFromGenericJavaClass.kt"); + } + @Test @TestMetadata("SetterHasHigherAccess.kt") public void testSetterHasHigherAccess() throws Exception { diff --git a/compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideOnlyGetterFromGenericJavaClass.kt b/compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideOnlyGetterFromGenericJavaClass.kt new file mode 100644 index 00000000000..70456a6dae7 --- /dev/null +++ b/compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideOnlyGetterFromGenericJavaClass.kt @@ -0,0 +1,33 @@ +// FIR_IDENTICAL + +// FILE: TableView.java + +import java.util.Collection; + +public class TableView { + public Collection getSelection() { return null; } + public void setSelection(Collection selection) {} +} + +// FILE: JavaTableView.java + +import java.util.List; + +public class JavaTableView extends TableView { + @Override public List getSelection() { return null; } +} + +// FILE: main.kt + +class KotlinTableView: TableView() { + override fun getSelection(): List? { return null } +} + +fun foo( + javaTable: JavaTableView, + kotlinTable: KotlinTableView, + selection: ArrayList +) { + javaTable.selection = selection + kotlinTable.selection = selection +} 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 3c3f544df5e..2e4354b3986 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 @@ -32661,6 +32661,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideGetterOnly.kt"); } + @Test + @TestMetadata("OverrideOnlyGetterFromGenericJavaClass.kt") + public void testOverrideOnlyGetterFromGenericJavaClass() throws Exception { + runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideOnlyGetterFromGenericJavaClass.kt"); + } + @Test @TestMetadata("SetterHasHigherAccess.kt") public void testSetterHasHigherAccess() throws Exception {