Files
kotlin-fork/compiler/testData/diagnostics/tests/imports/TopLevelClassVsPackage.kt
T
Dmitry Petrov e1cb13bd90 Qualifier no longer defers "(nested) class vs package" resolution.
Consider FQN 'a.b.c'.
If 'a' is a classifier in the current scope,
    resolve rest in the corresponding class scope.
Otherwise (if 'a' is a package),
    find the maximum possible prefix 'a.b' resolving to a package,
    resolve rest in the corresponding package scope.
2015-11-02 10:22:50 +03:00

68 lines
691 B
Kotlin
Vendored

// MODULE: m1
// FILE: a.kt
package a
fun a_fun() {}
class b {
fun a_b() {}
class c {
fun a_bc() {}
}
}
// MODULE: m2
// FILE: b.kt
fun _fun() {}
class a {
fun _a() {}
class b {
fun _ab() {}
}
}
// MODULE: m3(m1, m2)
// FILE: c.kt
import a.a_fun
import a.b
fun test(a_b: b) {
a_b.a_b()
val a_bc: b.c = b.c()
a_bc.a_bc()
a_fun()
}
// FILE: d.kt
fun test2(_a: a) {
_a._a()
val _ab: a.b = a.b()
_ab._ab()
val _ab2 = a.b()
_ab2._ab()
_fun()
}
// FILE: e.kt
import a
import _fun
fun test3(_a: a) {
_a._a()
val _ab: a.b = a.b()
_ab._ab()
val _ab2 = a.b()
_ab2._ab()
_fun()
}