From 6d4e02526773f61a970ef45b2749788306925762 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Tue, 5 Nov 2013 19:19:53 +0400 Subject: [PATCH] Do not filter package names by hasStaticMembers() --- .../java/lazy/descriptors/LazyJavaPackageFragmentScope.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaPackageFragmentScope.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaPackageFragmentScope.kt index 4de20ab0d51..4ba230737d3 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaPackageFragmentScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaPackageFragmentScope.kt @@ -70,7 +70,9 @@ public class LazyPackageFragmentScopeForJavaPackage( override fun getAllPackageNames(): Collection = listOf( - jPackage.getClasses().iterator().filter { c -> JavaNamespaceResolver.hasStaticMembers(c) }.map { c -> c.getName() }.toList(), + // We do not filter by hasStaticMembers() because it's slow (e.g. it triggers light class generation), + // and there's no harm in having some names in the result that can not be resolved + jPackage.getClasses().map { c -> c.getName() }, jPackage.getSubPackages().map { sp -> sp.getFqName().shortName() } ).flatten() @@ -91,7 +93,9 @@ public class LazyPackageFragmentScopeForJavaClass( override fun getAllClassNames(): Collection = listOf() override fun getClassifier(name: Name): ClassifierDescriptor? = null + // We do not filter by hasStaticMembers() because it's slow (e.g. it triggers light class generation), + // and there's no harm in having some names in the result that can not be resolved override fun getAllPackageNames(): Collection = jClass.getInnerClasses().iterator() - .filter { c -> c.isStatic() && JavaNamespaceResolver.hasStaticMembers(c) } + .filter { c -> c.isStatic() } .map { c -> c.getName() }.toList() }