Fix EA-42958 - ISE: FqName.parent

This commit is contained in:
Natalia.Ukhorskaya
2013-01-22 11:38:57 +04:00
parent e89a8c684f
commit 126c21de96
2 changed files with 9 additions and 3 deletions
@@ -42,4 +42,11 @@ public class PackageClassUtils {
public static boolean isPackageClass(@NotNull PsiClass psiClass) { public static boolean isPackageClass(@NotNull PsiClass psiClass) {
return JetPackageClassAnnotation.get(psiClass).isDefined(); return JetPackageClassAnnotation.get(psiClass).isDefined();
} }
public static boolean isPackageClass(@NotNull FqName fqName) {
if (fqName.isRoot()) {
return false;
}
return PackageClassUtils.getPackageClassFqName(fqName.parent()).equals(fqName);
}
} }
@@ -87,9 +87,8 @@ public class JavaElementFinder extends PsiElementFinder implements JavaPsiFacade
findClassesAndObjects(qualifiedName, scope, answer); findClassesAndObjects(qualifiedName, scope, answer);
FqName packageFQN = qualifiedName.parent(); if (PackageClassUtils.isPackageClass(qualifiedName)) {
if (PackageClassUtils.getPackageClassFqName(packageFQN).equals(qualifiedName)) { findPackageClass(qualifiedName.parent(), scope, answer);
findPackageClass(packageFQN, scope, answer);
} }
return answer.toArray(new PsiClass[answer.size()]); return answer.toArray(new PsiClass[answer.size()]);