Refactored filtering by descriptor kind so that no knowledge about SAM-constructors required in core
This commit is contained in:
+2
-2
@@ -25,8 +25,8 @@ public class CombinedPackageMemberDeclarationProvider(val providers: Collection<
|
||||
|
||||
override fun getPackageFiles() = providers.flatMap { it.getPackageFiles() }
|
||||
|
||||
override fun getDeclarations(kindFilterMask: Int, nameFilter: (Name) -> Boolean)
|
||||
= providers.flatMap { it.getDeclarations(kindFilterMask, nameFilter) }
|
||||
override fun getDeclarations(kindFilter: JetScope.KindFilter, nameFilter: (Name) -> Boolean)
|
||||
= providers.flatMap { it.getDeclarations(kindFilter, 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(kindFilterMask: Int, nameFilter: (Name) -> Boolean): List<JetDeclaration> {
|
||||
override fun getDeclarations(kindFilter: JetScope.KindFilter, nameFilter: (Name) -> Boolean): List<JetDeclaration> {
|
||||
val result = ArrayList<JetDeclaration>()
|
||||
|
||||
if (kindFilterMask and (JetScope.TYPE or JetScope.OBJECT) != 0) {
|
||||
if (kindFilter.acceptsKind(JetScope.CLASSIFIERS_MASK)) {
|
||||
result.addDeclarations(JetFullClassNameIndex.getInstance(), nameFilter)
|
||||
}
|
||||
|
||||
if (kindFilterMask and JetScope.FUNCTIONS_MASK != 0) {
|
||||
if (kindFilter.acceptsKind(JetScope.FUNCTION)) {
|
||||
result.addDeclarations(JetTopLevelFunctionsFqnNameIndex.getInstance(), nameFilter)
|
||||
}
|
||||
|
||||
if (kindFilterMask and JetScope.PROPERTIES_MASK != 0) {
|
||||
if (kindFilter.acceptsKind(JetScope.VARIABLE)) {
|
||||
result.addDeclarations(JetTopLevelPropertiesFqnNameIndex.getInstance(), nameFilter)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user