KT-526 Unresolved reference for inner static class
===
namespace demo
class Foo {
class object {
class Bar { }
}
}
class User {
fun main() : Unit {
var boo : Foo.Bar? /* <-- unresolved reference to Bar */ = null
}
}
===
This commit is contained in:
@@ -286,8 +286,11 @@ public class TypeResolver {
|
||||
private JetScope resolveClassLookupScope(JetScope scope, JetUserType userType) {
|
||||
ClassifierDescriptor classifierDescriptor = resolveClassWithoutErrorReporting(scope, userType);
|
||||
if (classifierDescriptor instanceof ClassDescriptor) {
|
||||
List<TypeProjection> typeArguments = resolveTypeProjections(scope, classifierDescriptor.getTypeConstructor(), userType.getTypeArguments());
|
||||
return ((ClassDescriptor) classifierDescriptor).getMemberScope(typeArguments);
|
||||
ClassDescriptor classDescriptor = (ClassDescriptor) classifierDescriptor;
|
||||
JetType classObjectType = classDescriptor.getClassObjectType();
|
||||
if (classObjectType != null) {
|
||||
return classObjectType.getMemberScope();
|
||||
}
|
||||
}
|
||||
|
||||
NamespaceDescriptor namespaceDescriptor = resolveNamespace(scope, userType);
|
||||
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
// http://youtrack.jetbrains.net/issue/KT-526
|
||||
// KT-526 Unresolved reference for inner static class
|
||||
|
||||
namespace demo
|
||||
|
||||
class Foo {
|
||||
class object {
|
||||
class Bar() { }
|
||||
}
|
||||
}
|
||||
class User {
|
||||
fun main() : Unit {
|
||||
var boo : Foo.Bar? /* <-- this reference is red */ = Foo.Bar()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user