FIR: prioritize visible imported classes during type resolution
and produce an error on ambiguity.
This commit is contained in:
@@ -1,17 +0,0 @@
|
||||
// FILE: a.kt
|
||||
package a
|
||||
|
||||
class X
|
||||
|
||||
// FILE: b.kt
|
||||
package b
|
||||
|
||||
class X
|
||||
|
||||
// FILE: c.kt
|
||||
package c
|
||||
|
||||
import a.*
|
||||
import b.*
|
||||
|
||||
class Y : X
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: a.kt
|
||||
package a
|
||||
|
||||
|
||||
+1
-1
@@ -14,4 +14,4 @@ package c
|
||||
import a.X
|
||||
import b.X
|
||||
|
||||
class Y : X
|
||||
class Y : <!UNRESOLVED_REFERENCE!>X<!>
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
// FILE: File.kt
|
||||
package pack
|
||||
|
||||
public open class InetAddressImpl
|
||||
|
||||
// FILE: Main.kt
|
||||
package a
|
||||
|
||||
import java.net.* // should not import java.net.InetAddressImpl because it's package local
|
||||
import pack.*
|
||||
|
||||
class X : <!UNRESOLVED_REFERENCE!>InetAddressImpl<!>() // should resolve to our pack.InetAddressImpl
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: File.kt
|
||||
package pack
|
||||
|
||||
|
||||
@@ -17,8 +17,8 @@ class D {
|
||||
import a.A.B
|
||||
import a.D.B
|
||||
|
||||
fun test(b: B) {
|
||||
B()
|
||||
fun test(b: <!UNRESOLVED_REFERENCE!>B<!>) {
|
||||
<!UNRESOLVED_REFERENCE!>B<!>()
|
||||
}
|
||||
|
||||
// FILE: d.kt
|
||||
@@ -26,6 +26,6 @@ import a.A.*
|
||||
import a.D.*
|
||||
|
||||
// todo ambiguvity here
|
||||
fun test2(b: B) {
|
||||
B()
|
||||
fun test2(b: <!UNRESOLVED_REFERENCE!>B<!>) {
|
||||
<!UNRESOLVED_REFERENCE!>B<!>()
|
||||
}
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
// FILE: File1.kt
|
||||
package pack1
|
||||
|
||||
private class SomeClass
|
||||
|
||||
// FILE: File2.kt
|
||||
package pack2
|
||||
|
||||
public open class SomeClass
|
||||
|
||||
// FILE: Main.kt
|
||||
package a
|
||||
|
||||
import pack1.*
|
||||
import pack2.*
|
||||
|
||||
class X : <!EXPOSED_SUPER_CLASS, HIDDEN!>SomeClass<!>()
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: File1.kt
|
||||
package pack1
|
||||
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
// FILE: File1.kt
|
||||
package pack1
|
||||
|
||||
public class SomeClass {
|
||||
private class N
|
||||
public open class PublicNested
|
||||
}
|
||||
|
||||
// FILE: File2.kt
|
||||
package pack2
|
||||
|
||||
public open class N
|
||||
|
||||
// FILE: Main.kt
|
||||
package a
|
||||
|
||||
import pack1.SomeClass.*
|
||||
import pack2.*
|
||||
|
||||
class X : <!EXPOSED_SUPER_CLASS, HIDDEN!>N<!>()
|
||||
class Y : PublicNested()
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: File1.kt
|
||||
package pack1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user