Removed usages KtScope.getAllDescriptors

This commit is contained in:
Stanislav Erokhin
2015-11-02 16:07:19 +03:00
parent 21fdd2ffc3
commit 0b5de434fa
37 changed files with 82 additions and 57 deletions
@@ -95,7 +95,7 @@ public class CodegenUtil {
@NotNull
public static Map<FunctionDescriptor, FunctionDescriptor> getTraitMethods(ClassDescriptor descriptor) {
Map<FunctionDescriptor, FunctionDescriptor> result = new LinkedHashMap<FunctionDescriptor, FunctionDescriptor>();
for (DeclarationDescriptor declaration : descriptor.getDefaultType().getMemberScope().getAllDescriptors()) {
for (DeclarationDescriptor declaration : DescriptorUtils.getAllDescriptors(descriptor.getDefaultType().getMemberScope())) {
if (!(declaration instanceof CallableMemberDescriptor)) continue;
CallableMemberDescriptor inheritedMember = (CallableMemberDescriptor) declaration;
@@ -67,7 +67,7 @@ public abstract class ClassBodyCodegen extends MemberCodegen<KtClassOrObject> {
}
if (!DescriptorUtils.isInterface(descriptor)) {
for (DeclarationDescriptor memberDescriptor : descriptor.getDefaultType().getMemberScope().getAllDescriptors()) {
for (DeclarationDescriptor memberDescriptor : DescriptorUtils.getAllDescriptors(descriptor.getDefaultType().getMemberScope())) {
if (memberDescriptor instanceof CallableMemberDescriptor) {
CallableMemberDescriptor member = (CallableMemberDescriptor) memberDescriptor;
if (!member.getKind().isReal() && ImplKt.findTraitImplementation(member) == null) {
@@ -74,7 +74,7 @@ public class InterfaceImplBodyCodegen(
}
override fun generateSyntheticParts() {
for (memberDescriptor in descriptor.getDefaultType().getMemberScope().getAllDescriptors()) {
for (memberDescriptor in descriptor.getDefaultType().getMemberScope().getDescriptors()) {
if (memberDescriptor !is CallableMemberDescriptor) continue
if (memberDescriptor.getKind().isReal()) continue
@@ -119,7 +119,7 @@ public class JvmCodegenUtil {
}
public static boolean hasAbstractMembers(@NotNull ClassDescriptor classDescriptor) {
return CollectionsKt.any(classDescriptor.getDefaultType().getMemberScope().getAllDescriptors(),
return CollectionsKt.any(DescriptorUtils.getAllDescriptors(classDescriptor.getDefaultType().getMemberScope()),
new Function1<DeclarationDescriptor, Boolean>() {
@Override
public Boolean invoke(DeclarationDescriptor descriptor) {
@@ -32,6 +32,8 @@ import org.jetbrains.kotlin.name.Name;
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.*;
@@ -45,7 +47,7 @@ public class SingleAbstractMethodUtils {
@NotNull
public static List<CallableMemberDescriptor> getAbstractMembers(@NotNull KotlinType type) {
List<CallableMemberDescriptor> abstractMembers = new ArrayList<CallableMemberDescriptor>();
for (DeclarationDescriptor member : type.getMemberScope().getAllDescriptors()) {
for (DeclarationDescriptor member : type.getMemberScope().getDescriptors(DescriptorKindFilter.CALLABLES, KtScope.Companion.getALL_NAME_FILTER())) {
if (member instanceof CallableMemberDescriptor && ((CallableMemberDescriptor) member).getModality() == Modality.ABSTRACT) {
abstractMembers.add((CallableMemberDescriptor) member);
}
@@ -93,7 +93,7 @@ public final class WhenChecker {
assert isEnumClass(enumClassDescriptor) :
"isWhenOnEnumExhaustive should be called with an enum class descriptor";
Set<ClassDescriptor> entryDescriptors = new HashSet<ClassDescriptor>();
for (DeclarationDescriptor descriptor : enumClassDescriptor.getUnsubstitutedInnerClassesScope().getAllDescriptors()) {
for (DeclarationDescriptor descriptor : DescriptorUtils.getAllDescriptors(enumClassDescriptor.getUnsubstitutedInnerClassesScope())) {
if (isEnumEntry(descriptor)) {
entryDescriptors.add((ClassDescriptor) descriptor);
}
@@ -106,7 +106,7 @@ public final class WhenChecker {
@NotNull ClassDescriptor currentDescriptor,
@NotNull Set<ClassDescriptor> subclasses
) {
for (DeclarationDescriptor descriptor : currentDescriptor.getUnsubstitutedInnerClassesScope().getAllDescriptors()) {
for (DeclarationDescriptor descriptor : DescriptorUtils.getAllDescriptors(currentDescriptor.getUnsubstitutedInnerClassesScope())) {
if (descriptor instanceof ClassDescriptor) {
ClassDescriptor memberClassDescriptor = (ClassDescriptor) descriptor;
if (DescriptorUtils.isDirectSubclass(memberClassDescriptor, baseDescriptor)) {
@@ -53,7 +53,7 @@ public class DeclarationResolver(
public fun checkRedeclarations(c: TopDownAnalysisContext) {
for (classDescriptor in c.getDeclaredClasses().values()) {
val descriptorMap = HashMultimap.create<Name, DeclarationDescriptor>()
for (desc in classDescriptor.getUnsubstitutedMemberScope().getOwnDeclaredDescriptors()) {
for (desc in classDescriptor.getUnsubstitutedMemberScope().getDescriptors()) {
if (desc is ClassDescriptor || desc is PropertyDescriptor) {
descriptorMap.put(desc.getName(), desc)
}
@@ -38,6 +38,8 @@ 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;
@@ -243,7 +245,7 @@ public class OverrideResolver {
private static List<CallableMemberDescriptor> getCallableMembersFromType(KotlinType type) {
List<CallableMemberDescriptor> r = Lists.newArrayList();
for (DeclarationDescriptor decl : type.getMemberScope().getAllDescriptors()) {
for (DeclarationDescriptor decl : type.getMemberScope().getDescriptors(DescriptorKindFilter.CALLABLES, KtScope.Companion.getALL_NAME_FILTER())) {
if (decl instanceof PropertyDescriptor || decl instanceof SimpleFunctionDescriptor) {
r.add((CallableMemberDescriptor) decl);
}
@@ -305,7 +307,8 @@ public class OverrideResolver {
@NotNull Set<CallableMemberDescriptor> abstractInBaseClassNoImpl,
@NotNull Set<CallableMemberDescriptor> conflictingInterfaceOverrides
) {
for (DeclarationDescriptor member : classDescriptor.getDefaultType().getMemberScope().getAllDescriptors()) {
for (DeclarationDescriptor member : classDescriptor.getDefaultType().getMemberScope()
.getDescriptors(DescriptorKindFilter.CALLABLES, KtScope.Companion.getALL_NAME_FILTER())) {
if (member instanceof CallableMemberDescriptor) {
collectMissingImplementations((CallableMemberDescriptor) member,
abstractNoImpl, manyImpl,
@@ -812,7 +815,8 @@ public class OverrideResolver {
private void checkParameterOverridesForAllClasses(@NotNull TopDownAnalysisContext c) {
for (ClassDescriptorWithResolutionScopes classDescriptor : c.getDeclaredClasses().values()) {
for (DeclarationDescriptor member : classDescriptor.getDefaultType().getMemberScope().getAllDescriptors()) {
for (DeclarationDescriptor member : classDescriptor.getDefaultType().getMemberScope()
.getDescriptors(DescriptorKindFilter.CALLABLES, KtScope.Companion.getALL_NAME_FILTER())) {
if (member instanceof CallableMemberDescriptor) {
checkOverridesForParameters((CallableMemberDescriptor) member);
}
@@ -22,6 +22,7 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.descriptors.annotations.AnnotationWithTarget;
import org.jetbrains.kotlin.descriptors.annotations.Annotations;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.scopes.KtScope;
import org.jetbrains.kotlin.types.*;
@@ -38,7 +39,7 @@ public class ForceResolveUtil {
}
public static void forceResolveAllContents(@NotNull KtScope scope) {
forceResolveAllContents(scope.getAllDescriptors());
forceResolveAllContents(DescriptorUtils.getAllDescriptors(scope));
}
public static void forceResolveAllContents(@NotNull Iterable<? extends DeclarationDescriptor> descriptors) {
@@ -46,6 +46,7 @@ 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;
@@ -287,7 +288,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
public Collection<CallableMemberDescriptor> getDeclaredCallableMembers() {
//noinspection unchecked
return (Collection) CollectionsKt.filter(
unsubstitutedMemberScope.getAllDescriptors(),
DescriptorUtils.getAllDescriptors(unsubstitutedMemberScope),
new Function1<DeclarationDescriptor, Boolean>() {
@Override
public Boolean invoke(DeclarationDescriptor descriptor) {
@@ -474,7 +475,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
getOriginal();
getScopeForClassHeaderResolution();
getScopeForMemberDeclarationResolution();
getUnsubstitutedMemberScope().getAllDescriptors();
getUnsubstitutedMemberScope().getDescriptors(DescriptorKindFilter.ALL, KtScope.Companion.getALL_NAME_FILTER());
getScopeForInitializerResolution();
getUnsubstitutedInnerClassesScope();
getTypeConstructor().getSupertypes();
@@ -39,7 +39,7 @@ public class LexicalChainedScope @JvmOverloads constructor(
private val scopeChain = memberScopes.clone()
override fun getContributedDescriptors(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean)
= getFromAllScopes(scopeChain) { it.getAllDescriptors() }
= getFromAllScopes(scopeChain) { it.getDescriptors() }
override fun getContributedClassifier(name: Name, location: LookupLocation) = getFirstMatch(scopeChain) { it.getClassifier(name, location) }
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.descriptors.annotations.Annotated;
import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.MemberComparator;
import org.jetbrains.kotlin.resolve.constants.ConstantValue;
import org.jetbrains.kotlin.resolve.constants.NullValue;
@@ -156,7 +157,7 @@ public class DescriptorSerializer {
builder.addConstructor(constructorProto(descriptor));
}
for (DeclarationDescriptor descriptor : sort(classDescriptor.getDefaultType().getMemberScope().getAllDescriptors())) {
for (DeclarationDescriptor descriptor : sort(DescriptorUtils.getAllDescriptors(classDescriptor.getDefaultType().getMemberScope()))) {
if (descriptor instanceof CallableMemberDescriptor) {
CallableMemberDescriptor member = (CallableMemberDescriptor) descriptor;
if (member.getKind() == CallableMemberDescriptor.Kind.FAKE_OVERRIDE) continue;
@@ -170,7 +171,7 @@ public class DescriptorSerializer {
}
}
for (DeclarationDescriptor descriptor : sort(classDescriptor.getUnsubstitutedInnerClassesScope().getAllDescriptors())) {
for (DeclarationDescriptor descriptor : sort(DescriptorUtils.getAllDescriptors(classDescriptor.getUnsubstitutedInnerClassesScope()))) {
int name = getSimpleNameIndex(descriptor.getName());
if (isEnumEntry(descriptor)) {
builder.addEnumEntry(name);
@@ -534,7 +535,7 @@ public class DescriptorSerializer {
Collection<DeclarationDescriptor> members = new ArrayList<DeclarationDescriptor>();
for (PackageFragmentDescriptor fragment : fragments) {
members.addAll(fragment.getMemberScope().getAllDescriptors());
members.addAll(DescriptorUtils.getAllDescriptors(fragment.getMemberScope()));
}
for (DeclarationDescriptor declaration : sort(members)) {
@@ -120,7 +120,7 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir {
tmpdir, getTestRootDisposable(), TestJdkKind.MOCK_JDK, configurationKind, true
).first;
for (DeclarationDescriptor descriptor : packageFromBinary.getMemberScope().getAllDescriptors()) {
for (DeclarationDescriptor descriptor : DescriptorUtils.getAllDescriptors(packageFromBinary.getMemberScope())) {
if (descriptor instanceof ClassDescriptor) {
assert descriptor instanceof DeserializedClassDescriptor : DescriptorUtils.getFqName(descriptor) + " is loaded as " + descriptor.getClass();
}
@@ -156,7 +156,7 @@ public abstract class AbstractSdkAnnotationsValidityTest extends UsefulTestCase
}
private Void visitDeclarationRecursively(@NotNull DeclarationDescriptor descriptor, @NotNull KtScope memberScope) {
for (DeclarationDescriptor member : memberScope.getAllDescriptors()) {
for (DeclarationDescriptor member : DescriptorUtils.getAllDescriptors(memberScope)) {
member.acceptVoid(this);
}
return visitDeclaration(descriptor);
@@ -35,6 +35,7 @@ import org.jetbrains.kotlin.config.CompilerConfiguration;
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
import org.jetbrains.kotlin.descriptors.PackageViewDescriptor;
import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil;
import org.jetbrains.kotlin.test.*;
import org.jetbrains.kotlin.test.util.DescriptorValidator;
@@ -107,7 +108,7 @@ public class CompileKotlinAgainstCustomBinariesTest extends TestCaseWithTmpdir {
@NotNull
private Collection<DeclarationDescriptor> analyzeAndGetAllDescriptors(@NotNull File... extraClassPath) throws IOException {
return analyzeFileToPackageView(extraClassPath).getMemberScope().getAllDescriptors();
return DescriptorUtils.getAllDescriptors(analyzeFileToPackageView(extraClassPath).getMemberScope());
}
@NotNull
@@ -37,7 +37,7 @@ class DeserializedScopeValidationVisitor : ValidationVisitor() {
private fun validateDeserializedScope(scope: KtScope) {
val isPackageViewScope = scope.safeGetContainingDeclaration() is PackageViewDescriptor
if (scope is DeserializedMemberScope || isPackageViewScope) {
val relevantDescriptors = scope.getAllDescriptors().filter { member ->
val relevantDescriptors = scope.getDescriptors().filter { member ->
member is CallableMemberDescriptor && member.getKind().isReal() || (!isPackageViewScope && member is ClassDescriptor)
}
checkSorted(relevantDescriptors, scope.getContainingDeclaration())
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.load.java.JavaBindingContext;
import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.renderer.DescriptorRenderer;
import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.constants.ConstantValue;
import org.jetbrains.kotlin.resolve.scopes.KtScope;
@@ -96,7 +97,7 @@ public class ExpectedLoadErrorsUtil {
}
private Void visitDeclarationRecursively(@NotNull DeclarationDescriptor descriptor, @NotNull KtScope memberScope) {
for (DeclarationDescriptor member : memberScope.getAllDescriptors()) {
for (DeclarationDescriptor member : DescriptorUtils.getAllDescriptors(memberScope)) {
member.acceptVoid(this);
}
@@ -33,6 +33,7 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor;
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
import org.jetbrains.kotlin.incremental.components.NoLookupLocation;
import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
import org.jetbrains.kotlin.resolve.lazy.LazyResolveTestUtil;
import org.jetbrains.kotlin.test.ConfigurationKind;
@@ -214,7 +215,7 @@ public class ResolveDescriptorsFromExternalLibraries {
if (clazz == null) {
throw new IllegalStateException("class not found by name " + className + " in " + libDescription);
}
clazz.getDefaultType().getMemberScope().getAllDescriptors();
DescriptorUtils.getAllDescriptors(clazz.getDefaultType().getMemberScope());
}
catch (Exception e) {
System.err.println("failed to resolve " + className);
@@ -41,6 +41,7 @@ import org.jetbrains.kotlin.renderer.DescriptorRendererModifier;
import org.jetbrains.kotlin.renderer.DescriptorRendererOptions;
import org.jetbrains.kotlin.renderer.NameShortness;
import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.scopes.KtScope;
import org.jetbrains.kotlin.test.KotlinLiteFixture;
import org.jetbrains.kotlin.test.KotlinTestUtils;
@@ -188,7 +189,7 @@ public abstract class AbstractAnnotationDescriptorResolveTest extends KotlinLite
KtScope memberScope = packageView.getMemberScope();
Collection<PropertyDescriptor> properties = memberScope.getProperties(propertyName, NoLookupLocation.FROM_TEST);
if (properties.isEmpty()) {
for (DeclarationDescriptor descriptor : memberScope.getAllDescriptors()) {
for (DeclarationDescriptor descriptor : DescriptorUtils.getAllDescriptors(memberScope)) {
if (descriptor instanceof ClassDescriptor) {
Collection<PropertyDescriptor> classProperties =
((ClassDescriptor) descriptor).getMemberScope(Collections.<TypeProjection>emptyList())
@@ -24,6 +24,7 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.incremental.components.NoLookupLocation;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.scopes.KtScope;
import org.jetbrains.kotlin.types.KotlinType;
import org.junit.Assert;
@@ -84,7 +85,7 @@ public class DescriptorValidator {
}
protected void validateScope(@NotNull KtScope scope, @NotNull DiagnosticCollector collector) {
for (DeclarationDescriptor descriptor : scope.getAllDescriptors()) {
for (DeclarationDescriptor descriptor : DescriptorUtils.getAllDescriptors(scope)) {
if (recursiveFilter.apply(descriptor)) {
descriptor.accept(new ScopeValidatorVisitor(collector), scope);
}
@@ -129,7 +129,7 @@ public class RecursiveDescriptorComparator {
appendSubDescriptors(descriptor, module,
klass.getDefaultType().getMemberScope(), klass.getConstructors(), printer);
KtScope staticScope = klass.getStaticScope();
if (!staticScope.getAllDescriptors().isEmpty()) {
if (!DescriptorUtils.getAllDescriptors(staticScope).isEmpty()) {
printer.println();
printer.println("// Static members");
appendSubDescriptors(descriptor, module, staticScope, Collections.<DeclarationDescriptor>emptyList(), printer);
@@ -196,7 +196,7 @@ public class RecursiveDescriptorComparator {
List<DeclarationDescriptor> subDescriptors = Lists.newArrayList();
subDescriptors.addAll(memberScope.getAllDescriptors());
subDescriptors.addAll(DescriptorUtils.getAllDescriptors(memberScope));
subDescriptors.addAll(extraSubDescriptors);
Collections.sort(subDescriptors, MemberComparator.INSTANCE);
@@ -20,6 +20,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import java.util.Collection;
@@ -68,13 +69,13 @@ public class RecursiveDescriptorProcessor {
@Override
public Boolean visitPackageFragmentDescriptor(PackageFragmentDescriptor descriptor, D data) {
return applyWorker(descriptor, data)
&& visitChildren(descriptor.getMemberScope().getAllDescriptors(), data);
&& visitChildren(DescriptorUtils.getAllDescriptors(descriptor.getMemberScope()), data);
}
@Override
public Boolean visitPackageViewDescriptor(PackageViewDescriptor descriptor, D data) {
return applyWorker(descriptor, data)
&& visitChildren(descriptor.getMemberScope().getAllDescriptors(), data);
&& visitChildren(DescriptorUtils.getAllDescriptors(descriptor.getMemberScope()), data);
}
@Override
@@ -105,7 +106,7 @@ public class RecursiveDescriptorProcessor {
&& visitChildren(descriptor.getThisAsReceiverParameter(), data)
&& visitChildren(descriptor.getConstructors(), data)
&& visitChildren(descriptor.getTypeConstructor().getParameters(), data)
&& visitChildren(descriptor.getDefaultType().getMemberScope().getAllDescriptors(), data);
&& visitChildren(DescriptorUtils.getAllDescriptors(descriptor.getDefaultType().getMemberScope()), data);
}
@Override
@@ -59,7 +59,7 @@ class FunctionClassScope(
private fun createFakeOverrides(invoke: FunctionDescriptor?): List<DeclarationDescriptor> {
val result = ArrayList<DeclarationDescriptor>(3)
val allSuperDescriptors = functionClass.getTypeConstructor().getSupertypes()
.flatMap { it.getMemberScope().getAllDescriptors() }
.flatMap { it.getMemberScope().getDescriptors() }
.filterIsInstance<CallableMemberDescriptor>()
for ((name, group) in allSuperDescriptors.groupBy { it.getName() }) {
for ((isFunction, descriptors) in group.groupBy { it is FunctionDescriptor }) {
@@ -31,6 +31,8 @@ import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.name.SpecialNames;
import org.jetbrains.kotlin.resolve.constants.ConstantValue;
import org.jetbrains.kotlin.resolve.constants.StringValue;
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter;
import org.jetbrains.kotlin.resolve.scopes.KtScope;
import org.jetbrains.kotlin.types.ErrorUtils;
import org.jetbrains.kotlin.types.KotlinType;
import org.jetbrains.kotlin.types.LazyType;
@@ -546,4 +548,9 @@ public class DescriptorUtils {
return SourceFile.NO_SOURCE_FILE;
}
@NotNull
public static Collection<DeclarationDescriptor> getAllDescriptors(@NotNull KtScope scope) {
return scope.getDescriptors(DescriptorKindFilter.ALL, KtScope.Companion.getALL_NAME_FILTER());
}
}
@@ -41,6 +41,7 @@ public interface KtScope {
*
* @return All visible descriptors from current scope.
*/
@Deprecated("Removed in progress", ReplaceWith("getDescriptors()"))
public fun getAllDescriptors(): Collection<DeclarationDescriptor> = getDescriptors()
/**
@@ -159,15 +160,15 @@ public class DescriptorKindFilter(
public val VALUES_MASK: Int = SINGLETON_CLASSIFIERS_MASK or FUNCTIONS_MASK or VARIABLES_MASK
public val CALLABLES_MASK: Int = FUNCTIONS_MASK or VARIABLES_MASK
public val ALL: DescriptorKindFilter = DescriptorKindFilter(ALL_KINDS_MASK)
public val CALLABLES: DescriptorKindFilter = DescriptorKindFilter(CALLABLES_MASK)
public val NON_SINGLETON_CLASSIFIERS: DescriptorKindFilter = DescriptorKindFilter(NON_SINGLETON_CLASSIFIERS_MASK)
public val SINGLETON_CLASSIFIERS: DescriptorKindFilter = DescriptorKindFilter(SINGLETON_CLASSIFIERS_MASK)
public val CLASSIFIERS: DescriptorKindFilter = DescriptorKindFilter(CLASSIFIERS_MASK)
public val PACKAGES: DescriptorKindFilter = DescriptorKindFilter(PACKAGES_MASK)
public val FUNCTIONS: DescriptorKindFilter = DescriptorKindFilter(FUNCTIONS_MASK)
public val VARIABLES: DescriptorKindFilter = DescriptorKindFilter(VARIABLES_MASK)
public val VALUES: DescriptorKindFilter = DescriptorKindFilter(VALUES_MASK)
@JvmField public val ALL: DescriptorKindFilter = DescriptorKindFilter(ALL_KINDS_MASK)
@JvmField public val CALLABLES: DescriptorKindFilter = DescriptorKindFilter(CALLABLES_MASK)
@JvmField public val NON_SINGLETON_CLASSIFIERS: DescriptorKindFilter = DescriptorKindFilter(NON_SINGLETON_CLASSIFIERS_MASK)
@JvmField public val SINGLETON_CLASSIFIERS: DescriptorKindFilter = DescriptorKindFilter(SINGLETON_CLASSIFIERS_MASK)
@JvmField public val CLASSIFIERS: DescriptorKindFilter = DescriptorKindFilter(CLASSIFIERS_MASK)
@JvmField public val PACKAGES: DescriptorKindFilter = DescriptorKindFilter(PACKAGES_MASK)
@JvmField public val FUNCTIONS: DescriptorKindFilter = DescriptorKindFilter(FUNCTIONS_MASK)
@JvmField public val VARIABLES: DescriptorKindFilter = DescriptorKindFilter(VARIABLES_MASK)
@JvmField public val VALUES: DescriptorKindFilter = DescriptorKindFilter(VALUES_MASK)
private class MaskToName(val mask: Int, val name: String)
@@ -229,7 +229,7 @@ public class DeserializedClassDescriptor(
override fun addNonDeclaredDescriptors(result: MutableCollection<DeclarationDescriptor>, location: LookupLocation) {
for (supertype in classDescriptor.getTypeConstructor().supertypes) {
for (descriptor in supertype.memberScope.getAllDescriptors()) {
for (descriptor in supertype.memberScope.getDescriptors()) {
if (descriptor is FunctionDescriptor) {
result.addAll(getFunctions(descriptor.name, location))
}
@@ -312,7 +312,7 @@ public class DeserializedClassDescriptor(
val result = HashSet<Name>()
for (supertype in getTypeConstructor().getSupertypes()) {
for (descriptor in supertype.getMemberScope().getAllDescriptors()) {
for (descriptor in supertype.getMemberScope().getDescriptors()) {
if (descriptor is SimpleFunctionDescriptor || descriptor is PropertyDescriptor) {
result.add(descriptor.getName())
}
@@ -175,7 +175,7 @@ public abstract class DeserializedMemberScope protected constructor(
protected abstract fun addEnumEntryDescriptors(result: MutableCollection<DeclarationDescriptor>, nameFilter: (Name) -> Boolean)
override fun getOwnDeclaredDescriptors() = getAllDescriptors()
override fun getOwnDeclaredDescriptors() = getDescriptors()
override fun printScopeStructure(p: Printer) {
p.println(javaClass.simpleName, " {")
@@ -120,7 +120,7 @@ internal class KClassImpl<T : Any>(override val jClass: Class<T>) : KDeclaration
}
override val nestedClasses: Collection<KClass<*>>
get() = descriptor.unsubstitutedInnerClassesScope.getAllDescriptors().map { nestedClass ->
get() = descriptor.unsubstitutedInnerClassesScope.getDescriptors().map { nestedClass ->
val source = (nestedClass as DeclarationDescriptorWithSource).source
when (source) {
is KotlinJvmBinarySourceElement ->
@@ -78,7 +78,7 @@ internal abstract class KDeclarationContainerImpl : ClassBasedDeclarationContain
}
}
return scope.getAllDescriptors().asSequence()
return scope.getDescriptors().asSequence()
.filter { descriptor ->
descriptor !is MemberDescriptor || descriptor.getVisibility() != Visibilities.INVISIBLE_FAKE
}
@@ -108,7 +108,7 @@ public class BuiltInsReferenceResolver(val project: Project, val startupManager:
containingDeclaration.getConstructors()
}
else {
memberScope.getAllDescriptors()
memberScope.getDescriptors()
}
return descriptors.firstOrNull { renderedOriginal == DescriptorRenderer.FQ_NAMES_IN_TYPES.render(it) }
@@ -90,16 +90,16 @@ class StaticMembers(
}
}
classDescriptor.getStaticScope().getAllDescriptors().forEach(::processMember)
classDescriptor.getStaticScope().getDescriptors().forEach(::processMember)
val companionObject = classDescriptor.getCompanionObjectDescriptor()
if (companionObject != null) {
companionObject.getDefaultType().getMemberScope().getAllDescriptors()
companionObject.getDefaultType().getMemberScope().getDescriptors()
.filter { !it.isExtension }
.forEach(::processMember)
}
var members = classDescriptor.getDefaultType().getMemberScope().getAllDescriptors()
var members = classDescriptor.getDefaultType().getMemberScope().getDescriptors()
if (classDescriptor.getKind() != ClassKind.ENUM_CLASS) {
members = members.filter { DescriptorUtils.isNonCompanionObject(it) }
}
@@ -26,7 +26,7 @@ import java.util.*
public class OverrideMembersHandler : OverrideImplementMembersHandler() {
override fun collectMembersToGenerate(descriptor: ClassDescriptor, project: Project): Collection<OverrideMemberChooserObject> {
val result = ArrayList<OverrideMemberChooserObject>()
for (member in descriptor.unsubstitutedMemberScope.getAllDescriptors()) {
for (member in descriptor.unsubstitutedMemberScope.getDescriptors()) {
if (member is CallableMemberDescriptor
&& (member.kind == CallableMemberDescriptor.Kind.FAKE_OVERRIDE || member.kind == CallableMemberDescriptor.Kind.DELEGATION)) {
val overridden = member.overriddenDescriptors
@@ -79,7 +79,7 @@ public abstract class TextConsistencyBaseTest : KotlinLightCodeInsightFixtureTes
module.resolveTopLevelClass(classId.asSingleFqName(), NoLookupLocation.FROM_TEST)
override fun resolveDeclarationsInFacade(facadeFqName: FqName): Collection<DeclarationDescriptor> =
module.getPackage(facadeFqName.parent()).memberScope.getAllDescriptors().filter {
module.getPackage(facadeFqName.parent()).memberScope.getDescriptors().filter {
it is CallableMemberDescriptor &&
it.module != module.builtIns.builtInsModule &&
isFromFacade(it, facadeFqName)
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.descriptors.impl.DeclarationDescriptorVisitorEmptyBo
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde;
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import java.util.ArrayList;
import java.util.Collection;
@@ -93,12 +94,12 @@ public class BuiltInsReferenceResolverTest extends ResolveTestCase {
PackageFragmentDescriptor builtinsPackageFragment = DefaultBuiltIns.getInstance().getBuiltInsPackageFragment();
for (DeclarationDescriptor packageMember : builtinsPackageFragment.getMemberScope().getAllDescriptors()) {
for (DeclarationDescriptor packageMember : DescriptorUtils.getAllDescriptors(builtinsPackageFragment.getMemberScope())) {
packageMember.acceptVoid(new DeclarationDescriptorVisitorEmptyBodies<Void, Void>() {
@Override
public Void visitClassDescriptor(ClassDescriptor descriptor, Void data) {
descriptors.add(descriptor);
for (DeclarationDescriptor classMember : descriptor.getDefaultType().getMemberScope().getAllDescriptors()) {
for (DeclarationDescriptor classMember : DescriptorUtils.getAllDescriptors(descriptor.getDefaultType().getMemberScope())) {
classMember.acceptVoid(this);
}
return null;
@@ -240,7 +240,7 @@ public class ClassTranslator private constructor(
}
private fun generateOtherBridges(properties: MutableList<JsPropertyInitializer>) {
for (memberDescriptor in descriptor.getDefaultType().getMemberScope().getAllDescriptors()) {
for (memberDescriptor in descriptor.getDefaultType().getMemberScope().getDescriptors()) {
if (memberDescriptor is FunctionDescriptor) {
val bridgesToGenerate = generateBridgesForFunctionDescriptor(memberDescriptor, identity())
@@ -31,6 +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.scopes.KtScope;
import org.jetbrains.kotlin.types.KotlinType;
@@ -95,7 +96,7 @@ public class JetTestFunctionDetector {
}
if (scope != null) {
Collection<DeclarationDescriptor> allDescriptors = scope.getAllDescriptors();
Collection<DeclarationDescriptor> allDescriptors = scope.getDescriptors(DescriptorKindFilter.FUNCTIONS, KtScope.Companion.getALL_NAME_FILTER());
List<FunctionDescriptor> testFunctions = ContainerUtil.mapNotNull(
allDescriptors,
new Function<DeclarationDescriptor, FunctionDescriptor>() {
@@ -248,7 +248,7 @@ public class AndroidExpressionCodegenExtension : ExpressionCodegenExtension {
context.generateClearCacheFunction()
if (androidClassType.fragment) {
val classMembers = descriptor.unsubstitutedMemberScope.getAllDescriptors()
val classMembers = descriptor.unsubstitutedMemberScope.getDescriptors()
val onDestroy = classMembers.firstOrNull { it is FunctionDescriptor && it.isOnDestroyFunction() }
if (onDestroy == null) {
context.generateOnDestroyFunctionForFragment()