diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaClassMembersScope.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaClassMembersScope.java index 7eb48c22982..80c8b72a9c9 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaClassMembersScope.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaClassMembersScope.java @@ -83,6 +83,8 @@ public class JavaClassMembersScope implements JetScope { } allDescriptors.addAll(semanticServices.getDescriptorResolver().resolveFieldGroup(containingDeclaration, psiClass, staticMembers)); + + allDescriptors.addAll(semanticServices.getDescriptorResolver().resolveInnerClasses(containingDeclaration, psiClass, staticMembers)); } return allDescriptors; } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java index 4494858e185..feb5b6896aa 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java @@ -1409,4 +1409,13 @@ public class JavaDescriptorResolver { public TypeParameterDescriptor resolveTypeParameter(PsiTypeParameter typeParameter) { return resolveTypeParameterInitialization(typeParameter).descriptor; } + + public List resolveInnerClasses(DeclarationDescriptor owner, PsiClass psiClass, boolean staticMembers) { + PsiClass[] innerPsiClasses = psiClass.getInnerClasses(); + List r = new ArrayList(innerPsiClasses.length); + for (PsiClass innerPsiClass : innerPsiClasses) { + r.add(resolveClass(innerPsiClass)); + } + return r; + } } diff --git a/compiler/testData/readClass/class/ClassInnerClass.kt b/compiler/testData/readClass/class/ClassInnerClass.kt new file mode 100644 index 00000000000..8cb974151c7 --- /dev/null +++ b/compiler/testData/readClass/class/ClassInnerClass.kt @@ -0,0 +1,6 @@ +package test + +class Outer { + class Inner { + } +}