Files
kotlin-fork/compiler/testData/diagnostics/tests/scopes/kt900.jet
T

130 lines
1.8 KiB
Plaintext

//FILE:a.kt
//KT-900 Inaccessible class should be unresolved
package a
fun foo() {
val <!UNUSED_VARIABLE!>b<!> : <!UNRESOLVED_REFERENCE!>B<!> = <!UNRESOLVED_REFERENCE!>B<!>() //only B() is unresolved, but in ": B" and "B.foo()" B should also be unresolved
<!UNRESOLVED_REFERENCE!>B<!>.foo()
<!UNRESOLVED_REFERENCE!>P<!>.foo()
<!UNRESOLVED_REFERENCE!>M<!>.bar()
}
class A() {
class object {
class B() {
class object {
fun foo() {}
}
}
object P {
fun foo() {}
}
}
}
object N {
object M {
fun bar() {}
}
}
//FILE:b.kt
package b
import N.M
import A.P
import b.A.B
fun foo() {
val <!UNUSED_VARIABLE!>b<!> : B = B()
B.foo()
P.foo()
M.bar()
}
class A() {
class object {
class B() {
class object {
fun foo() {}
}
}
object P {
fun foo() {}
}
}
}
object N {
object M {
fun bar() {}
}
}
//FILE:c.kt
// import all members from class object
package c
import A.*
import M.*
fun foo() {
val <!UNUSED_VARIABLE!>b<!>: B = B()
var <!UNUSED_VARIABLE!>r<!>: R = R()
}
class A() {
class object {
class B() {
class object {
}
}
}
}
object M {
fun foo() {}
class R() {}
}
//FILE:d.kt
package d
//import from objects before properties resolve
import A.*
import M.R
import M.R.<!CANNOT_BE_IMPORTED!>bar<!>
import M.T
import M.Y
var r: T = T()
val y: T = Y
fun f() {
<!UNRESOLVED_REFERENCE!>bar<!>()
R.bar()
B.foo()
}
object M {
object R {
fun bar() {}
}
open class T() {}
object Y : T() {}
}
object A {
object B {
fun foo() {}
}
}