Descriptor kind filter replaced with bit mask
This commit is contained in:
+2
-3
@@ -19,15 +19,14 @@ package org.jetbrains.jet.plugin.stubindex.resolve
|
||||
import org.jetbrains.jet.lang.resolve.lazy.declarations.PackageMemberDeclarationProvider
|
||||
import org.jetbrains.jet.lang.resolve.name.Name
|
||||
import org.jetbrains.jet.lang.resolve.scopes.JetScope
|
||||
import org.jetbrains.jet.lang.resolve.scopes.JetScope.DescriptorKind
|
||||
|
||||
public class CombinedPackageMemberDeclarationProvider(val providers: Collection<PackageMemberDeclarationProvider>) : PackageMemberDeclarationProvider {
|
||||
override fun getAllDeclaredSubPackages() = providers.flatMap { it.getAllDeclaredSubPackages() }
|
||||
|
||||
override fun getPackageFiles() = providers.flatMap { it.getPackageFiles() }
|
||||
|
||||
override fun getDeclarations(kindFilter: (JetScope.DescriptorKind) -> Boolean, nameFilter: (Name) -> Boolean)
|
||||
= providers.flatMap { it.getDeclarations(kindFilter, nameFilter) }
|
||||
override fun getDeclarations(kindFilterMask: Int, nameFilter: (Name) -> Boolean)
|
||||
= providers.flatMap { it.getDeclarations(kindFilterMask, nameFilter) }
|
||||
|
||||
override fun getFunctionDeclarations(name: Name) = providers.flatMap { it.getFunctionDeclarations(name) }
|
||||
|
||||
|
||||
+4
-4
@@ -39,18 +39,18 @@ public class StubBasedPackageMemberDeclarationProvider(
|
||||
private val searchScope: GlobalSearchScope
|
||||
) : PackageMemberDeclarationProvider {
|
||||
|
||||
override fun getDeclarations(kindFilter: (JetScope.DescriptorKind) -> Boolean, nameFilter: (Name) -> Boolean): List<JetDeclaration> {
|
||||
override fun getDeclarations(kindFilterMask: Int, nameFilter: (Name) -> Boolean): List<JetDeclaration> {
|
||||
val result = ArrayList<JetDeclaration>()
|
||||
|
||||
if (kindFilter(JetScope.DescriptorKind.TYPE) || kindFilter(JetScope.DescriptorKind.OBJECT)) {
|
||||
if (kindFilterMask and (JetScope.TYPE or JetScope.OBJECT) != 0) {
|
||||
result.addDeclarations(JetFullClassNameIndex.getInstance(), nameFilter)
|
||||
}
|
||||
|
||||
if (kindFilter(JetScope.DescriptorKind.ORDINARY_FUNCTION) || kindFilter(JetScope.DescriptorKind.EXTENSION_FUNCTION)) {
|
||||
if (kindFilterMask and JetScope.FUNCTIONS_MASK != 0) {
|
||||
result.addDeclarations(JetTopLevelFunctionsFqnNameIndex.getInstance(), nameFilter)
|
||||
}
|
||||
|
||||
if (kindFilter(JetScope.DescriptorKind.NON_EXTENSION_PROPERTY) || kindFilter(JetScope.DescriptorKind.EXTENSION_PROPERTY)) {
|
||||
if (kindFilterMask and JetScope.PROPERTIES_MASK != 0) {
|
||||
result.addDeclarations(JetTopLevelPropertiesFqnNameIndex.getInstance(), nameFilter)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user