Process request for searching class with empty qualified name without errors

This commit is contained in:
Nikolay Krasko
2015-10-15 19:05:40 +03:00
committed by Alexander Udalov
parent 2a55894bec
commit cf7f94a559
4 changed files with 8 additions and 0 deletions
@@ -166,6 +166,8 @@ public class CliLightClassGenerationSupport(project: Project) : LightClassGenera
}
override fun findFilesForFacade(facadeFqName: FqName, scope: GlobalSearchScope): Collection<JetFile> {
if (facadeFqName.isRoot) return emptyList()
return PackagePartClassUtils.getFilesWithCallables(findFilesForPackage(facadeFqName.parent(), scope)).filter {
JvmFileClassUtil.getFileClassInfoNoResolve(it).facadeClassFqName == facadeFqName
}
@@ -146,6 +146,8 @@ public class JavaElementFinder extends PsiElementFinder implements KotlinFinderM
}
private void findInterfaceDefaultImpls(FqName qualifiedName, GlobalSearchScope scope, List<PsiClass> answer) {
if (qualifiedName.isRoot()) return;
if (!qualifiedName.shortName().asString().equals(JvmAbi.DEFAULT_IMPLS_CLASS_NAME)) return;
for (JetClassOrObject classOrObject : lightClassGenerationSupport.findClassOrObjectDeclarations(qualifiedName.parent(), scope)) {
@@ -47,6 +47,10 @@ public class JavaElementFinderTest extends KotlinAsJavaTestBase {
// TODO: assertClass("Direction.WEST.Some");
}
public void testEmptyQualifiedName() {
assertNoClass("");
}
private void assertClass(String qualifiedName) {
PsiClass psiClass = finder.findClass(qualifiedName, GlobalSearchScope.allScope(getProject()));
assertNotNull(String.format("Class with fqn='%s' wasn't found.", qualifiedName), psiClass);