KT-6628 Allow imports of classes from root package

#KT-6628 Fixed
This commit is contained in:
Valentin Kipyatkov
2015-01-20 18:05:35 +03:00
parent fa779bbdd2
commit 77a560775f
31 changed files with 115 additions and 185 deletions
@@ -1,25 +0,0 @@
// FILE: rootPackage.kt
class Klass {
}
fun function() = ""
val property = ""
// FILE: anotherFromRootPackage.kt
fun foo() {
Klass()
function() + property
}
// FILE: anotherFromRootPackage.kt
package pkg
import <!UNRESOLVED_REFERENCE!>Klass<!>
import <!UNRESOLVED_REFERENCE!>function<!>
import <!UNRESOLVED_REFERENCE!>property<!>
fun foo() {
<!UNRESOLVED_REFERENCE!>Klass<!>()
<!UNRESOLVED_REFERENCE!>function<!>() <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>+<!> <!UNRESOLVED_REFERENCE!>property<!>
}
@@ -0,0 +1,25 @@
// FILE: rootPackage.kt
class Klass {
}
fun function() = ""
val property = ""
// FILE: anotherFromRootPackage.kt
fun foo(): Klass {
function() + property
return Klass()
}
// FILE: anotherFromRootPackage.kt
package pkg
import Klass
import function
import property
fun foo(): Klass {
function() + property
return Klass()
}
@@ -1,7 +1,7 @@
package
internal val property: kotlin.String = ""
internal fun foo(): kotlin.Unit
internal fun foo(): Klass
internal fun function(): kotlin.String
internal final class Klass {
@@ -12,5 +12,5 @@ internal final class Klass {
}
package pkg {
internal fun foo(): kotlin.Unit
internal fun foo(): Klass
}
@@ -1,5 +0,0 @@
package a
import <!USELESS_SIMPLE_IMPORT!>a<!>
object B {}
@@ -1,18 +0,0 @@
package
package a {
internal object B {
private constructor B()
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
public class object <class-object-for-B> : a.B {
private constructor <class-object-for-B>()
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
}
}
}
@@ -1,9 +0,0 @@
// FILE:a.kt
package a
import <!USELESS_SIMPLE_IMPORT!>b<!>
// FILE:b.kt
package b
class B()
@@ -1,14 +0,0 @@
package
package a {
}
package b {
internal final class B {
public constructor B()
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
}
}
@@ -6,5 +6,5 @@ public class Ccc extends Bbb {
}
//FILE: Ddd.kt
import <!USELESS_SIMPLE_IMPORT!>Ccc<!>
import Ccc
@@ -16,13 +16,13 @@ fun foo() {
// FILE: otherPackage.kt
package test
import `!`Klass
import `!`function
import `!`property
import `k`Klass
import `f`function
import `p`property
fun foo() {
`!`Klass()
`!`function()
`!`property
`k`Klass()
`f`function()
`p`property
}
@@ -21,9 +21,9 @@ fun foo() {
// FILE: nonRoot.kt
package nonRoot
import java.lang.* // will not import Fake
import java.lang.* // will import Fake
fun foo() {
`!`Fake()
java.lang.`!`Fake() // qualification doesn't help, because we are in other package
`Fake`Fake()
java.lang.`!`Fake() // qualified access to root package's class does not work
}