Current package members to have less priority than explicit imports

This commit is contained in:
Valentin Kipyatkov
2015-01-15 20:54:35 +03:00
parent 59f24020b2
commit 929d6b885d
14 changed files with 188 additions and 93 deletions
@@ -0,0 +1,16 @@
// FILE: a.kt
package a
class X
// FILE: b.kt
package b
open class X
// FILE: b1.kt
package b
import a.*
class Y : X() // class from the current package should take priority
@@ -0,0 +1,28 @@
package
package a {
internal final class X {
public constructor X()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package b {
internal open class X {
public constructor X()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
internal final class Y : b.X {
public constructor Y()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,16 @@
// FILE: a.kt
package a
open class Y
// FILE: b.kt
package b
class X
// FILE: b1.kt
package b
import a.Y as X
class Y : X() // class from explicit import should take priority
@@ -0,0 +1,28 @@
package
package a {
internal open class Y {
public constructor Y()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
package b {
internal final class X {
public constructor X()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
internal final class Y : a.Y {
public constructor Y()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,8 @@
import kotlin.Double
import kotlin.List
import kotlin.arrayOfNulls
class List {}
fun arrayOfNulls(){}
val arrayOfNulls: Int = 0
@@ -1,5 +1,8 @@
package
internal val arrayOfNulls: kotlin.Int = 0
internal fun arrayOfNulls(): kotlin.Unit
internal final class List {
public constructor List()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -1,4 +0,0 @@
import kotlin.Double
import <!USELESS_HIDDEN_IMPORT!>kotlin.List<!>
class List {}