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.
This commit is contained in:
Dmitry Petrov
2015-10-29 16:45:53 +03:00
parent a950f36fd7
commit e1cb13bd90
10 changed files with 169 additions and 62 deletions
@@ -0,0 +1,37 @@
// -- Module: <m1> --
package
package a {
public final class b {
public constructor b()
public final fun a_b(): 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
}
}
// -- Module: <m2> --
package
package a {
public final class b {
// -- Module: <m1> --
}
}
package test {
public val x: [ERROR : Type for a.b()]
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
}
}