Moved KindFilter and DescriptorKindExclude out of JetScope, moved constants as well and renamed them

This commit is contained in:
Valentin Kipyatkov
2014-11-12 21:19:39 +03:00
parent 8e992abe58
commit 5f5d2de5e0
38 changed files with 191 additions and 165 deletions
@@ -158,7 +158,7 @@ public class LazyImportScope(private val resolveSession: ResolveSession,
override fun getDeclarationsByLabel(labelName: Name): Collection<DeclarationDescriptor> = listOf()
override fun getDescriptors(kindFilter: JetScope.KindFilter, nameFilter: (Name) -> Boolean): Collection<DeclarationDescriptor> {
override fun getDescriptors(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean): Collection<DeclarationDescriptor> {
return resolveSession.getStorageManager().compute {
val descriptors = LinkedHashSet<DeclarationDescriptor>()
for (directive in importsProvider.getAllImports()) {
@@ -28,7 +28,7 @@ import org.jetbrains.jet.storage.StorageManager
import org.jetbrains.jet.lang.resolve.lazy.ResolveSessionUtils.safeNameForLazyResolve
import java.util.ArrayList
import org.jetbrains.jet.lang.resolve.scopes.JetScope
import org.jetbrains.jet.lang.resolve.scopes.DescriptorKindFilter
public abstract class AbstractPsiBasedDeclarationProvider(storageManager: StorageManager) : DeclarationProvider {
@@ -73,7 +73,7 @@ public abstract class AbstractPsiBasedDeclarationProvider(storageManager: Storag
protected abstract fun doCreateIndex(index: Index)
override fun getDeclarations(kindFilter: JetScope.KindFilter, nameFilter: (Name) -> Boolean): List<JetDeclaration>
override fun getDeclarations(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean): List<JetDeclaration>
= index().allDeclarations
override fun getFunctionDeclarations(name: Name): List<JetNamedFunction>
@@ -21,10 +21,10 @@ import org.jetbrains.jet.lang.psi.JetNamedFunction
import org.jetbrains.jet.lang.psi.JetProperty
import org.jetbrains.jet.lang.resolve.lazy.data.JetClassLikeInfo
import org.jetbrains.jet.lang.resolve.name.Name
import org.jetbrains.jet.lang.resolve.scopes.JetScope
import org.jetbrains.jet.lang.resolve.scopes.DescriptorKindFilter
public trait DeclarationProvider {
public fun getDeclarations(kindFilter: JetScope.KindFilter, nameFilter: (Name) -> Boolean): List<JetDeclaration>
public fun getDeclarations(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean): List<JetDeclaration>
public fun getFunctionDeclarations(name: Name): Collection<JetNamedFunction>
@@ -34,6 +34,7 @@ import org.jetbrains.jet.utils.Printer
import java.util.*
import org.jetbrains.jet.storage.StorageManager
import org.jetbrains.jet.utils.toReadOnlyList
import org.jetbrains.jet.lang.resolve.scopes.DescriptorKindFilter
public abstract class AbstractLazyMemberScope<D : DeclarationDescriptor, DP : DeclarationProvider> protected(
protected val resolveSession: ResolveSession,
@@ -118,7 +119,7 @@ public abstract class AbstractLazyMemberScope<D : DeclarationDescriptor, DP : De
override fun getDeclarationsByLabel(labelName: Name) = setOf<DeclarationDescriptor>()
protected fun computeDescriptorsFromDeclaredElements(kindFilter: JetScope.KindFilter,
protected fun computeDescriptorsFromDeclaredElements(kindFilter: DescriptorKindFilter,
nameFilter: (Name) -> Boolean): List<DeclarationDescriptor> {
val declarations = declarationProvider.getDeclarations(kindFilter, nameFilter)
val result = ArrayList<DeclarationDescriptor>(declarations.size())
@@ -38,6 +38,7 @@ import org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor.Kind.DELEGATI
import org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor.Kind.FAKE_OVERRIDE
import org.jetbrains.jet.lang.resolve.DelegationResolver.generateDelegatedMembers
import org.jetbrains.jet.storage.NotNullLazyValue
import org.jetbrains.jet.lang.resolve.scopes.DescriptorKindFilter
public open class LazyClassMemberScope(resolveSession: ResolveSession,
declarationProvider: ClassMemberDeclarationProvider,
@@ -46,13 +47,13 @@ public open class LazyClassMemberScope(resolveSession: ResolveSession,
: AbstractLazyMemberScope<LazyClassDescriptor, ClassMemberDeclarationProvider>(resolveSession, declarationProvider, thisClass, trace) {
private val descriptorsFromDeclaredElements = storageManager.createLazyValue {
computeDescriptorsFromDeclaredElements(JetScope.KindFilter.ALL, JetScope.ALL_NAME_FILTER)
computeDescriptorsFromDeclaredElements(DescriptorKindFilter.ALL, JetScope.ALL_NAME_FILTER)
}
private val extraDescriptors: NotNullLazyValue<Collection<DeclarationDescriptor>> = storageManager.createLazyValue {
computeExtraDescriptors()
}
override fun getDescriptors(kindFilter: JetScope.KindFilter,
override fun getDescriptors(kindFilter: DescriptorKindFilter,
nameFilter: (Name) -> Boolean): Collection<DeclarationDescriptor> {
val result = LinkedHashSet(descriptorsFromDeclaredElements())
result.addAll(extraDescriptors())
@@ -21,7 +21,7 @@ import org.jetbrains.jet.lang.psi.JetDeclaration
import org.jetbrains.jet.lang.resolve.lazy.ResolveSession
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.DescriptorKindFilter
public class LazyPackageMemberScope(
resolveSession: ResolveSession,
@@ -29,7 +29,7 @@ public class LazyPackageMemberScope(
thisPackage: PackageFragmentDescriptor)
: AbstractLazyMemberScope<PackageFragmentDescriptor, PackageMemberDeclarationProvider>(resolveSession, declarationProvider, thisPackage, resolveSession.getTrace()) {
override fun getDescriptors(kindFilter: JetScope.KindFilter, nameFilter: (Name) -> Boolean): Collection<DeclarationDescriptor> {
override fun getDescriptors(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean): Collection<DeclarationDescriptor> {
return computeDescriptorsFromDeclaredElements(kindFilter, nameFilter)
}
@@ -95,7 +95,7 @@ public class WritableScopeImpl(scope: JetScope,
super.clearImports()
}
override fun getDescriptors(kindFilter: JetScope.KindFilter,
override fun getDescriptors(kindFilter: DescriptorKindFilter,
nameFilter: (Name) -> Boolean): Collection<DeclarationDescriptor> {
checkMayRead()
changeLockLevel(WritableScope.LockLevel.READING)
@@ -164,7 +164,7 @@ public class WriteThroughScope(outerScope: JetScope, private val writableWorker:
writableWorker.setImplicitReceiver(implicitReceiver)
}
override fun getDescriptors(kindFilter: JetScope.KindFilter,
override fun getDescriptors(kindFilter: DescriptorKindFilter,
nameFilter: (Name) -> Boolean): Collection<DeclarationDescriptor> {
checkMayRead()