Moved getPackageFilesWithCallables to frontend.java and reused it.

This commit is contained in:
Evgeny Gerashchenko
2014-06-19 17:54:33 +04:00
parent b76a9e8e27
commit cea272fb39
4 changed files with 29 additions and 35 deletions
@@ -37,6 +37,7 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.psi.*;
import org.jetbrains.jet.lang.resolve.java.JavaPsiFacadeKotlinHacks;
import org.jetbrains.jet.lang.resolve.java.PackageClassUtils;
import org.jetbrains.jet.lang.resolve.kotlin.PackagePartClassUtils;
import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.NamePackage;
@@ -141,7 +142,7 @@ public class JavaElementFinder extends PsiElementFinder implements JavaPsiFacade
private void findPackageClass(FqName qualifiedName, GlobalSearchScope scope, List<PsiClass> answer) {
Collection<JetFile> filesForPackage = lightClassGenerationSupport.findFilesForPackage(qualifiedName, scope);
if (!shouldGeneratePackageClass(filesForPackage)) return;
if (PackagePartClassUtils.getPackageFilesWithCallables(filesForPackage).isEmpty()) return;
KotlinLightClassForPackage lightClass = KotlinLightClassForPackage.create(psiManager, qualifiedName, scope, filesForPackage);
if (lightClass == null) return;
@@ -155,18 +156,6 @@ public class JavaElementFinder extends PsiElementFinder implements JavaPsiFacade
}
}
private static boolean shouldGeneratePackageClass(@NotNull Collection<JetFile> packageFiles) {
for (JetFile file : packageFiles) {
for (JetDeclaration declaration : file.getDeclarations()) {
if (declaration instanceof JetProperty || declaration instanceof JetNamedFunction) {
return true;
}
}
}
return false;
}
@NotNull
@Override
public Set<String> getClassNames(@NotNull PsiPackage psiPackage, @NotNull GlobalSearchScope scope) {