From 4cd93a9fec568975947b0a3853b9f6ce3f4185f7 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Mon, 6 Apr 2020 12:29:24 +0300 Subject: [PATCH] FIR: Add test for discrepancy in call resolution for qualifiers with old FE ^KT-38031 Open --- .../testData/resolve/problems/javaQualifier.kt | 17 +++++++++++++++++ .../testData/resolve/problems/javaQualifier.txt | 6 ++++++ .../kotlin/fir/FirDiagnosticsTestGenerated.java | 5 +++++ ...irDiagnosticsWithLightTreeTestGenerated.java | 5 +++++ 4 files changed, 33 insertions(+) create mode 100644 compiler/fir/analysis-tests/testData/resolve/problems/javaQualifier.kt create mode 100644 compiler/fir/analysis-tests/testData/resolve/problems/javaQualifier.txt diff --git a/compiler/fir/analysis-tests/testData/resolve/problems/javaQualifier.kt b/compiler/fir/analysis-tests/testData/resolve/problems/javaQualifier.kt new file mode 100644 index 00000000000..74aa7a2b9bd --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/problems/javaQualifier.kt @@ -0,0 +1,17 @@ +// FILE: W.java +public class W { + public static class E { + public static String w = ""; + } + + public static String E() {return "";} + + public static final String E = ""; +} + +// FILE: main.kt +fun main() { + W.E().length // ambiguity in old FE, resolved to static method in FIR + W.E.length // resolved to static field in FIR and old FE + W.E.w // resolved to static field in FE +} diff --git a/compiler/fir/analysis-tests/testData/resolve/problems/javaQualifier.txt b/compiler/fir/analysis-tests/testData/resolve/problems/javaQualifier.txt new file mode 100644 index 00000000000..41c23055994 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/problems/javaQualifier.txt @@ -0,0 +1,6 @@ +FILE: main.kt + public final fun main(): R|kotlin/Unit| { + Q|W|.R|/W.E|().R|kotlin/String.length| + Q|W|.R|/W.E|.R|kotlin/String.length| + Q|W|.R|/W.E|.# + } diff --git a/compiler/fir/analysis-tests/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java index 0ceda08c643..e04e9e12d75 100644 --- a/compiler/fir/analysis-tests/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java @@ -1586,6 +1586,11 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest { runTest("compiler/fir/analysis-tests/testData/resolve/problems/javaArrayInGeneric.kt"); } + @TestMetadata("javaQualifier.kt") + public void testJavaQualifier() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/problems/javaQualifier.kt"); + } + @TestMetadata("multipleJavaClassesInOneFile.kt") public void testMultipleJavaClassesInOneFile() throws Exception { runTest("compiler/fir/analysis-tests/testData/resolve/problems/multipleJavaClassesInOneFile.kt"); diff --git a/compiler/fir/analysis-tests/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithLightTreeTestGenerated.java b/compiler/fir/analysis-tests/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithLightTreeTestGenerated.java index 6c4a13fdc1b..71b04483f88 100644 --- a/compiler/fir/analysis-tests/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithLightTreeTestGenerated.java +++ b/compiler/fir/analysis-tests/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithLightTreeTestGenerated.java @@ -1586,6 +1586,11 @@ public class FirDiagnosticsWithLightTreeTestGenerated extends AbstractFirDiagnos runTest("compiler/fir/analysis-tests/testData/resolve/problems/javaArrayInGeneric.kt"); } + @TestMetadata("javaQualifier.kt") + public void testJavaQualifier() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/problems/javaQualifier.kt"); + } + @TestMetadata("multipleJavaClassesInOneFile.kt") public void testMultipleJavaClassesInOneFile() throws Exception { runTest("compiler/fir/analysis-tests/testData/resolve/problems/multipleJavaClassesInOneFile.kt");