From dcd1c2647e6c3d4f60265b01dd62086fc78ca14e Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Thu, 28 Nov 2019 12:19:17 +0300 Subject: [PATCH] [FIR-TEST] Add test with problem with default java importing scope --- .../problems/defaultJavaImportHiding.kt | 52 +++++++++++++++++++ .../problems/defaultJavaImportHiding.txt | 36 +++++++++++++ .../fir/FirDiagnosticsTestGenerated.java | 5 ++ 3 files changed, 93 insertions(+) create mode 100644 compiler/fir/resolve/testData/resolve/problems/defaultJavaImportHiding.kt create mode 100644 compiler/fir/resolve/testData/resolve/problems/defaultJavaImportHiding.txt diff --git a/compiler/fir/resolve/testData/resolve/problems/defaultJavaImportHiding.kt b/compiler/fir/resolve/testData/resolve/problems/defaultJavaImportHiding.kt new file mode 100644 index 00000000000..808996ff9d5 --- /dev/null +++ b/compiler/fir/resolve/testData/resolve/problems/defaultJavaImportHiding.kt @@ -0,0 +1,52 @@ +// FILE: util/HashMap.java + +package util; + +public class HashMap extends java.util.HashMap {} + +// FILE: foo/ArrayList.java + +package foo; + +public class ArrayList extends java.util.ArrayList {} + +// FILE: LinkedList.kt + +package foo + +class LinkedList : java.util.LinkedList() + +// FILE: HashSet.kt + +package util + +class HashSet : java.util.HashSet + +// FILE: main.kt + +package foo + +import util.HashMap +import util.HashSet + +class LinkedHashMap : java.util.LinkedHashMap() + +fun test_1() { + val map = HashMap() // <- should be util.HashMap +} + +fun test_2() { + val set = HashSet() // <- should be util.HashSet +} + +fun test_3() { + val list = ArrayList() // <- should be foo.ArrayList +} + +fun test_4() { + val list = LinkedList() // <- should be foo.LinkedList +} + +fun test_5() { + val map = LinkedHashMap() // should be foo.LinkedHashMap +} \ No newline at end of file diff --git a/compiler/fir/resolve/testData/resolve/problems/defaultJavaImportHiding.txt b/compiler/fir/resolve/testData/resolve/problems/defaultJavaImportHiding.txt new file mode 100644 index 00000000000..33adeaf356f --- /dev/null +++ b/compiler/fir/resolve/testData/resolve/problems/defaultJavaImportHiding.txt @@ -0,0 +1,36 @@ +FILE: LinkedList.kt + public final class LinkedList : R|class error: Symbol not found, for `java.util.LinkedList`| { + public constructor(): R|foo/LinkedList| { + super`|>() + } + + } +FILE: HashSet.kt + public final class HashSet : R|java/util/HashSet| { + public constructor(): R|util/HashSet| { + super() + } + + } +FILE: main.kt + public final class LinkedHashMap : R|class error: Symbol not found, for `java.util.LinkedHashMap`| { + public constructor(): R|foo/LinkedHashMap| { + super`|>() + } + + } + public final fun test_1(): R|kotlin/Unit| { + lval map: = #() + } + public final fun test_2(): R|kotlin/Unit| { + lval set: = #() + } + public final fun test_3(): R|kotlin/Unit| { + lval list: = #() + } + public final fun test_4(): R|kotlin/Unit| { + lval list: R|foo/LinkedList| = R|foo/LinkedList.LinkedList|() + } + public final fun test_5(): R|kotlin/Unit| { + lval map: R|foo/LinkedHashMap| = R|foo/LinkedHashMap.LinkedHashMap|() + } diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java index e225e2f683c..ca918bb1938 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java @@ -873,6 +873,11 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest { runTest("compiler/fir/resolve/testData/resolve/problems/asImports.kt"); } + @TestMetadata("defaultJavaImportHiding.kt") + public void testDefaultJavaImportHiding() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/problems/defaultJavaImportHiding.kt"); + } + @TestMetadata("definitelyNotNullAmbiguity.kt") public void testDefinitelyNotNullAmbiguity() throws Exception { runTest("compiler/fir/resolve/testData/resolve/problems/definitelyNotNullAmbiguity.kt");