Clean up after reusing allDescriptors() from LazyJavaScope to avoid compute contributed descriptors in LazyJavaPackageScope

This commit is contained in:
Vladimir Dolzhenko
2019-10-14 15:49:45 +02:00
parent d3992826e4
commit c20bdd3c30
@@ -174,11 +174,11 @@ class LazyJavaPackageScope(
// combined computeDescriptors() and computeClassNames()
// computeFunctionNames and computePropertyNames return always emptySet
// therefore don't need to check if kindFilter anything else but CLASSIFIERS
if (!kindFilter.acceptsKinds(DescriptorKindFilter.CLASSIFIERS_MASK or DescriptorKindFilter.NON_SINGLETON_CLASSIFIERS_MASK))
emptyList<DeclarationDescriptor>()
// we don't use implementation from super which caches all descriptors and does not use filters
val allContributedDescriptors = allDescriptors()
return allContributedDescriptors.filter { it is ClassDescriptor && nameFilter(it.name) }.toList()
return if (!kindFilter.acceptsKinds(DescriptorKindFilter.CLASSIFIERS_MASK or DescriptorKindFilter.NON_SINGLETON_CLASSIFIERS_MASK)) {
emptyList()
} else {
// we don't use implementation from super which caches all descriptors and does not use filters
allDescriptors().filter { it is ClassDescriptor && nameFilter(it.name) }.toList()
}
}
}