FIR: prioritize visible imported classes during type resolution

and produce an error on ambiguity.
This commit is contained in:
pyos
2021-02-10 16:45:35 +01:00
committed by Mikhail Glukhikh
parent 291ed4a38a
commit 2dc0404751
25 changed files with 160 additions and 198 deletions
@@ -57,7 +57,7 @@ import libCase4.b.*
import kotlin.text.*
fun case4() {
<!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!><!AMBIGUITY!>Regex<!>("")<!>
<!DEBUG_INFO_CALL("fqName: libCase4.a.Regex; typeCall: function")!>Regex("")<!>
}
// FILE: Lib4.kt
@@ -221,8 +221,8 @@ import libCase8.b.*
import libCase8.c.*
fun case8(){
<!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!><!AMBIGUITY!>A<!>()<!>
<!AMBIGUITY!>A<!>()
<!DEBUG_INFO_CALL("fqName: libCase8.a.A; typeCall: function")!>A()<!>
A()
}
// FILE: Lib11.kt
@@ -278,7 +278,7 @@ import libCase10.b.*
import libCase10.c.*
fun case10(){
<!DEBUG_INFO_EXPRESSION_TYPE("ERROR CLASS: Ambiguity: A, [libCase10/b/A.A, libCase10/a/A]")!><!AMBIGUITY!>A<!>()<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>A()<!>
}
// FILE: Liba.kt
@@ -15,7 +15,7 @@ import libCase1.*
import kotlin.text.*
fun case1() {
<!DEBUG_INFO_CALL("fqName: libCase1.Regex.Regex; typeCall: function")!>Regex("")<!>
<!DEBUG_INFO_CALL("fqName: kotlin.text.Regex.Regex; typeCall: function")!>Regex("")<!>
}
// FILE: Lib1.kt
@@ -35,7 +35,7 @@ import lib1Case2.*
import kotlin.text.*
fun case2() {
<!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!><!AMBIGUITY!>Regex<!>("")<!>
<!DEBUG_INFO_CALL("fqName: kotlin.text.Regex.Regex; typeCall: function")!>Regex("")<!>
}
// FILE: Lib2.kt
@@ -68,7 +68,7 @@ import libCase3.*
import kotlin.text.*
fun case3() {
<!DEBUG_INFO_CALL("fqName: libCase3.Regex.Companion.invoke; typeCall: variable&invoke")!>Regex("")<!>
<!DEBUG_INFO_CALL("fqName: kotlin.text.Regex.Regex; typeCall: function")!>Regex("")<!>
}
// FILE: Lib3.kt
@@ -95,7 +95,7 @@ import lib1Case4.*
import kotlin.text.*
fun case4() {
<!DEBUG_INFO_CALL("fqName: libCase4.Regex.Regex; typeCall: function")!>Regex("")<!>
<!DEBUG_INFO_CALL("fqName: kotlin.text.Regex.Regex; typeCall: function")!>Regex("")<!>
}
// FILE: Lib4.kt