Process request for searching class with empty qualified name without errors
This commit is contained in:
committed by
Alexander Udalov
parent
2a55894bec
commit
cf7f94a559
+2
@@ -166,6 +166,8 @@ public class CliLightClassGenerationSupport(project: Project) : LightClassGenera
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun findFilesForFacade(facadeFqName: FqName, scope: GlobalSearchScope): Collection<JetFile> {
|
override fun findFilesForFacade(facadeFqName: FqName, scope: GlobalSearchScope): Collection<JetFile> {
|
||||||
|
if (facadeFqName.isRoot) return emptyList()
|
||||||
|
|
||||||
return PackagePartClassUtils.getFilesWithCallables(findFilesForPackage(facadeFqName.parent(), scope)).filter {
|
return PackagePartClassUtils.getFilesWithCallables(findFilesForPackage(facadeFqName.parent(), scope)).filter {
|
||||||
JvmFileClassUtil.getFileClassInfoNoResolve(it).facadeClassFqName == facadeFqName
|
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) {
|
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;
|
if (!qualifiedName.shortName().asString().equals(JvmAbi.DEFAULT_IMPLS_CLASS_NAME)) return;
|
||||||
|
|
||||||
for (JetClassOrObject classOrObject : lightClassGenerationSupport.findClassOrObjectDeclarations(qualifiedName.parent(), scope)) {
|
for (JetClassOrObject classOrObject : lightClassGenerationSupport.findClassOrObjectDeclarations(qualifiedName.parent(), scope)) {
|
||||||
|
|||||||
@@ -47,6 +47,10 @@ public class JavaElementFinderTest extends KotlinAsJavaTestBase {
|
|||||||
// TODO: assertClass("Direction.WEST.Some");
|
// TODO: assertClass("Direction.WEST.Some");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testEmptyQualifiedName() {
|
||||||
|
assertNoClass("");
|
||||||
|
}
|
||||||
|
|
||||||
private void assertClass(String qualifiedName) {
|
private void assertClass(String qualifiedName) {
|
||||||
PsiClass psiClass = finder.findClass(qualifiedName, GlobalSearchScope.allScope(getProject()));
|
PsiClass psiClass = finder.findClass(qualifiedName, GlobalSearchScope.allScope(getProject()));
|
||||||
assertNotNull(String.format("Class with fqn='%s' wasn't found.", qualifiedName), psiClass);
|
assertNotNull(String.format("Class with fqn='%s' wasn't found.", qualifiedName), psiClass);
|
||||||
|
|||||||
Reference in New Issue
Block a user