Do not include files that contains only top level classes or objects to LightClassForPackage

This commit is contained in:
Natalia Ukhorskaya
2015-04-17 16:46:58 +03:00
parent f575890732
commit 907f0db7be
2 changed files with 6 additions and 6 deletions
@@ -199,10 +199,11 @@ public class CliLightClassGenerationSupport extends LightClassGenerationSupport
public Collection<PsiClass> getPackageClasses(@NotNull FqName packageFqName, @NotNull GlobalSearchScope scope) {
Collection<JetFile> filesInPackage = findFilesForPackage(packageFqName, scope);
if (PackagePartClassUtils.getPackageFilesWithCallables(filesInPackage).isEmpty()) return Collections.emptyList();
List<JetFile> filesWithCallables = PackagePartClassUtils.getPackageFilesWithCallables(filesInPackage);
if (filesWithCallables.isEmpty()) return Collections.emptyList();
//noinspection RedundantTypeArguments
return UtilsPackage.<PsiClass>emptyOrSingletonList(KotlinLightClassForPackage.Factory.create(psiManager, packageFqName, scope, filesInPackage));
return UtilsPackage.<PsiClass>emptyOrSingletonList(KotlinLightClassForPackage.Factory.create(psiManager, packageFqName, scope, filesWithCallables));
}
@NotNull
@@ -270,9 +270,8 @@ public class IDELightClassGenerationSupport extends LightClassGenerationSupport
List<PsiClass> result = new ArrayList<PsiClass>();
List<KotlinLightPackageClassInfo> packageClassesInfos = findPackageClassesInfos(packageFqName, scope);
for (KotlinLightPackageClassInfo info : packageClassesInfos) {
Collection<JetFile> files = info.getFiles();
List<JetFile> filesWithCallables = PackagePartClassUtils.getPackageFilesWithCallables(files);
if (filesWithCallables.isEmpty()) continue;
List<JetFile> files = PackagePartClassUtils.getPackageFilesWithCallables(info.getFiles());
if (files.isEmpty()) continue;
IdeaModuleInfo moduleInfo = info.getModuleInfo();
if (moduleInfo instanceof ModuleSourceInfo) {
@@ -289,7 +288,7 @@ public class IDELightClassGenerationSupport extends LightClassGenerationSupport
}
}
else {
PsiClass clsClass = getLightClassForDecompiledPackage(packageFqName, filesWithCallables);
PsiClass clsClass = getLightClassForDecompiledPackage(packageFqName, files);
if (clsClass != null) {
result.add(clsClass);
}