From 4f0563dee19f22bf9fd35caede5fdfcb62cc6d50 Mon Sep 17 00:00:00 2001 From: Nikolay Lunyak Date: Wed, 5 Jul 2023 16:12:41 +0300 Subject: [PATCH] [FIR] Add a test for KT-55933 --- ...gnosticCompilerTestFE10TestdataTestGenerated.java | 6 ++++++ ...dDiagnosticCompilerFE10TestDataTestGenerated.java | 6 ++++++ ...LightTreeOldFrontendDiagnosticsTestGenerated.java | 6 ++++++ .../FirPsiOldFrontendDiagnosticsTestGenerated.java | 6 ++++++ .../diagnostics/tests/ambiguityNamedVararg.fir.kt | 12 ++++++++++++ .../diagnostics/tests/ambiguityNamedVararg.kt | 12 ++++++++++++ .../kotlin/test/runners/DiagnosticTestGenerated.java | 6 ++++++ 7 files changed, 54 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/ambiguityNamedVararg.fir.kt create mode 100644 compiler/testData/diagnostics/tests/ambiguityNamedVararg.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 efaf2a48983..308a12d6059 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 @@ -63,6 +63,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true, "multiplatform"); } + @Test + @TestMetadata("ambiguityNamedVararg.kt") + public void testAmbiguityNamedVararg() throws Exception { + runTest("compiler/testData/diagnostics/tests/ambiguityNamedVararg.kt"); + } + @Test @TestMetadata("annotationArgumentWithAliasedArrayType.kt") public void testAnnotationArgumentWithAliasedArrayType() 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 bb4e220f9f4..f0c0e89f199 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 @@ -63,6 +63,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true, "multiplatform"); } + @Test + @TestMetadata("ambiguityNamedVararg.kt") + public void testAmbiguityNamedVararg() throws Exception { + runTest("compiler/testData/diagnostics/tests/ambiguityNamedVararg.kt"); + } + @Test @TestMetadata("annotationArgumentWithAliasedArrayType.kt") public void testAnnotationArgumentWithAliasedArrayType() 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 cddd89a604b..40f8e122557 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 @@ -63,6 +63,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true, "multiplatform"); } + @Test + @TestMetadata("ambiguityNamedVararg.kt") + public void testAmbiguityNamedVararg() throws Exception { + runTest("compiler/testData/diagnostics/tests/ambiguityNamedVararg.kt"); + } + @Test @TestMetadata("annotationArgumentWithAliasedArrayType.kt") public void testAnnotationArgumentWithAliasedArrayType() 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 211ed042c76..f327c14ed35 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 @@ -63,6 +63,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests"), Pattern.compile("^(.*)\\.kts?$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true, "multiplatform"); } + @Test + @TestMetadata("ambiguityNamedVararg.kt") + public void testAmbiguityNamedVararg() throws Exception { + runTest("compiler/testData/diagnostics/tests/ambiguityNamedVararg.kt"); + } + @Test @TestMetadata("annotationArgumentWithAliasedArrayType.kt") public void testAnnotationArgumentWithAliasedArrayType() throws Exception { diff --git a/compiler/testData/diagnostics/tests/ambiguityNamedVararg.fir.kt b/compiler/testData/diagnostics/tests/ambiguityNamedVararg.fir.kt new file mode 100644 index 00000000000..4044f6fa3a6 --- /dev/null +++ b/compiler/testData/diagnostics/tests/ambiguityNamedVararg.fir.kt @@ -0,0 +1,12 @@ +// DIAGNOSTICS: -DEBUG_INFO_MISSING_UNRESOLVED +// ISSUE: KT-55933 + +fun swapVararg(vararg namedVararg: String, named: Int){} +fun swapVararg(named: Int, vararg namedVararg: String){} + +val x = swapVararg(named = 42, namedVararg = arrayOf("1", "2"),) + +fun swap(string: String, int: Int){} +fun swap(int: Int, string: String){} + +val y = swap(int = 42, string = "2") diff --git a/compiler/testData/diagnostics/tests/ambiguityNamedVararg.kt b/compiler/testData/diagnostics/tests/ambiguityNamedVararg.kt new file mode 100644 index 00000000000..045b5c48d3e --- /dev/null +++ b/compiler/testData/diagnostics/tests/ambiguityNamedVararg.kt @@ -0,0 +1,12 @@ +// DIAGNOSTICS: -DEBUG_INFO_MISSING_UNRESOLVED +// ISSUE: KT-55933 + +fun swapVararg(vararg namedVararg: String, named: Int){} +fun swapVararg(named: Int, vararg namedVararg: String){} + +val x = swapVararg(named = 42, namedVararg = arrayOf("1", "2"),) + +fun swap(string: String, int: Int){} +fun swap(int: Int, string: String){} + +val y = swap(int = 42, string = "2") 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 0e4ca8eb5c8..ff0094f437d 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 @@ -63,6 +63,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/tests"), Pattern.compile("^(.*)\\.kts?$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true); } + @Test + @TestMetadata("ambiguityNamedVararg.kt") + public void testAmbiguityNamedVararg() throws Exception { + runTest("compiler/testData/diagnostics/tests/ambiguityNamedVararg.kt"); + } + @Test @TestMetadata("annotationArgumentWithAliasedArrayType.kt") public void testAnnotationArgumentWithAliasedArrayType() throws Exception {