Allow to import members from object by name
Wrap object members so they do not require dispatch receiver Hack jvm backend to make it work
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
// FILE: a.Kt
|
||||
package a
|
||||
|
||||
class C1 {
|
||||
companion object O {
|
||||
class A
|
||||
object B
|
||||
|
||||
fun bar() {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class C2 {
|
||||
companion object S {
|
||||
|
||||
val prop: String = ""
|
||||
|
||||
fun o(<!UNUSED_PARAMETER!>s<!>: String) = Unit
|
||||
fun o(<!UNUSED_PARAMETER!>i<!>: Int) = Unit
|
||||
|
||||
fun Int.ext() = Unit
|
||||
var String.ext: Int
|
||||
get() = 3
|
||||
set(i) {
|
||||
}
|
||||
|
||||
fun A(<!UNUSED_PARAMETER!>c<!>: Int) = A()
|
||||
|
||||
class A()
|
||||
|
||||
fun <T> genericFun(t: T, <!UNUSED_PARAMETER!>t2<!>: T): T = t
|
||||
}
|
||||
}
|
||||
|
||||
open class Base {
|
||||
fun f() {
|
||||
}
|
||||
|
||||
fun <T> g(<!UNUSED_PARAMETER!>t<!>: T) {
|
||||
}
|
||||
|
||||
val p = 1
|
||||
val Int.ext: Int
|
||||
get() = 4
|
||||
}
|
||||
|
||||
interface BaseI<T> {
|
||||
fun fromI(): Int = 3
|
||||
|
||||
fun genericFromI(t: T) = t
|
||||
}
|
||||
|
||||
class C3 {
|
||||
companion object K: Base(), BaseI<Int> {
|
||||
val own: String = ""
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: b.kt
|
||||
package b
|
||||
|
||||
import a.C1.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>O<!>.*
|
||||
|
||||
fun testErroneusAllUnderImportFromObject() {
|
||||
A()
|
||||
B
|
||||
<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
}
|
||||
|
||||
// FILE: c.kt
|
||||
package c
|
||||
|
||||
import a.C2.S.prop
|
||||
import a.C2.S.o
|
||||
import a.C2.S.ext
|
||||
import a.C2.S.A
|
||||
import a.C2.S.genericFun
|
||||
import a.C2.S.ext as extRenamed
|
||||
|
||||
fun testImportFromObjectByName() {
|
||||
prop
|
||||
o("a")
|
||||
o(3)
|
||||
3.ext()
|
||||
"".ext = 3
|
||||
val <!UNUSED_VARIABLE!>c<!>: Int = "".ext
|
||||
|
||||
3.extRenamed()
|
||||
"".extRenamed = 3
|
||||
val <!UNUSED_VARIABLE!>c2<!>: Int = "".extRenamed
|
||||
|
||||
A()
|
||||
A(3)
|
||||
|
||||
val <!UNUSED_VARIABLE!>a<!>: Int = genericFun(3, 3)
|
||||
val <!UNUSED_VARIABLE!>s<!>: String = genericFun("A", "b")
|
||||
val <!UNUSED_VARIABLE!>b<!>: Boolean = genericFun(true, false)
|
||||
}
|
||||
|
||||
fun <T> t(t: T): T {
|
||||
return genericFun(t, t)
|
||||
}
|
||||
|
||||
// FILE: d.kt
|
||||
package d
|
||||
|
||||
import a.C2.S.prop as renamed
|
||||
|
||||
fun testFunImportedFromObjectHasNoDispatchReceiver(l: a.C2.S) {
|
||||
l.<!UNRESOLVED_REFERENCE!>renamed<!>
|
||||
l.prop
|
||||
renamed
|
||||
}
|
||||
|
||||
// FILE: e.kt
|
||||
|
||||
package e
|
||||
|
||||
import a.C3.K.f
|
||||
import a.C3.K.g
|
||||
import a.C3.K.p
|
||||
import a.C3.K.own
|
||||
import a.C3.K.fromI
|
||||
import a.C3.K.genericFromI
|
||||
import a.C3.K.ext
|
||||
|
||||
fun testMembersFromSupertypes() {
|
||||
f()
|
||||
g("")
|
||||
p
|
||||
fromI()
|
||||
|
||||
genericFromI(3)
|
||||
genericFromI(<!TYPE_MISMATCH!>"a"<!>)
|
||||
|
||||
own
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
package
|
||||
|
||||
package a {
|
||||
|
||||
public open class Base {
|
||||
public constructor Base()
|
||||
public final val p: kotlin.Int = 1
|
||||
public final val kotlin.Int.ext: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final fun f(): kotlin.Unit
|
||||
public final fun </*0*/ T> g(/*0*/ t: T): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface BaseI</*0*/ T> {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open fun fromI(): kotlin.Int
|
||||
public open fun genericFromI(/*0*/ t: T): T
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final class C1 {
|
||||
public constructor C1()
|
||||
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 companion object O {
|
||||
private constructor O()
|
||||
public final fun bar(): kotlin.Unit
|
||||
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 final class A {
|
||||
public constructor A()
|
||||
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 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 final class C2 {
|
||||
public constructor C2()
|
||||
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 companion object S {
|
||||
private constructor S()
|
||||
public final val prop: kotlin.String = ""
|
||||
public final var kotlin.String.ext: kotlin.Int
|
||||
public final fun A(/*0*/ c: kotlin.Int): a.C2.S.A
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final fun </*0*/ T> genericFun(/*0*/ t: T, /*1*/ t2: T): T
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public final fun o(/*0*/ i: kotlin.Int): kotlin.Unit
|
||||
public final fun o(/*0*/ s: kotlin.String): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
public final fun kotlin.Int.ext(): kotlin.Unit
|
||||
|
||||
public final class A {
|
||||
public constructor A()
|
||||
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 final class C3 {
|
||||
public constructor C3()
|
||||
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 companion object K : a.Base, a.BaseI<kotlin.Int> {
|
||||
private constructor K()
|
||||
public final val own: kotlin.String = ""
|
||||
public final override /*1*/ /*fake_override*/ val p: kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ val kotlin.Int.ext: kotlin.Int
|
||||
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final override /*1*/ /*fake_override*/ fun f(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun fromI(): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun </*0*/ T> g(/*0*/ t: T): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun genericFromI(/*0*/ t: kotlin.Int): kotlin.Int
|
||||
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
package b {
|
||||
public fun testErroneusAllUnderImportFromObject(): kotlin.Unit
|
||||
}
|
||||
|
||||
package c {
|
||||
public fun </*0*/ T> t(/*0*/ t: T): T
|
||||
public fun testImportFromObjectByName(): kotlin.Unit
|
||||
}
|
||||
|
||||
package d {
|
||||
public fun testFunImportedFromObjectHasNoDispatchReceiver(/*0*/ l: a.C2.S): kotlin.Unit
|
||||
}
|
||||
|
||||
package e {
|
||||
public fun testMembersFromSupertypes(): kotlin.Unit
|
||||
}
|
||||
+114
-2
@@ -8,13 +8,125 @@ object O {
|
||||
fun bar() {}
|
||||
}
|
||||
|
||||
|
||||
object S {
|
||||
|
||||
val prop: String = ""
|
||||
|
||||
fun o(<!UNUSED_PARAMETER!>s<!>: String) = Unit
|
||||
fun o(<!UNUSED_PARAMETER!>i<!>: Int) = Unit
|
||||
|
||||
fun Int.ext() = Unit
|
||||
var String.ext: Int
|
||||
get() = 3
|
||||
set(i) {
|
||||
}
|
||||
|
||||
fun A(<!UNUSED_PARAMETER!>c<!>: Int) = A()
|
||||
|
||||
class A()
|
||||
|
||||
fun <T> genericFun(t: T, <!UNUSED_PARAMETER!>t2<!>: T): T = t
|
||||
}
|
||||
|
||||
open class Base {
|
||||
fun f() {
|
||||
}
|
||||
|
||||
fun <T> g(<!UNUSED_PARAMETER!>t<!>: T) {
|
||||
}
|
||||
|
||||
val p = 1
|
||||
val Int.ext: Int
|
||||
get() = 4
|
||||
}
|
||||
|
||||
interface BaseI<T> {
|
||||
fun fromI(): Int = 3
|
||||
|
||||
fun genericFromI(t: T) = t
|
||||
}
|
||||
|
||||
object K: Base(), BaseI<Int> {
|
||||
val own: String = ""
|
||||
}
|
||||
|
||||
// FILE: b.kt
|
||||
package b
|
||||
|
||||
import a.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>O<!>.*
|
||||
import a.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>O<!>.*
|
||||
|
||||
fun test() {
|
||||
fun testErroneusAllUnderImportFromObject() {
|
||||
A()
|
||||
B
|
||||
<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
}
|
||||
|
||||
// FILE: c.kt
|
||||
package c
|
||||
|
||||
import a.S.prop
|
||||
import a.S.o
|
||||
import a.S.ext
|
||||
import a.S.A
|
||||
import a.S.genericFun
|
||||
import a.S.ext as extRenamed
|
||||
|
||||
fun testImportFromObjectByName() {
|
||||
prop
|
||||
o("a")
|
||||
o(3)
|
||||
3.ext()
|
||||
"".ext = 3
|
||||
val <!UNUSED_VARIABLE!>c<!>: Int = "".ext
|
||||
|
||||
3.extRenamed()
|
||||
"".extRenamed = 3
|
||||
val <!UNUSED_VARIABLE!>c2<!>: Int = "".extRenamed
|
||||
|
||||
A()
|
||||
A(3)
|
||||
|
||||
val <!UNUSED_VARIABLE!>a<!>: Int = genericFun(3, 3)
|
||||
val <!UNUSED_VARIABLE!>s<!>: String = genericFun("A", "b")
|
||||
val <!UNUSED_VARIABLE!>b<!>: Boolean = genericFun(true, false)
|
||||
}
|
||||
|
||||
fun <T> t(t: T): T {
|
||||
return genericFun(t, t)
|
||||
}
|
||||
|
||||
// FILE: d.kt
|
||||
package d
|
||||
|
||||
import a.S.prop as renamed
|
||||
|
||||
fun testFunImportedFromObjectHasNoDispatchReceiver(l: a.S) {
|
||||
l.<!UNRESOLVED_REFERENCE!>renamed<!>
|
||||
l.prop
|
||||
renamed
|
||||
}
|
||||
|
||||
// FILE: e.kt
|
||||
|
||||
package e
|
||||
|
||||
import a.K.f
|
||||
import a.K.g
|
||||
import a.K.p
|
||||
import a.K.own
|
||||
import a.K.fromI
|
||||
import a.K.genericFromI
|
||||
import a.K.ext
|
||||
|
||||
fun testMembersFromSupertypes() {
|
||||
f()
|
||||
g("")
|
||||
p
|
||||
fromI()
|
||||
|
||||
genericFromI(3)
|
||||
genericFromI(<!TYPE_MISMATCH!>"a"<!>)
|
||||
|
||||
own
|
||||
}
|
||||
@@ -2,6 +2,39 @@ package
|
||||
|
||||
package a {
|
||||
|
||||
public open class Base {
|
||||
public constructor Base()
|
||||
public final val p: kotlin.Int = 1
|
||||
public final val kotlin.Int.ext: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final fun f(): kotlin.Unit
|
||||
public final fun </*0*/ T> g(/*0*/ t: T): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface BaseI</*0*/ T> {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open fun fromI(): kotlin.Int
|
||||
public open fun genericFromI(/*0*/ t: T): T
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public object K : a.Base, a.BaseI<kotlin.Int> {
|
||||
private constructor K()
|
||||
public final val own: kotlin.String = ""
|
||||
public final override /*1*/ /*fake_override*/ val p: kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ val kotlin.Int.ext: kotlin.Int
|
||||
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final override /*1*/ /*fake_override*/ fun f(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun fromI(): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun </*0*/ T> g(/*0*/ t: T): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun genericFromI(/*0*/ t: kotlin.Int): kotlin.Int
|
||||
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public object O {
|
||||
private constructor O()
|
||||
public final fun bar(): kotlin.Unit
|
||||
@@ -23,8 +56,42 @@ package a {
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
|
||||
public object S {
|
||||
private constructor S()
|
||||
public final val prop: kotlin.String = ""
|
||||
public final var kotlin.String.ext: kotlin.Int
|
||||
public final fun A(/*0*/ c: kotlin.Int): a.S.A
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final fun </*0*/ T> genericFun(/*0*/ t: T, /*1*/ t2: T): T
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public final fun o(/*0*/ i: kotlin.Int): kotlin.Unit
|
||||
public final fun o(/*0*/ s: kotlin.String): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
public final fun kotlin.Int.ext(): kotlin.Unit
|
||||
|
||||
public final class A {
|
||||
public constructor A()
|
||||
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 {
|
||||
public fun test(): kotlin.Unit
|
||||
public fun testErroneusAllUnderImportFromObject(): kotlin.Unit
|
||||
}
|
||||
|
||||
package c {
|
||||
public fun </*0*/ T> t(/*0*/ t: T): T
|
||||
public fun testImportFromObjectByName(): kotlin.Unit
|
||||
}
|
||||
|
||||
package d {
|
||||
public fun testFunImportedFromObjectHasNoDispatchReceiver(/*0*/ l: a.S): kotlin.Unit
|
||||
}
|
||||
|
||||
package e {
|
||||
public fun testMembersFromSupertypes(): kotlin.Unit
|
||||
}
|
||||
|
||||
+7
-7
@@ -5,12 +5,12 @@ import b.B //class
|
||||
import b.foo //function
|
||||
import b.ext //extension function
|
||||
import b.value //property
|
||||
import b.C.Companion.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>bar<!> //function from companion object
|
||||
import b.C.Companion.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>cValue<!> //property from companion object
|
||||
import b.C.Companion.bar //function from companion object
|
||||
import b.C.Companion.cValue //property from companion object
|
||||
import b.<!UNRESOLVED_REFERENCE!>constant<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>fff<!> //function from val
|
||||
import b.<!UNRESOLVED_REFERENCE!>constant<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>dValue<!> //property from val
|
||||
import b.constant
|
||||
import b.E.Companion.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>f<!> //val from companion object
|
||||
import b.E.Companion.f //val from companion object
|
||||
import <!UNRESOLVED_REFERENCE!>smth<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>illegal<!>
|
||||
import b.C.<!UNRESOLVED_REFERENCE!>smth<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>illegal<!>
|
||||
import b.<!UNRESOLVED_REFERENCE!>bar<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>smth<!>
|
||||
@@ -22,14 +22,14 @@ fun test(arg: B) {
|
||||
foo(value)
|
||||
arg.ext()
|
||||
|
||||
<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
foo(<!UNRESOLVED_REFERENCE!>cValue<!>)
|
||||
bar()
|
||||
foo(cValue)
|
||||
|
||||
<!UNRESOLVED_REFERENCE!>fff<!>(<!UNRESOLVED_REFERENCE!>dValue<!>)
|
||||
|
||||
constant.fff(constant.dValue)
|
||||
|
||||
<!UNRESOLVED_REFERENCE!>f<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>f<!>()
|
||||
f.f()
|
||||
}
|
||||
|
||||
// FILE:b.kt
|
||||
@@ -72,7 +72,7 @@ fun bar() {}
|
||||
//FILE:c.kt
|
||||
package c
|
||||
|
||||
import c.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>C<!>.*
|
||||
import c.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>C<!>.*
|
||||
|
||||
object C {
|
||||
fun f() {
|
||||
|
||||
@@ -2,21 +2,21 @@ package a
|
||||
|
||||
import a.A.*
|
||||
import a.A.C
|
||||
import a.A.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>C<!>.*
|
||||
import a.A.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>D<!>.*
|
||||
import a.A.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>C<!>.*
|
||||
import a.A.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>C<!>.*
|
||||
import a.A.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>D<!>.*
|
||||
import a.A.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>C<!>.*
|
||||
import a.A.C.G
|
||||
import a.A.E.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>J<!>.*
|
||||
import a.A.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>CO<!>.*
|
||||
import a.A.E.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>J<!>.*
|
||||
import a.A.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>CO<!>.*
|
||||
import a.A.CO
|
||||
|
||||
import a.B.C.*
|
||||
import a.B.C.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>A<!>.*
|
||||
import a.B.C.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>D<!>.*
|
||||
import a.B.C.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>A<!>.*
|
||||
import a.B.C.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>D<!>.*
|
||||
|
||||
import a.E.*
|
||||
import a.E.E1
|
||||
import a.E.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>E2<!>.*
|
||||
import a.E.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>E2<!>.*
|
||||
|
||||
class A {
|
||||
object C {
|
||||
|
||||
@@ -61,9 +61,9 @@ import a.B.<!UNRESOLVED_REFERENCE!>foo<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>bar<!
|
||||
import a.B.<!CANNOT_BE_IMPORTED!>bar<!>
|
||||
import a.B.<!UNRESOLVED_REFERENCE!>bar<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>foo<!>
|
||||
|
||||
import a.C.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>foo<!>
|
||||
import a.C.foo
|
||||
import a.C.<!UNRESOLVED_REFERENCE!>foo<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>bar<!>
|
||||
import a.C.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>bar<!>
|
||||
import a.C.bar
|
||||
import a.C.<!UNRESOLVED_REFERENCE!>bar<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>foo<!>
|
||||
import a.C.Nested
|
||||
|
||||
@@ -72,7 +72,7 @@ import a.D.<!UNRESOLVED_REFERENCE!>foo<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>bar<!
|
||||
import a.D.<!UNRESOLVED_REFERENCE!>bar<!>
|
||||
import a.D.<!UNRESOLVED_REFERENCE!>bar<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>foo<!>
|
||||
|
||||
import a.D.Companion.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>foo<!>
|
||||
import a.D.Companion.foo
|
||||
import a.D.Companion.<!UNRESOLVED_REFERENCE!>foo<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>bar<!>
|
||||
import a.D.Companion.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>bar<!>
|
||||
import a.D.Companion.bar
|
||||
import a.D.Companion.<!UNRESOLVED_REFERENCE!>bar<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>foo<!>
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
package c
|
||||
|
||||
import c.A.Companion.B
|
||||
import c.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>M<!>.*
|
||||
import c.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>M<!>.*
|
||||
|
||||
fun foo() {
|
||||
val <!UNUSED_VARIABLE!>b<!>: B = B()
|
||||
|
||||
+3
-3
@@ -2,9 +2,9 @@ package d
|
||||
|
||||
//import from objects before properties resolve
|
||||
|
||||
import d.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>A<!>.*
|
||||
import d.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>A<!>.*
|
||||
import d.M.R
|
||||
import d.M.R.<!CANNOT_IMPORT_MEMBERS_FROM_SINGLETON!>bar<!>
|
||||
import d.M.R.bar
|
||||
import d.M.T
|
||||
import d.M.Y
|
||||
|
||||
@@ -12,7 +12,7 @@ var r: T = T()
|
||||
val y: T = Y
|
||||
|
||||
fun f() {
|
||||
<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
bar()
|
||||
R.bar()
|
||||
B.foo()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user