From 30ad532ff981f3121145d7e2b3b0af42aebc7b89 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Fri, 19 Jan 2024 16:18:10 +0100 Subject: [PATCH] K2/tests: add a similar to containsAndOverload test about charAt / get Related to KT-64846 --- ...CompilerTestFE10TestdataTestGenerated.java | 6 +++++ ...sticCompilerFE10TestDataTestGenerated.java | 6 +++++ ...eeOldFrontendDiagnosticsTestGenerated.java | 6 +++++ ...siOldFrontendDiagnosticsTestGenerated.java | 6 +++++ .../charAtAndOverload.fir.kt | 26 +++++++++++++++++++ .../charAtAndOverload.fir.overrides.txt | 6 +++++ .../collectionOverrides/charAtAndOverload.kt | 26 +++++++++++++++++++ .../test/runners/DiagnosticTestGenerated.java | 6 +++++ 8 files changed, 88 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.fir.kt create mode 100644 compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.fir.overrides.txt create mode 100644 compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.kt diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java index c0020561a8f..cc7044351eb 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java @@ -22519,6 +22519,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/j+k/collectionOverrides"), Pattern.compile("^(.+)\\.(kt|kts)$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true); } + @Test + @TestMetadata("charAtAndOverload.kt") + public void testCharAtAndOverload() throws Exception { + runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.kt"); + } + @Test @TestMetadata("charBuffer.kt") public void testCharBuffer() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java index f3cd68a8cb6..49e98e31b23 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java @@ -22519,6 +22519,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/j+k/collectionOverrides"), Pattern.compile("^(.+)\\.(kt|kts)$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true); } + @Test + @TestMetadata("charAtAndOverload.kt") + public void testCharAtAndOverload() throws Exception { + runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.kt"); + } + @Test @TestMetadata("charBuffer.kt") public void testCharBuffer() 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 f7703ea24ae..1d48478e7bd 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 @@ -22513,6 +22513,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/j+k/collectionOverrides"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true, "multiplatform"); } + @Test + @TestMetadata("charAtAndOverload.kt") + public void testCharAtAndOverload() throws Exception { + runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.kt"); + } + @Test @TestMetadata("charBuffer.kt") public void testCharBuffer() 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 9d9b52cc7f9..6f75823446e 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 @@ -22519,6 +22519,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/j+k/collectionOverrides"), Pattern.compile("^(.*)\\.kts?$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true, "multiplatform"); } + @Test + @TestMetadata("charAtAndOverload.kt") + public void testCharAtAndOverload() throws Exception { + runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.kt"); + } + @Test @TestMetadata("charBuffer.kt") public void testCharBuffer() throws Exception { diff --git a/compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.fir.kt b/compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.fir.kt new file mode 100644 index 00000000000..57428d37ec8 --- /dev/null +++ b/compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.fir.kt @@ -0,0 +1,26 @@ +// SCOPE_DUMP: KA:get + +// FILE: A.java +abstract public class A implements CharSequence { + public final int length() { + return 0; + } + + public char charAt(int index) { + return ' '; + } + + public char get(int index) { + return 'X'; + } +} + +// FILE: main.kt +abstract class KA : A() { + override fun get(index: Int) = 'O' +} + +fun foo(a: A, ka: KA) { + a.get(0) + ka.get(0) +} diff --git a/compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.fir.overrides.txt b/compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.fir.overrides.txt new file mode 100644 index 00000000000..2405c62a99f --- /dev/null +++ b/compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.fir.overrides.txt @@ -0,0 +1,6 @@ +KA: + [Source]: public open override operator fun get(index: R|kotlin/Int|): R|kotlin/Char| from Use site scope of /KA [id: 0] + [Enhancement]: public open operator fun get(index: R|kotlin/Int|): R|kotlin/Char| from Java enhancement scope for /A [id: 1] + [Enhancement]: /* hidden due to clash */ public open operator fun get(index: R|kotlin/Int|): R|kotlin/Char| from Java enhancement scope for /A [id: 2] + [Library]: public abstract operator fun get(index: R|kotlin/Int|): R|kotlin/Char| from Use site scope of kotlin/CharSequence [id: 3] + diff --git a/compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.kt b/compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.kt new file mode 100644 index 00000000000..f09a60506a3 --- /dev/null +++ b/compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.kt @@ -0,0 +1,26 @@ +// SCOPE_DUMP: KA:get + +// FILE: A.java +abstract public class A implements CharSequence { + public final int length() { + return 0; + } + + public char charAt(int index) { + return ' '; + } + + public char get(int index) { + return 'X'; + } +} + +// FILE: main.kt +abstract class KA : A() { + override fun get(index: Int) = 'O' +} + +fun foo(a: A, ka: KA) { + a.get(0) + ka.get(0) +} 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 1daa7dfaa29..8191a25a873 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 @@ -22519,6 +22519,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests/j+k/collectionOverrides"), Pattern.compile("^(.*)\\.kts?$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true); } + @Test + @TestMetadata("charAtAndOverload.kt") + public void testCharAtAndOverload() throws Exception { + runTest("compiler/testData/diagnostics/tests/j+k/collectionOverrides/charAtAndOverload.kt"); + } + @Test @TestMetadata("charBuffer.kt") public void testCharBuffer() throws Exception {