[FIR] Implement CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON diagnostic

This commit is contained in:
Andrey Zinovyev
2021-06-01 16:33:07 +03:00
committed by Space
parent fdd9287836
commit bf153ab0f0
39 changed files with 347 additions and 139 deletions
@@ -60,12 +60,12 @@ class C3 {
// FILE: b.kt
package b
import a.C1.O.*
import a.C1.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>O<!>.*
fun testErroneusAllUnderImportFromObject() {
A()
B
bar()
<!UNRESOLVED_REFERENCE!>A<!>()
<!UNRESOLVED_REFERENCE!>B<!>
<!UNRESOLVED_REFERENCE!>bar<!>()
}
// FILE: c.kt
@@ -54,12 +54,12 @@ object K: Base(), BaseI<Int> {
// FILE: b.kt
package b
import a.O.*
import a.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>O<!>.*
fun testErroneusAllUnderImportFromObject() {
A()
B
bar()
<!UNRESOLVED_REFERENCE!>A<!>()
<!UNRESOLVED_REFERENCE!>B<!>
<!UNRESOLVED_REFERENCE!>bar<!>()
}
// FILE: c.kt
+2 -2
View File
@@ -72,7 +72,7 @@ fun bar() {}
//FILE:c.kt
package c
import c.C.*
import c.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>C<!>.*
object C {
fun f() {
@@ -81,7 +81,7 @@ object C {
}
fun foo() {
if (i == 3) f()
if (<!UNRESOLVED_REFERENCE!>i<!> == 3) <!UNRESOLVED_REFERENCE!>f<!>()
}
//FILE:d.kt
@@ -1,47 +0,0 @@
package a
import a.A.*
import a.A.C
import a.A.C.*
import a.A.D.*
import a.A.C.*
import a.A.C.G
import a.A.E.J.*
import a.A.CO.*
import a.A.CO
import a.B.C.*
import a.B.C.A.*
import a.B.C.D.*
import a.E.*
import a.E.E1
import a.E.E2.*
class A {
object C {
object G
}
object D {
}
class E {
object J
}
companion object CO {
object H
}
}
enum class E {
E1, E2
}
object B {
class C {
object A
object D
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
package a
import a.A.*
@@ -75,7 +75,7 @@ fun bar() {}
//FILE:c.kt
package c
import c.C.*
import c.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>C<!>.*
object C {
fun f() {
@@ -84,7 +84,7 @@ object C {
}
fun foo() {
if (i == 3) f()
if (<!UNRESOLVED_REFERENCE!>i<!> == 3) <!UNRESOLVED_REFERENCE!>f<!>()
}
//FILE:d.kt
@@ -1,24 +0,0 @@
// import all members from companion object
package c
import c.A.Companion.B
import c.M.*
fun foo() {
val b: B = B()
var r: R = R()
}
class A() {
companion object {
class B() {
companion object {
}
}
}
}
object M {
fun foo() {}
class R() {}
}
+1
View File
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// import all members from companion object
package c
+2 -2
View File
@@ -2,7 +2,7 @@ package d
//import from objects before properties resolve
import d.A.*
import d.<!CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON!>A<!>.*
import d.M.R
import d.M.R.bar
import d.M.T
@@ -14,7 +14,7 @@ val y: T = Y
fun f() {
bar()
R.bar()
B.foo()
<!UNRESOLVED_REFERENCE!>B<!>.foo()
}
object M {