Removed getAllDescriptors() and getOwnDeclaredDescriptors() from KtScope

This commit is contained in:
Stanislav Erokhin
2015-11-02 16:12:10 +03:00
parent 0b5de434fa
commit f7629b0c84
19 changed files with 15 additions and 79 deletions
@@ -29,11 +29,10 @@ import org.jetbrains.kotlin.load.java.lazy.types.LazyJavaTypeResolver;
import org.jetbrains.kotlin.load.java.structure.*;
import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolverKt;
import org.jetbrains.kotlin.resolve.jvm.JavaResolverUtils;
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter;
import org.jetbrains.kotlin.resolve.scopes.KtScope;
import org.jetbrains.kotlin.types.*;
import java.util.*;
@@ -47,7 +46,7 @@ public class SingleAbstractMethodUtils {
@NotNull
public static List<CallableMemberDescriptor> getAbstractMembers(@NotNull KotlinType type) {
List<CallableMemberDescriptor> abstractMembers = new ArrayList<CallableMemberDescriptor>();
for (DeclarationDescriptor member : type.getMemberScope().getDescriptors(DescriptorKindFilter.CALLABLES, KtScope.Companion.getALL_NAME_FILTER())) {
for (DeclarationDescriptor member : DescriptorUtils.getAllDescriptors(type.getMemberScope())) {
if (member instanceof CallableMemberDescriptor && ((CallableMemberDescriptor) member).getModality() == Modality.ABSTRACT) {
abstractMembers.add((CallableMemberDescriptor) member);
}
@@ -34,7 +34,4 @@ class NoSubpackagesInPackageScope(packageDescriptor: PackageViewDescriptor) : Ab
return workerScope.getDescriptors(modifiedFilter, nameFilter).filter { it !is PackageViewDescriptor }
}
override fun getOwnDeclaredDescriptors(): Collection<DeclarationDescriptor> {
return workerScope.getOwnDeclaredDescriptors().filter { it !is PackageViewDescriptor }
}
}
@@ -38,8 +38,6 @@ import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.resolve.calls.callResolverUtil.CallResolverUtilKt;
import org.jetbrains.kotlin.resolve.dataClassUtils.DataClassUtilsKt;
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter;
import org.jetbrains.kotlin.resolve.scopes.KtScope;
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue;
import org.jetbrains.kotlin.types.*;
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker;
@@ -245,7 +243,7 @@ public class OverrideResolver {
private static List<CallableMemberDescriptor> getCallableMembersFromType(KotlinType type) {
List<CallableMemberDescriptor> r = Lists.newArrayList();
for (DeclarationDescriptor decl : type.getMemberScope().getDescriptors(DescriptorKindFilter.CALLABLES, KtScope.Companion.getALL_NAME_FILTER())) {
for (DeclarationDescriptor decl : DescriptorUtils.getAllDescriptors(type.getMemberScope())) {
if (decl instanceof PropertyDescriptor || decl instanceof SimpleFunctionDescriptor) {
r.add((CallableMemberDescriptor) decl);
}
@@ -307,8 +305,7 @@ public class OverrideResolver {
@NotNull Set<CallableMemberDescriptor> abstractInBaseClassNoImpl,
@NotNull Set<CallableMemberDescriptor> conflictingInterfaceOverrides
) {
for (DeclarationDescriptor member : classDescriptor.getDefaultType().getMemberScope()
.getDescriptors(DescriptorKindFilter.CALLABLES, KtScope.Companion.getALL_NAME_FILTER())) {
for (DeclarationDescriptor member : DescriptorUtils.getAllDescriptors(classDescriptor.getDefaultType().getMemberScope())) {
if (member instanceof CallableMemberDescriptor) {
collectMissingImplementations((CallableMemberDescriptor) member,
abstractNoImpl, manyImpl,
@@ -815,8 +812,7 @@ public class OverrideResolver {
private void checkParameterOverridesForAllClasses(@NotNull TopDownAnalysisContext c) {
for (ClassDescriptorWithResolutionScopes classDescriptor : c.getDeclaredClasses().values()) {
for (DeclarationDescriptor member : classDescriptor.getDefaultType().getMemberScope()
.getDescriptors(DescriptorKindFilter.CALLABLES, KtScope.Companion.getALL_NAME_FILTER())) {
for (DeclarationDescriptor member : DescriptorUtils.getAllDescriptors(classDescriptor.getDefaultType().getMemberScope())) {
if (member instanceof CallableMemberDescriptor) {
checkOverridesForParameters((CallableMemberDescriptor) member);
}
@@ -175,8 +175,6 @@ protected constructor(
// a generic implementation can't do this properly
abstract override fun toString(): String
override fun getOwnDeclaredDescriptors() = getDescriptors()
override fun printScopeStructure(p: Printer) {
p.println(javaClass.getSimpleName(), " {")
p.pushIndent()
@@ -46,7 +46,6 @@ import org.jetbrains.kotlin.resolve.lazy.data.JetClassLikeInfo;
import org.jetbrains.kotlin.resolve.lazy.data.JetClassOrObjectInfo;
import org.jetbrains.kotlin.resolve.lazy.data.JetObjectInfo;
import org.jetbrains.kotlin.resolve.lazy.declarations.ClassMemberDeclarationProvider;
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter;
import org.jetbrains.kotlin.resolve.scopes.KtScope;
import org.jetbrains.kotlin.resolve.scopes.LexicalScope;
import org.jetbrains.kotlin.resolve.scopes.StaticScopeForKotlinClass;
@@ -60,7 +59,10 @@ import org.jetbrains.kotlin.types.KotlinType;
import org.jetbrains.kotlin.types.TypeConstructor;
import org.jetbrains.kotlin.types.TypeUtils;
import java.util.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import static kotlin.CollectionsKt.firstOrNull;
import static org.jetbrains.kotlin.diagnostics.Errors.CYCLIC_INHERITANCE_HIERARCHY;
@@ -475,7 +477,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
getOriginal();
getScopeForClassHeaderResolution();
getScopeForMemberDeclarationResolution();
getUnsubstitutedMemberScope().getDescriptors(DescriptorKindFilter.ALL, KtScope.Companion.getALL_NAME_FILTER());
DescriptorUtils.getAllDescriptors(getUnsubstitutedMemberScope());
getScopeForInitializerResolution();
getUnsubstitutedInnerClassesScope();
getTypeConstructor().getSupertypes();
@@ -39,8 +39,6 @@ public class FilteringScope(private val workerScope: KtScope, private val predic
override fun getDescriptors(kindFilter: DescriptorKindFilter,
nameFilter: (Name) -> Boolean) = workerScope.getDescriptors(kindFilter, nameFilter).filter(predicate)
override fun getOwnDeclaredDescriptors() = workerScope.getOwnDeclaredDescriptors().filter(predicate)
override fun printScopeStructure(p: Printer) {
p.println(javaClass.getSimpleName(), " {")
p.pushIndent()
@@ -227,7 +227,6 @@ public abstract class AbstractJvmRuntimeDescriptorLoaderTest : TestCaseWithTmpdi
override fun getClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? = classifierMap[name]
override fun getDescriptors(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean): Collection<DeclarationDescriptor> = classifierMap.values
override fun getOwnDeclaredDescriptors(): Collection<DeclarationDescriptor> = classifierMap.values
}
}
@@ -303,8 +303,6 @@ public abstract class LazyJavaScope(
return properties(name)
}
override fun getOwnDeclaredDescriptors() = getDescriptors()
override fun getDescriptors(kindFilter: DescriptorKindFilter,
nameFilter: (Name) -> Boolean) = allDescriptors()
@@ -58,10 +58,6 @@ public abstract class AbstractScopeAdapter : KtScope {
return workerScope.getDescriptors(kindFilter, nameFilter)
}
override fun getOwnDeclaredDescriptors(): Collection<DeclarationDescriptor> {
return workerScope.getOwnDeclaredDescriptors()
}
override fun printScopeStructure(p: Printer) {
p.println(javaClass.getSimpleName(), " {")
p.pushIndent()
@@ -47,10 +47,6 @@ public open class ChainedScope(
override fun getDescriptors(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean)
= getFromAllScopes(scopeChain) { it.getDescriptors(kindFilter, nameFilter) }
override fun getOwnDeclaredDescriptors(): Collection<DeclarationDescriptor> {
throw UnsupportedOperationException()
}
override fun toString() = debugName
override fun printScopeStructure(p: Printer) {
@@ -36,14 +36,6 @@ public interface KtScope {
public fun getContainingDeclaration(): DeclarationDescriptor
/**
* All visible descriptors from current scope.
*
* @return All visible descriptors from current scope.
*/
@Deprecated("Removed in progress", ReplaceWith("getDescriptors()"))
public fun getAllDescriptors(): Collection<DeclarationDescriptor> = getDescriptors()
/**
* All visible descriptors from current scope possibly filtered by the given name and kind filters
* (that means that the implementation is not obliged to use the filters but may do so when it gives any performance advantage).
@@ -53,9 +45,6 @@ public interface KtScope {
nameFilter: (Name) -> Boolean = ALL_NAME_FILTER
): Collection<DeclarationDescriptor>
// todo merge with getAllDescriptors()
public fun getOwnDeclaredDescriptors(): Collection<DeclarationDescriptor>
/**
* Is supposed to be used in tests and debug only
*/
@@ -33,8 +33,6 @@ abstract class KtScopeImpl : KtScope {
override fun getDescriptors(kindFilter: DescriptorKindFilter,
nameFilter: (Name) -> Boolean): Collection<DeclarationDescriptor> = emptyList()
override fun getOwnDeclaredDescriptors(): Collection<DeclarationDescriptor> = emptyList()
// This method should not be implemented here by default: every scope class has its unique structure pattern
abstract override fun printScopeStructure(p: Printer)
}
@@ -51,8 +51,6 @@ public class StaticScopeForKotlinClass(
override fun getDescriptors(kindFilter: DescriptorKindFilter,
nameFilter: (Name) -> Boolean) = functions + properties
override fun getOwnDeclaredDescriptors() = functions + properties
override fun getProperties(name: Name, location: LookupLocation) = properties.filterTo(ArrayList(1)) { it.name == name }
override fun getFunctions(name: Name, location: LookupLocation) = functions.filterTo(ArrayList<FunctionDescriptor>(2)) { it.getName() == name }
@@ -72,8 +72,6 @@ public class SubstitutingScope(private val workerScope: KtScope, private val sub
override fun getDescriptors(kindFilter: DescriptorKindFilter,
nameFilter: (Name) -> Boolean) = _allDescriptors
override fun getOwnDeclaredDescriptors() = substitute(workerScope.getOwnDeclaredDescriptors())
override fun printScopeStructure(p: Printer) {
p.println(javaClass.getSimpleName(), " {")
p.pushIndent()
@@ -204,18 +204,6 @@ public class ErrorUtils {
return Collections.emptyList();
}
@NotNull
@Override
public Collection<DeclarationDescriptor> getAllDescriptors() {
return Collections.emptyList();
}
@NotNull
@Override
public Collection<DeclarationDescriptor> getOwnDeclaredDescriptors() {
return Collections.emptyList();
}
@Override
public String toString() {
return "ErrorScope{" + debugMessage + '}';
@@ -272,18 +260,6 @@ public class ErrorUtils {
throw new IllegalStateException();
}
@NotNull
@Override
public Collection<DeclarationDescriptor> getAllDescriptors() {
throw new IllegalStateException();
}
@NotNull
@Override
public Collection<DeclarationDescriptor> getOwnDeclaredDescriptors() {
throw new IllegalStateException();
}
@Override
public String toString() {
return "ThrowingScope{" + debugMessage + '}';
@@ -175,8 +175,6 @@ public abstract class DeserializedMemberScope protected constructor(
protected abstract fun addEnumEntryDescriptors(result: MutableCollection<DeclarationDescriptor>, nameFilter: (Name) -> Boolean)
override fun getOwnDeclaredDescriptors() = getDescriptors()
override fun printScopeStructure(p: Printer) {
p.println(javaClass.simpleName, " {")
p.pushIndent()
@@ -42,6 +42,7 @@ import org.jetbrains.kotlin.idea.util.ScopeUtils;
import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.bindingContextUtil.BindingContextUtilsKt;
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo;
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode;
@@ -110,7 +111,7 @@ public abstract class BaseKotlinVariableMacro extends Macro {
Collection<DeclarationDescriptor> result = ContainerUtil.newArrayList();
result.addAll(ScopeUtilsKt.collectDescriptorsFiltered(scope, DescriptorKindFilter.VARIABLES, KtScope.Companion.getALL_NAME_FILTER()));
for (ReceiverParameterDescriptor implicitReceiver : ScopeUtilsKt.getImplicitReceiversHierarchy(scope)) {
result.addAll(implicitReceiver.getType().getMemberScope().getDescriptors(DescriptorKindFilter.VARIABLES, KtScope.Companion.getALL_NAME_FILTER()));
result.addAll(DescriptorUtils.getAllDescriptors(implicitReceiver.getType().getMemberScope()));
}
return result;
}
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.psi.KtClass;
import org.jetbrains.kotlin.psi.KtDeclaration;
import org.jetbrains.kotlin.psi.KtFile;
import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.scopes.KtScope;
import org.jetbrains.kotlin.types.KotlinType;
@@ -96,7 +96,7 @@ public class JetTestFunctionDetector {
}
if (scope != null) {
Collection<DeclarationDescriptor> allDescriptors = scope.getDescriptors(DescriptorKindFilter.FUNCTIONS, KtScope.Companion.getALL_NAME_FILTER());
Collection<DeclarationDescriptor> allDescriptors = DescriptorUtils.getAllDescriptors(scope);
List<FunctionDescriptor> testFunctions = ContainerUtil.mapNotNull(
allDescriptors,
new Function<DeclarationDescriptor, FunctionDescriptor>() {
@@ -31,7 +31,6 @@ import org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsKt;
import org.jetbrains.kotlin.name.FqNameUnsafe;
import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter;
import org.jetbrains.kotlin.resolve.scopes.KtScope;
import java.util.*;
@@ -175,7 +174,7 @@ public class ManglingUtils {
if (jetScope != null) {
final String finalNameToCompare = nameToCompare;
Collection<DeclarationDescriptor> declarations = jetScope.getDescriptors(DescriptorKindFilter.CALLABLES, KtScope.Companion.getALL_NAME_FILTER());
Collection<DeclarationDescriptor> declarations = DescriptorUtils.getAllDescriptors(jetScope);
List<CallableDescriptor> overloadedFunctions =
CollectionsKt.flatMap(declarations, new Function1<DeclarationDescriptor, Iterable<? extends CallableDescriptor>>() {
@Override