Renamed KtScope to MemberScope

This commit is contained in:
Stanislav Erokhin
2015-11-04 14:40:18 +03:00
parent 748c0e7149
commit 6f9d9759ce
104 changed files with 323 additions and 326 deletions
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.resolve.DescriptorUtils; import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt; import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOriginKt; import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOriginKt;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.serialization.DescriptorSerializer; import org.jetbrains.kotlin.serialization.DescriptorSerializer;
import org.jetbrains.kotlin.serialization.ProtoBuf; import org.jetbrains.kotlin.serialization.ProtoBuf;
import org.jetbrains.kotlin.types.KotlinType; import org.jetbrains.kotlin.types.KotlinType;
@@ -468,7 +468,7 @@ public class ClosureCodegen extends MemberCodegen<KtElement> {
ClassDescriptor elementClass = elementDescriptor.getExtensionReceiverParameter() == null ClassDescriptor elementClass = elementDescriptor.getExtensionReceiverParameter() == null
? DescriptorUtilsKt.getBuiltIns(elementDescriptor).getFunction(arity) ? DescriptorUtilsKt.getBuiltIns(elementDescriptor).getFunction(arity)
: DescriptorUtilsKt.getBuiltIns(elementDescriptor).getExtensionFunction(arity); : DescriptorUtilsKt.getBuiltIns(elementDescriptor).getExtensionFunction(arity);
KtScope scope = elementClass.getDefaultType().getMemberScope(); MemberScope scope = elementClass.getDefaultType().getMemberScope();
return scope.getFunctions(OperatorNameConventions.INVOKE, NoLookupLocation.FROM_BACKEND).iterator().next(); return scope.getFunctions(OperatorNameConventions.INVOKE, NoLookupLocation.FROM_BACKEND).iterator().next();
} }
} }
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.jvm.diagnostics.DelegationToTraitImpl import org.jetbrains.kotlin.resolve.jvm.diagnostics.DelegationToTraitImpl
import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOrigin import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOrigin
import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodSignature import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodSignature
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.org.objectweb.asm.MethodVisitor import org.jetbrains.org.objectweb.asm.MethodVisitor
import org.jetbrains.org.objectweb.asm.Opcodes.* import org.jetbrains.org.objectweb.asm.Opcodes.*
import java.util.* import java.util.*
@@ -65,7 +65,7 @@ public class InterfaceImplBodyCodegen(
descriptor, Name.identifier(JvmAbi.DEFAULT_IMPLS_CLASS_NAME), descriptor, Name.identifier(JvmAbi.DEFAULT_IMPLS_CLASS_NAME),
Modality.FINAL, Collections.emptyList(), SourceElement.NO_SOURCE) Modality.FINAL, Collections.emptyList(), SourceElement.NO_SOURCE)
classDescriptorImpl.initialize(KtScope.empty(classDescriptorImpl), emptySet(), null) classDescriptorImpl.initialize(MemberScope.empty(classDescriptorImpl), emptySet(), null)
return classDescriptorImpl return classDescriptorImpl
} }
@@ -43,7 +43,7 @@ import org.jetbrains.kotlin.resolve.jvm.diagnostics.MultifileClassPart
import org.jetbrains.kotlin.resolve.jvm.diagnostics.OtherOrigin import org.jetbrains.kotlin.resolve.jvm.diagnostics.OtherOrigin
import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodSignature import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodSignature
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedCallableMemberDescriptor import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedCallableMemberDescriptor
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedPropertyDescriptor import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedPropertyDescriptor
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedSimpleFunctionDescriptor import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedSimpleFunctionDescriptor
@@ -70,7 +70,7 @@ public class MultifileClassCodegen(
getDeserializedCallables(compiledPackageFragment) getDeserializedCallables(compiledPackageFragment)
private fun getDeserializedCallables(compiledPackageFragment: PackageFragmentDescriptor) = private fun getDeserializedCallables(compiledPackageFragment: PackageFragmentDescriptor) =
compiledPackageFragment.getMemberScope().getDescriptors(DescriptorKindFilter.CALLABLES, KtScope.ALL_NAME_FILTER).filterIsInstance<DeserializedCallableMemberDescriptor>() compiledPackageFragment.getMemberScope().getDescriptors(DescriptorKindFilter.CALLABLES, MemberScope.ALL_NAME_FILTER).filterIsInstance<DeserializedCallableMemberDescriptor>()
public val packageParts = PackageParts(facadeFqName.parent().asString()) public val packageParts = PackageParts(facadeFqName.parent().asString())
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.descriptors.impl.ClassDescriptorBase;
import org.jetbrains.kotlin.descriptors.impl.ConstructorDescriptorImpl; import org.jetbrains.kotlin.descriptors.impl.ConstructorDescriptorImpl;
import org.jetbrains.kotlin.descriptors.impl.DeclarationDescriptorImpl; import org.jetbrains.kotlin.descriptors.impl.DeclarationDescriptorImpl;
import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.storage.LockBasedStorageManager; import org.jetbrains.kotlin.storage.LockBasedStorageManager;
import org.jetbrains.kotlin.types.KotlinType; import org.jetbrains.kotlin.types.KotlinType;
import org.jetbrains.kotlin.types.TypeConstructor; import org.jetbrains.kotlin.types.TypeConstructor;
@@ -160,14 +160,14 @@ public class MutableClassDescriptor extends ClassDescriptorBase implements Class
@Override @Override
@NotNull @NotNull
public KtScope getUnsubstitutedMemberScope() { public MemberScope getUnsubstitutedMemberScope() {
return KtScope.Companion.empty(this); // used for getDefaultType return MemberScope.Companion.empty(this); // used for getDefaultType
} }
@NotNull @NotNull
@Override @Override
public KtScope getStaticScope() { public MemberScope getStaticScope() {
return KtScope.Companion.empty(this); return MemberScope.Companion.empty(this);
} }
@Override @Override
@@ -49,7 +49,7 @@ import org.jetbrains.kotlin.resolve.calls.model.ResolvedValueArgument;
import org.jetbrains.kotlin.resolve.constants.ConstantValue; import org.jetbrains.kotlin.resolve.constants.ConstantValue;
import org.jetbrains.kotlin.resolve.constants.EnumValue; import org.jetbrains.kotlin.resolve.constants.EnumValue;
import org.jetbrains.kotlin.resolve.constants.NullValue; import org.jetbrains.kotlin.resolve.constants.NullValue;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.resolve.source.KotlinSourceElementKt; import org.jetbrains.kotlin.resolve.source.KotlinSourceElementKt;
import org.jetbrains.kotlin.types.KotlinType; import org.jetbrains.kotlin.types.KotlinType;
import org.jetbrains.org.objectweb.asm.Type; import org.jetbrains.org.objectweb.asm.Type;
@@ -101,7 +101,7 @@ class CodegenAnnotatingVisitor extends KtVisitorVoid {
supertypes, supertypes,
KotlinSourceElementKt.toSourceElement(element) KotlinSourceElementKt.toSourceElement(element)
); );
classDescriptor.initialize(KtScope.Companion.empty(classDescriptor), Collections.<ConstructorDescriptor>emptySet(), null); classDescriptor.initialize(MemberScope.Companion.empty(classDescriptor), Collections.<ConstructorDescriptor>emptySet(), null);
bindingTrace.record(CLASS_FOR_CALLABLE, callableDescriptor, classDescriptor); bindingTrace.record(CLASS_FOR_CALLABLE, callableDescriptor, classDescriptor);
return classDescriptor; return classDescriptor;
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.psi.psiUtil.PsiUtilsKt;
import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.resolve.BindingTrace; import org.jetbrains.kotlin.resolve.BindingTrace;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt; import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.resolve.source.KotlinSourceElementKt; import org.jetbrains.kotlin.resolve.source.KotlinSourceElementKt;
import org.jetbrains.kotlin.util.slicedMap.BasicWritableSlice; import org.jetbrains.kotlin.util.slicedMap.BasicWritableSlice;
import org.jetbrains.kotlin.util.slicedMap.Slices; import org.jetbrains.kotlin.util.slicedMap.Slices;
@@ -212,7 +212,7 @@ public class CodegenBinding {
new ClassDescriptorImpl(descriptor, Name.special("<script-" + simpleName + ">"), Modality.FINAL, new ClassDescriptorImpl(descriptor, Name.special("<script-" + simpleName + ">"), Modality.FINAL,
Collections.singleton(DescriptorUtilsKt.getBuiltIns(descriptor).getAnyType()), Collections.singleton(DescriptorUtilsKt.getBuiltIns(descriptor).getAnyType()),
KotlinSourceElementKt.toSourceElement(script)); KotlinSourceElementKt.toSourceElement(script));
classDescriptor.initialize(KtScope.Companion.empty(classDescriptor), Collections.<ConstructorDescriptor>emptySet(), null); classDescriptor.initialize(MemberScope.Companion.empty(classDescriptor), Collections.<ConstructorDescriptor>emptySet(), null);
recordClosure(trace, classDescriptor, null, asmType, fileClassesManager); recordClosure(trace, classDescriptor, null, asmType, fileClassesManager);
@@ -63,7 +63,7 @@ import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodParameterKind;
import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodParameterSignature; import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodParameterSignature;
import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodSignature; import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodSignature;
import org.jetbrains.kotlin.resolve.scopes.AbstractScopeAdapter; import org.jetbrains.kotlin.resolve.scopes.AbstractScopeAdapter;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.serialization.deserialization.DeserializedType; import org.jetbrains.kotlin.serialization.deserialization.DeserializedType;
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedCallableMemberDescriptor; import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedCallableMemberDescriptor;
import org.jetbrains.kotlin.types.*; import org.jetbrains.kotlin.types.*;
@@ -307,7 +307,7 @@ public class JetTypeMapper {
String facadeSimpleName; String facadeSimpleName;
KtScope scope = packageFragmentDescriptor.getMemberScope(); MemberScope scope = packageFragmentDescriptor.getMemberScope();
if (scope instanceof AbstractScopeAdapter) { if (scope instanceof AbstractScopeAdapter) {
scope = ((AbstractScopeAdapter) scope).getActualScope(); scope = ((AbstractScopeAdapter) scope).getActualScope();
} }
@@ -44,7 +44,7 @@ import org.jetbrains.kotlin.resolve.*
import org.jetbrains.kotlin.resolve.lazy.KotlinCodeAnalyzer import org.jetbrains.kotlin.resolve.lazy.KotlinCodeAnalyzer
import org.jetbrains.kotlin.resolve.lazy.ResolveSessionUtils import org.jetbrains.kotlin.resolve.lazy.ResolveSessionUtils
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.util.slicedMap.ReadOnlySlice import org.jetbrains.kotlin.util.slicedMap.ReadOnlySlice
import org.jetbrains.kotlin.util.slicedMap.WritableSlice import org.jetbrains.kotlin.util.slicedMap.WritableSlice
import org.jetbrains.kotlin.utils.emptyOrSingletonList import org.jetbrains.kotlin.utils.emptyOrSingletonList
@@ -127,7 +127,7 @@ public class CliLightClassGenerationSupport(project: Project) : LightClassGenera
override fun getSubPackages(fqn: FqName, scope: GlobalSearchScope): Collection<FqName> { override fun getSubPackages(fqn: FqName, scope: GlobalSearchScope): Collection<FqName> {
val packageView = module.getPackage(fqn) val packageView = module.getPackage(fqn)
val members = packageView.memberScope.getDescriptors(DescriptorKindFilter.PACKAGES, KtScope.ALL_NAME_FILTER) val members = packageView.memberScope.getDescriptors(DescriptorKindFilter.PACKAGES, MemberScope.ALL_NAME_FILTER)
return ContainerUtil.mapNotNull(members, object : Function<DeclarationDescriptor, FqName> { return ContainerUtil.mapNotNull(members, object : Function<DeclarationDescriptor, FqName> {
override fun `fun`(member: DeclarationDescriptor): FqName? { override fun `fun`(member: DeclarationDescriptor): FqName? {
if (member is PackageViewDescriptor) { if (member is PackageViewDescriptor) {
@@ -29,14 +29,14 @@ import org.jetbrains.kotlin.load.java.sources.JavaSourceElement
import org.jetbrains.kotlin.load.java.structure.JavaClass import org.jetbrains.kotlin.load.java.structure.JavaClass
import org.jetbrains.kotlin.load.java.structure.JavaMethod import org.jetbrains.kotlin.load.java.structure.JavaMethod
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.KotlinType
import org.jetbrains.kotlin.types.TypeUtils import org.jetbrains.kotlin.types.TypeUtils
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker import org.jetbrains.kotlin.types.checker.KotlinTypeChecker
import java.util.* import java.util.*
public object SamConversionResolverImpl : SamConversionResolver { public object SamConversionResolverImpl : SamConversionResolver {
override fun resolveSamConstructor(name: Name, scope: KtScope, location: LookupLocation): SamConstructorDescriptor? { override fun resolveSamConstructor(name: Name, scope: MemberScope, location: LookupLocation): SamConstructorDescriptor? {
val classifier = scope.getClassifier(name, location) as? LazyJavaClassDescriptor ?: return null val classifier = scope.getClassifier(name, location) as? LazyJavaClassDescriptor ?: return null
if (classifier.getFunctionTypeForSamInterface() == null) return null if (classifier.getFunctionTypeForSamInterface() == null) return null
return SingleAbstractMethodUtils.createSamConstructorFunction(scope.getContainingDeclaration(), classifier) return SingleAbstractMethodUtils.createSamConstructorFunction(scope.getContainingDeclaration(), classifier)
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.resolve.jvm.JvmClassName import org.jetbrains.kotlin.resolve.jvm.JvmClassName
import org.jetbrains.kotlin.resolve.scopes.ChainedScope import org.jetbrains.kotlin.resolve.scopes.ChainedScope
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.serialization.PackageData import org.jetbrains.kotlin.serialization.PackageData
import org.jetbrains.kotlin.serialization.ProtoBuf import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.DeserializationComponents import org.jetbrains.kotlin.serialization.deserialization.DeserializationComponents
@@ -97,9 +97,9 @@ public class IncrementalPackageFragmentProvider(
public val target: TargetId public val target: TargetId
get() = this@IncrementalPackageFragmentProvider.target get() = this@IncrementalPackageFragmentProvider.target
val memberScope: NotNullLazyValue<KtScope> = storageManager.createLazyValue { val memberScope: NotNullLazyValue<MemberScope> = storageManager.createLazyValue {
if (fqName !in fqNamesToLoad) { if (fqName !in fqNamesToLoad) {
KtScope.empty(this) MemberScope.empty(this)
} }
else { else {
val moduleMapping = incrementalCache.getModuleMappingData()?.let { ModuleMapping.create(it) } val moduleMapping = incrementalCache.getModuleMappingData()?.let { ModuleMapping.create(it) }
@@ -128,7 +128,7 @@ public class IncrementalPackageFragmentProvider(
} }
if (scopes.isEmpty()) { if (scopes.isEmpty()) {
KtScope.empty(this) MemberScope.empty(this)
} }
else { else {
ChainedScope(this, "Member scope for incremental compilation: union of package parts data", *scopes.toTypedArray()) ChainedScope(this, "Member scope for incremental compilation: union of package parts data", *scopes.toTypedArray())
@@ -142,7 +142,7 @@ public class IncrementalPackageFragmentProvider(
return IncrementalMultifileClassPackageFragment(multifileClassFqName, partsNames) return IncrementalMultifileClassPackageFragment(multifileClassFqName, partsNames)
} }
override fun getMemberScope(): KtScope = memberScope() override fun getMemberScope(): MemberScope = memberScope()
public inner class IncrementalMultifileClassPackageFragment( public inner class IncrementalMultifileClassPackageFragment(
val multifileClassFqName: FqName, val multifileClassFqName: FqName,
@@ -151,16 +151,16 @@ public class IncrementalPackageFragmentProvider(
val memberScope = storageManager.createLazyValue { val memberScope = storageManager.createLazyValue {
val partsData = partsNames.map { incrementalCache.getPackagePartData(it) }.filterNotNull() val partsData = partsNames.map { incrementalCache.getPackagePartData(it) }.filterNotNull()
if (partsData.isEmpty()) if (partsData.isEmpty())
KtScope.empty(this) MemberScope.empty(this)
else { else {
val scopes = partsData.map { IncrementalPackageScope(JvmProtoBufUtil.readPackageDataFrom(it.data, it.strings)) } val scopes = partsData.map { IncrementalPackageScope(JvmProtoBufUtil.readPackageDataFrom(it.data, it.strings)) }
ChainedScope(this, ChainedScope(this,
"Member scope for incremental compilation: union of multifile class parts data for $multifileClassFqName", "Member scope for incremental compilation: union of multifile class parts data for $multifileClassFqName",
*scopes.toTypedArray<KtScope>()) *scopes.toTypedArray<MemberScope>())
} }
} }
override fun getMemberScope(): KtScope = memberScope() override fun getMemberScope(): MemberScope = memberScope()
} }
private inner class IncrementalPackageScope(val packageData: PackageData) : DeserializedPackageMemberScope( private inner class IncrementalPackageScope(val packageData: PackageData) : DeserializedPackageMemberScope(
@@ -24,7 +24,7 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor; import org.jetbrains.kotlin.descriptors.ClassifierDescriptor;
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor; import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
import org.jetbrains.kotlin.renderer.DescriptorRenderer; import org.jetbrains.kotlin.renderer.DescriptorRenderer;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.types.KotlinType; import org.jetbrains.kotlin.types.KotlinType;
import org.jetbrains.kotlin.types.KotlinTypeImpl; import org.jetbrains.kotlin.types.KotlinTypeImpl;
import org.jetbrains.kotlin.types.TypeProjectionImpl; import org.jetbrains.kotlin.types.TypeProjectionImpl;
@@ -67,7 +67,7 @@ class PropagationHeuristics {
arrayTypeFromSuper.getConstructor(), arrayTypeFromSuper.getConstructor(),
arrayTypeFromSuper.isMarkedNullable(), arrayTypeFromSuper.isMarkedNullable(),
Arrays.asList(new TypeProjectionImpl(Variance.OUT_VARIANCE, elementTypeInSuper)), Arrays.asList(new TypeProjectionImpl(Variance.OUT_VARIANCE, elementTypeInSuper)),
KtScope.Companion.empty(elementType.getMemberScope().getContainingDeclaration())); MemberScope.Companion.empty(elementType.getMemberScope().getContainingDeclaration()));
data.reportError("Return type is not a subtype of overridden method. " + data.reportError("Return type is not a subtype of overridden method. " +
"To fix it, add annotation with Kotlin signature to super method with type " "To fix it, add annotation with Kotlin signature to super method with type "
@@ -45,7 +45,7 @@ import org.jetbrains.kotlin.resolve.jvm.JavaResolverUtils;
import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodSignature; import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodSignature;
import org.jetbrains.kotlin.resolve.jvm.jvmSignature.KotlinToJvmSignatureMapper; import org.jetbrains.kotlin.resolve.jvm.jvmSignature.KotlinToJvmSignatureMapper;
import org.jetbrains.kotlin.resolve.jvm.jvmSignature.KotlinToJvmSignatureMapperKt; import org.jetbrains.kotlin.resolve.jvm.jvmSignature.KotlinToJvmSignatureMapperKt;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.types.*; import org.jetbrains.kotlin.types.*;
import java.util.*; import java.util.*;
@@ -401,7 +401,7 @@ public class SignaturesPropagationData {
boolean resultNullable = typeMustBeNullable(autoType, typesFromSuper, howThisTypeIsUsed); boolean resultNullable = typeMustBeNullable(autoType, typesFromSuper, howThisTypeIsUsed);
ClassifierDescriptor resultClassifier = modifyTypeClassifier(autoType, typesFromSuper); ClassifierDescriptor resultClassifier = modifyTypeClassifier(autoType, typesFromSuper);
List<TypeProjection> resultArguments = getTypeArgsOfType(autoType, resultClassifier, typesFromSuper); List<TypeProjection> resultArguments = getTypeArgsOfType(autoType, resultClassifier, typesFromSuper);
KtScope resultScope; MemberScope resultScope;
if (resultClassifier instanceof ClassDescriptor) { if (resultClassifier instanceof ClassDescriptor) {
resultScope = ((ClassDescriptor) resultClassifier).getMemberScope(resultArguments); resultScope = ((ClassDescriptor) resultClassifier).getMemberScope(resultArguments);
} }
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.TypeResolver; import org.jetbrains.kotlin.resolve.TypeResolver;
import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolverKt; import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolverKt;
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform; import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.types.*; import org.jetbrains.kotlin.types.*;
import java.util.*; import java.util.*;
@@ -148,7 +148,7 @@ public class TypeTransformingVisitor extends KtVisitor<KotlinType, Void> {
altArguments.add(getAltArgument(type, typeConstructor, i, arguments.get(i))); altArguments.add(getAltArgument(type, typeConstructor, i, arguments.get(i)));
} }
KtScope memberScope; MemberScope memberScope;
if (typeConstructorClassifier instanceof TypeParameterDescriptor) { if (typeConstructorClassifier instanceof TypeParameterDescriptor) {
memberScope = typeConstructorClassifier.getDefaultType().getMemberScope(); memberScope = typeConstructorClassifier.getDefaultType().getMemberScope();
} }
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.resolve.ImportPath
import org.jetbrains.kotlin.resolve.PlatformConfigurator import org.jetbrains.kotlin.resolve.PlatformConfigurator
import org.jetbrains.kotlin.resolve.TargetPlatform import org.jetbrains.kotlin.resolve.TargetPlatform
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import java.util.* import java.util.*
public object JvmPlatform : TargetPlatform("JVM") { public object JvmPlatform : TargetPlatform("JVM") {
@@ -50,8 +50,8 @@ private val DEFAULT_IMPORTS_FOR_JVM = ArrayList<ImportPath>().apply {
add(ImportPath("kotlin.jvm.*")) add(ImportPath("kotlin.jvm.*"))
add(ImportPath("kotlin.io.*")) add(ImportPath("kotlin.io.*"))
fun addAllClassifiersFromScope(scope: KtScope) { fun addAllClassifiersFromScope(scope: MemberScope) {
for (descriptor in scope.getDescriptors(DescriptorKindFilter.CLASSIFIERS, KtScope.ALL_NAME_FILTER)) { for (descriptor in scope.getDescriptors(DescriptorKindFilter.CLASSIFIERS, MemberScope.ALL_NAME_FILTER)) {
add(ImportPath(DescriptorUtils.getFqNameSafe(descriptor), false)) add(ImportPath(DescriptorUtils.getFqNameSafe(descriptor), false))
} }
} }
@@ -22,17 +22,17 @@ import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.resolve.scopes.*; import org.jetbrains.kotlin.resolve.scopes.*;
public class MutablePackageFragmentDescriptor extends PackageFragmentDescriptorImpl { public class MutablePackageFragmentDescriptor extends PackageFragmentDescriptorImpl {
private final KtScope scope; private final MemberScope scope;
public MutablePackageFragmentDescriptor(@NotNull ModuleDescriptor module, @NotNull FqName fqName) { public MutablePackageFragmentDescriptor(@NotNull ModuleDescriptor module, @NotNull FqName fqName) {
super(module, fqName); super(module, fqName);
scope = KtScope.Companion.empty(module); scope = MemberScope.Companion.empty(module);
} }
@NotNull @NotNull
@Override @Override
public KtScope getMemberScope() { public MemberScope getMemberScope() {
return scope; return scope;
} }
} }
@@ -21,10 +21,10 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.resolve.scopes.AbstractScopeAdapter import org.jetbrains.kotlin.resolve.scopes.AbstractScopeAdapter
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
class NoSubpackagesInPackageScope(packageDescriptor: PackageViewDescriptor) : AbstractScopeAdapter() { class NoSubpackagesInPackageScope(packageDescriptor: PackageViewDescriptor) : AbstractScopeAdapter() {
override val workerScope: KtScope = packageDescriptor.memberScope override val workerScope: MemberScope = packageDescriptor.memberScope
override fun getPackage(name: Name): PackageViewDescriptor? = null override fun getPackage(name: Name): PackageViewDescriptor? = null
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.incremental.components.NoLookupLocation
import org.jetbrains.kotlin.name.FqNameUnsafe import org.jetbrains.kotlin.name.FqNameUnsafe
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.OverridingUtil.OverrideCompatibilityInfo.Result.INCOMPATIBLE import org.jetbrains.kotlin.resolve.OverridingUtil.OverrideCompatibilityInfo.Result.INCOMPATIBLE
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.KotlinType
import org.jetbrains.kotlin.types.TypeIntersector import org.jetbrains.kotlin.types.TypeIntersector
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker import org.jetbrains.kotlin.types.checker.KotlinTypeChecker
@@ -105,7 +105,7 @@ object OverloadUtil {
private inline fun collectModulePackageMembersWithSameName( private inline fun collectModulePackageMembersWithSameName(
packageMembersByName: MultiMap<FqNameUnsafe, CallableMemberDescriptor>, packageMembersByName: MultiMap<FqNameUnsafe, CallableMemberDescriptor>,
interestingDescriptors: Collection<CallableMemberDescriptor>, interestingDescriptors: Collection<CallableMemberDescriptor>,
getMembersByName: (KtScope, Name) -> Collection<CallableMemberDescriptor> getMembersByName: (MemberScope, Name) -> Collection<CallableMemberDescriptor>
) { ) {
val observedFQNs = hashSetOf<FqNameUnsafe>() val observedFQNs = hashSetOf<FqNameUnsafe>()
for (descriptor in interestingDescriptors) { for (descriptor in interestingDescriptors) {
@@ -122,7 +122,7 @@ object OverloadUtil {
private inline fun getModulePackageMembersWithSameName( private inline fun getModulePackageMembersWithSameName(
packageMember: CallableMemberDescriptor, packageMember: CallableMemberDescriptor,
getMembersByName: (KtScope, Name) -> Collection<CallableMemberDescriptor> getMembersByName: (MemberScope, Name) -> Collection<CallableMemberDescriptor>
): Collection<CallableMemberDescriptor> { ): Collection<CallableMemberDescriptor> {
val containingPackage = packageMember.containingDeclaration val containingPackage = packageMember.containingDeclaration
if (containingPackage !is PackageFragmentDescriptor) { if (containingPackage !is PackageFragmentDescriptor) {
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.resolve.bindingContextUtil.recordScope
import org.jetbrains.kotlin.resolve.calls.tasks.DynamicCallableDescriptors import org.jetbrains.kotlin.resolve.calls.tasks.DynamicCallableDescriptors
import org.jetbrains.kotlin.resolve.lazy.ForceResolveUtil import org.jetbrains.kotlin.resolve.lazy.ForceResolveUtil
import org.jetbrains.kotlin.resolve.lazy.LazyEntity import org.jetbrains.kotlin.resolve.lazy.LazyEntity
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.resolve.scopes.LazyScopeAdapter import org.jetbrains.kotlin.resolve.scopes.LazyScopeAdapter
import org.jetbrains.kotlin.resolve.scopes.LexicalScope import org.jetbrains.kotlin.resolve.scopes.LexicalScope
import org.jetbrains.kotlin.storage.LockBasedStorageManager import org.jetbrains.kotlin.storage.LockBasedStorageManager
@@ -320,7 +320,7 @@ public class TypeResolver(
return result ?: type(ErrorUtils.createErrorType(typeElement?.getDebugText() ?: "No type element")) return result ?: type(ErrorUtils.createErrorType(typeElement?.getDebugText() ?: "No type element"))
} }
private fun getScopeForTypeParameter(c: TypeResolutionContext, typeParameterDescriptor: TypeParameterDescriptor): KtScope { private fun getScopeForTypeParameter(c: TypeResolutionContext, typeParameterDescriptor: TypeParameterDescriptor): MemberScope {
return when { return when {
c.checkBounds -> TypeIntersector.getUpperBoundsAsType(typeParameterDescriptor).memberScope c.checkBounds -> TypeIntersector.getUpperBoundsAsType(typeParameterDescriptor).memberScope
else -> LazyScopeAdapter(LockBasedStorageManager.NO_LOCKS.createLazyValue { else -> LazyScopeAdapter(LockBasedStorageManager.NO_LOCKS.createLazyValue {
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.resolve.calls.results.OverloadResolutionResultsUtil
import org.jetbrains.kotlin.resolve.calls.util.CallMaker import org.jetbrains.kotlin.resolve.calls.util.CallMaker
import org.jetbrains.kotlin.resolve.scopes.BaseLexicalScope import org.jetbrains.kotlin.resolve.scopes.BaseLexicalScope
import org.jetbrains.kotlin.resolve.scopes.JetScopeUtils import org.jetbrains.kotlin.resolve.scopes.JetScopeUtils
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
import org.jetbrains.kotlin.resolve.scopes.receivers.TransientReceiver import org.jetbrains.kotlin.resolve.scopes.receivers.TransientReceiver
import org.jetbrains.kotlin.resolve.scopes.utils.memberScopeAsImportingScope import org.jetbrains.kotlin.resolve.scopes.utils.memberScopeAsImportingScope
@@ -101,10 +101,10 @@ public fun resolvePossiblyAmbiguousCallableReference(
): OverloadResolutionResults<CallableDescriptor>? { ): OverloadResolutionResults<CallableDescriptor>? {
val reference = callableReferenceExpression.getCallableReference() val reference = callableReferenceExpression.getCallableReference()
fun resolveInScope(traceTitle: String, staticScope: KtScope): OverloadResolutionResults<CallableDescriptor> { fun resolveInScope(traceTitle: String, staticScope: MemberScope): OverloadResolutionResults<CallableDescriptor> {
// todo: drop this class when new resolve will be finished // todo: drop this class when new resolve will be finished
class StaticScopeAsLexicalScope(val staticScope: KtScope) : BaseLexicalScope(staticScope.memberScopeAsImportingScope(), staticScope.getContainingDeclaration()) { class StaticScopeAsLexicalScope(val staticScope: MemberScope) : BaseLexicalScope(staticScope.memberScopeAsImportingScope(), staticScope.getContainingDeclaration()) {
override fun printStructure(p: Printer) { override fun printStructure(p: Printer) {
p.println(toString()) p.println(toString())
} }
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.Constrain
import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.ConstraintPositionKind.TYPE_BOUND_POSITION import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.ConstraintPositionKind.TYPE_BOUND_POSITION
import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.derivedFrom import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.derivedFrom
import org.jetbrains.kotlin.resolve.descriptorUtil.* import org.jetbrains.kotlin.resolve.descriptorUtil.*
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.types.* import org.jetbrains.kotlin.types.*
import org.jetbrains.kotlin.types.TypeUtils.DONT_CARE import org.jetbrains.kotlin.types.TypeUtils.DONT_CARE
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker import org.jetbrains.kotlin.types.checker.KotlinTypeChecker
@@ -165,7 +165,7 @@ public class ConstraintSystemImpl : ConstraintSystem {
val TypeParameterDescriptor.correspondingType: KotlinType val TypeParameterDescriptor.correspondingType: KotlinType
get() = cachedTypeForVariable.getOrPut(this) { get() = cachedTypeForVariable.getOrPut(this) {
KotlinTypeImpl.create(Annotations.EMPTY, this.getTypeConstructor(), false, listOf(), KtScope.empty(this)) KotlinTypeImpl.create(Annotations.EMPTY, this.getTypeConstructor(), false, listOf(), MemberScope.empty(this))
} }
fun KotlinType.isProper() = !TypeUtils.containsSpecialType(this) { fun KotlinType.isProper() = !TypeUtils.containsSpecialType(this) {
@@ -573,7 +573,7 @@ public fun createTypeSubstitutor(conversion: (TypeParameterDescriptor) -> TypePa
if (descriptor !is TypeParameterDescriptor) return null if (descriptor !is TypeParameterDescriptor) return null
val typeParameterDescriptor = conversion(descriptor) ?: return null val typeParameterDescriptor = conversion(descriptor) ?: return null
val type = KotlinTypeImpl.create(Annotations.EMPTY, typeParameterDescriptor.getTypeConstructor(), false, listOf(), KtScope.empty(typeParameterDescriptor)) val type = KotlinTypeImpl.create(Annotations.EMPTY, typeParameterDescriptor.getTypeConstructor(), false, listOf(), MemberScope.empty(typeParameterDescriptor))
return TypeProjectionImpl(type) return TypeProjectionImpl(type)
} }
}) })
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.resolve.DescriptorFactory
import org.jetbrains.kotlin.resolve.calls.tasks.collectors.CallableDescriptorCollector import org.jetbrains.kotlin.resolve.calls.tasks.collectors.CallableDescriptorCollector
import org.jetbrains.kotlin.resolve.calls.tasks.collectors.CallableDescriptorCollectors import org.jetbrains.kotlin.resolve.calls.tasks.collectors.CallableDescriptorCollectors
import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns
import org.jetbrains.kotlin.resolve.scopes.KtScopeImpl import org.jetbrains.kotlin.resolve.scopes.MemberScopeImpl
import org.jetbrains.kotlin.resolve.scopes.LexicalScope import org.jetbrains.kotlin.resolve.scopes.LexicalScope
import org.jetbrains.kotlin.resolve.scopes.receivers.TransientReceiver import org.jetbrains.kotlin.resolve.scopes.receivers.TransientReceiver
import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.KotlinType
@@ -43,7 +43,7 @@ class DynamicCallableDescriptors(private val builtIns: KotlinBuiltIns) {
val dynamicType = createDynamicType(builtIns) val dynamicType = createDynamicType(builtIns)
fun createDynamicDescriptorScope(call: Call, owner: DeclarationDescriptor) = object : KtScopeImpl() { fun createDynamicDescriptorScope(call: Call, owner: DeclarationDescriptor) = object : MemberScopeImpl() {
override fun getContainingDeclaration() = owner override fun getContainingDeclaration() = owner
override fun printScopeStructure(p: Printer) { override fun printScopeStructure(p: Printer) {
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.descriptors.annotations.AnnotationWithTarget; import org.jetbrains.kotlin.descriptors.annotations.AnnotationWithTarget;
import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.descriptors.annotations.Annotations;
import org.jetbrains.kotlin.resolve.DescriptorUtils; import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.types.*; import org.jetbrains.kotlin.types.*;
import java.util.Collection; import java.util.Collection;
@@ -38,7 +38,7 @@ public class ForceResolveUtil {
return descriptor; return descriptor;
} }
public static void forceResolveAllContents(@NotNull KtScope scope) { public static void forceResolveAllContents(@NotNull MemberScope scope) {
forceResolveAllContents(DescriptorUtils.getAllDescriptors(scope)); forceResolveAllContents(DescriptorUtils.getAllDescriptors(scope));
} }
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.renderer.DescriptorRenderer;
import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.resolve.BindingTrace; import org.jetbrains.kotlin.resolve.BindingTrace;
import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyPackageDescriptor; import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyPackageDescriptor;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.storage.LockBasedLazyResolveStorageManager; import org.jetbrains.kotlin.storage.LockBasedLazyResolveStorageManager;
import javax.inject.Inject; import javax.inject.Inject;
@@ -66,7 +66,7 @@ public class LazyDeclarationResolver {
@NotNull @NotNull
public ClassDescriptor getClassDescriptor(@NotNull KtClassOrObject classOrObject, @NotNull LookupLocation location) { public ClassDescriptor getClassDescriptor(@NotNull KtClassOrObject classOrObject, @NotNull LookupLocation location) {
KtScope scope = getMemberScopeDeclaredIn(classOrObject, location); MemberScope scope = getMemberScopeDeclaredIn(classOrObject, location);
// Why not use the result here. Because it may be that there is a redeclaration: // Why not use the result here. Because it may be that there is a redeclaration:
// class A {} class A { fun foo(): A<completion here>} // class A {} class A { fun foo(): A<completion here>}
@@ -147,7 +147,7 @@ public class LazyDeclarationResolver {
@Override @Override
public DeclarationDescriptor visitNamedFunction(@NotNull KtNamedFunction function, Void data) { public DeclarationDescriptor visitNamedFunction(@NotNull KtNamedFunction function, Void data) {
LookupLocation location = lookupLocationFor(function, function.isTopLevel()); LookupLocation location = lookupLocationFor(function, function.isTopLevel());
KtScope scopeForDeclaration = getMemberScopeDeclaredIn(function, location); MemberScope scopeForDeclaration = getMemberScopeDeclaredIn(function, location);
scopeForDeclaration.getFunctions(function.getNameAsSafeName(), location); scopeForDeclaration.getFunctions(function.getNameAsSafeName(), location);
return getBindingContext().get(BindingContext.DECLARATION_TO_DESCRIPTOR, function); return getBindingContext().get(BindingContext.DECLARATION_TO_DESCRIPTOR, function);
} }
@@ -203,7 +203,7 @@ public class LazyDeclarationResolver {
@Override @Override
public DeclarationDescriptor visitProperty(@NotNull KtProperty property, Void data) { public DeclarationDescriptor visitProperty(@NotNull KtProperty property, Void data) {
LookupLocation location = lookupLocationFor(property, property.isTopLevel()); LookupLocation location = lookupLocationFor(property, property.isTopLevel());
KtScope scopeForDeclaration = getMemberScopeDeclaredIn(property, location); MemberScope scopeForDeclaration = getMemberScopeDeclaredIn(property, location);
scopeForDeclaration.getProperties(property.getNameAsSafeName(), location); scopeForDeclaration.getProperties(property.getNameAsSafeName(), location);
return getBindingContext().get(BindingContext.DECLARATION_TO_DESCRIPTOR, property); return getBindingContext().get(BindingContext.DECLARATION_TO_DESCRIPTOR, property);
} }
@@ -226,7 +226,7 @@ public class LazyDeclarationResolver {
} }
@NotNull @NotNull
/*package*/ KtScope getMemberScopeDeclaredIn(@NotNull KtDeclaration declaration, @NotNull LookupLocation location) { /*package*/ MemberScope getMemberScopeDeclaredIn(@NotNull KtDeclaration declaration, @NotNull LookupLocation location) {
KtDeclaration parentDeclaration = KtStubbedPsiUtil.getContainingDeclaration(declaration); KtDeclaration parentDeclaration = KtStubbedPsiUtil.getContainingDeclaration(declaration);
boolean isTopLevel = parentDeclaration == null; boolean isTopLevel = parentDeclaration == null;
if (isTopLevel) { // for top level declarations we search directly in package because of possible conflicts with imports if (isTopLevel) { // for top level declarations we search directly in package because of possible conflicts with imports
@@ -42,7 +42,7 @@ import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyAnnotations;
import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyAnnotationsContextImpl; import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyAnnotationsContextImpl;
import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyPackageDescriptor; import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyPackageDescriptor;
import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyScriptDescriptor; import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyScriptDescriptor;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.resolve.scopes.LexicalScope; import org.jetbrains.kotlin.resolve.scopes.LexicalScope;
import org.jetbrains.kotlin.storage.*; import org.jetbrains.kotlin.storage.*;
@@ -286,7 +286,7 @@ public class ResolveSession implements KotlinCodeAnalyzer, LazyClassContext {
@NotNull @NotNull
public ClassDescriptor getClassDescriptorForScript(@NotNull KtScript script) { public ClassDescriptor getClassDescriptorForScript(@NotNull KtScript script) {
KtScope memberScope = lazyDeclarationResolver.getMemberScopeDeclaredIn(script, NoLookupLocation.FOR_SCRIPT); MemberScope memberScope = lazyDeclarationResolver.getMemberScopeDeclaredIn(script, NoLookupLocation.FOR_SCRIPT);
FqName fqName = ScriptNameUtil.classNameForScript(script); FqName fqName = ScriptNameUtil.classNameForScript(script);
ClassifierDescriptor classifier = memberScope.getClassifier(fqName.shortName(), NoLookupLocation.FOR_SCRIPT); ClassifierDescriptor classifier = memberScope.getClassifier(fqName.shortName(), NoLookupLocation.FOR_SCRIPT);
assert classifier != null : "No descriptor for " + fqName + " in file " + script.getContainingFile(); assert classifier != null : "No descriptor for " + fqName + " in file " + script.getContainingFile();
@@ -350,7 +350,7 @@ public class ResolveSession implements KotlinCodeAnalyzer, LazyClassContext {
@NotNull LazyPackageDescriptor current @NotNull LazyPackageDescriptor current
) { ) {
result.add(current); result.add(current);
for (FqName subPackage : packageFragmentProvider.getSubPackagesOf(current.getFqName(), KtScope.Companion.getALL_NAME_FILTER())) { for (FqName subPackage : packageFragmentProvider.getSubPackagesOf(current.getFqName(), MemberScope.Companion.getALL_NAME_FILTER())) {
LazyPackageDescriptor fragment = getPackageFragment(subPackage); LazyPackageDescriptor fragment = getPackageFragment(subPackage);
assert fragment != null : "Couldn't find fragment for " + subPackage; assert fragment != null : "Couldn't find fragment for " + subPackage;
collectAllPackages(result, fragment); collectAllPackages(result, fragment);
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.incremental.components.NoLookupLocation;
import org.jetbrains.kotlin.name.*; import org.jetbrains.kotlin.name.*;
import org.jetbrains.kotlin.psi.KtNamedDeclaration; import org.jetbrains.kotlin.psi.KtNamedDeclaration;
import org.jetbrains.kotlin.psi.KtNamedDeclarationUtil; import org.jetbrains.kotlin.psi.KtNamedDeclarationUtil;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
@@ -76,10 +76,10 @@ public class ResolveSessionUtils {
} }
@Nullable @Nullable
public static ClassDescriptor findByQualifiedName(@NotNull KtScope outerScope, @NotNull FqName path) { public static ClassDescriptor findByQualifiedName(@NotNull MemberScope outerScope, @NotNull FqName path) {
if (path.isRoot()) return null; if (path.isRoot()) return null;
KtScope scope = outerScope; MemberScope scope = outerScope;
for (Name name : path.pathSegments()) { for (Name name : path.pathSegments()) {
ClassifierDescriptor classifier = scope.getClassifier(name, NoLookupLocation.WHEN_FIND_BY_FQNAME); ClassifierDescriptor classifier = scope.getClassifier(name, NoLookupLocation.WHEN_FIND_BY_FQNAME);
if (!(classifier instanceof ClassDescriptor)) return null; if (!(classifier instanceof ClassDescriptor)) return null;
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.resolve.lazy.ResolveSession
import org.jetbrains.kotlin.resolve.lazy.data.JetScriptInfo import org.jetbrains.kotlin.resolve.lazy.data.JetScriptInfo
import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProvider import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProvider
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.resolve.scopes.KtScopeImpl import org.jetbrains.kotlin.resolve.scopes.MemberScopeImpl
import org.jetbrains.kotlin.resolve.scopes.LexicalScope import org.jetbrains.kotlin.resolve.scopes.LexicalScope
import org.jetbrains.kotlin.storage.MemoizedFunctionToNotNull import org.jetbrains.kotlin.storage.MemoizedFunctionToNotNull
import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.storage.StorageManager
@@ -43,7 +43,7 @@ protected constructor(
protected val declarationProvider: DP, protected val declarationProvider: DP,
protected val thisDescriptor: D, protected val thisDescriptor: D,
protected val trace: BindingTrace protected val trace: BindingTrace
) : KtScopeImpl() { ) : MemberScopeImpl() {
protected val storageManager: StorageManager = c.storageManager protected val storageManager: StorageManager = c.storageManager
private val classDescriptors: MemoizedFunctionToNotNull<Name, List<ClassDescriptor>> = storageManager.createMemoizedFunction { resolveClassDescriptor(it) } private val classDescriptors: MemoizedFunctionToNotNull<Name, List<ClassDescriptor>> = storageManager.createMemoizedFunction { resolveClassDescriptor(it) }
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.psi.KtParameter import org.jetbrains.kotlin.psi.KtParameter
import org.jetbrains.kotlin.resolve.descriptorUtil.getSuperClassNotAny import org.jetbrains.kotlin.resolve.descriptorUtil.getSuperClassNotAny
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.resolve.scopes.LexicalChainedScope import org.jetbrains.kotlin.resolve.scopes.LexicalChainedScope
import org.jetbrains.kotlin.resolve.scopes.LexicalScope import org.jetbrains.kotlin.resolve.scopes.LexicalScope
import org.jetbrains.kotlin.resolve.scopes.LexicalScopeImpl import org.jetbrains.kotlin.resolve.scopes.LexicalScopeImpl
@@ -108,7 +108,7 @@ class ClassResolutionScopesSupport(
ownerDescriptor: DeclarationDescriptor, ownerDescriptor: DeclarationDescriptor,
classDescriptor: ClassDescriptor classDescriptor: ClassDescriptor
): LexicalScope { ): LexicalScope {
val staticScopes = ArrayList<KtScope>(3) val staticScopes = ArrayList<MemberScope>(3)
// todo filter fake overrides // todo filter fake overrides
staticScopes.add(classDescriptor.staticScope) staticScopes.add(classDescriptor.staticScope)
@@ -46,7 +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.JetClassOrObjectInfo;
import org.jetbrains.kotlin.resolve.lazy.data.JetObjectInfo; import org.jetbrains.kotlin.resolve.lazy.data.JetObjectInfo;
import org.jetbrains.kotlin.resolve.lazy.declarations.ClassMemberDeclarationProvider; import org.jetbrains.kotlin.resolve.lazy.declarations.ClassMemberDeclarationProvider;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.resolve.scopes.LexicalScope; import org.jetbrains.kotlin.resolve.scopes.LexicalScope;
import org.jetbrains.kotlin.resolve.scopes.StaticScopeForKotlinClass; import org.jetbrains.kotlin.resolve.scopes.StaticScopeForKotlinClass;
import org.jetbrains.kotlin.resolve.source.KotlinSourceElementKt; import org.jetbrains.kotlin.resolve.source.KotlinSourceElementKt;
@@ -95,7 +95,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
private final MemoizedFunctionToNotNull<KtObjectDeclaration, ClassDescriptor> extraCompanionObjectDescriptors; private final MemoizedFunctionToNotNull<KtObjectDeclaration, ClassDescriptor> extraCompanionObjectDescriptors;
private final LazyClassMemberScope unsubstitutedMemberScope; private final LazyClassMemberScope unsubstitutedMemberScope;
private final KtScope staticScope; private final MemberScope staticScope;
private final NullableLazyValue<Void> forceResolveAllContents; private final NullableLazyValue<Void> forceResolveAllContents;
private final boolean isCompanionObject; private final boolean isCompanionObject;
@@ -252,7 +252,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
@NotNull @NotNull
@Override @Override
public KtScope getUnsubstitutedMemberScope() { public MemberScope getUnsubstitutedMemberScope() {
return unsubstitutedMemberScope; return unsubstitutedMemberScope;
} }
@@ -303,7 +303,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
@NotNull @NotNull
@Override @Override
public KtScope getStaticScope() { public MemberScope getStaticScope() {
return staticScope; return staticScope;
} }
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.resolve.dataClassUtils.isComponentLike
import org.jetbrains.kotlin.resolve.lazy.LazyClassContext import org.jetbrains.kotlin.resolve.lazy.LazyClassContext
import org.jetbrains.kotlin.resolve.lazy.declarations.ClassMemberDeclarationProvider import org.jetbrains.kotlin.resolve.lazy.declarations.ClassMemberDeclarationProvider
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.resolve.scopes.LexicalScope import org.jetbrains.kotlin.resolve.scopes.LexicalScope
import org.jetbrains.kotlin.resolve.varianceChecker.VarianceChecker import org.jetbrains.kotlin.resolve.varianceChecker.VarianceChecker
import org.jetbrains.kotlin.storage.NotNullLazyValue import org.jetbrains.kotlin.storage.NotNullLazyValue
@@ -51,7 +51,7 @@ public open class LazyClassMemberScope(
) : AbstractLazyMemberScope<LazyClassDescriptor, ClassMemberDeclarationProvider>(c, declarationProvider, thisClass, trace) { ) : AbstractLazyMemberScope<LazyClassDescriptor, ClassMemberDeclarationProvider>(c, declarationProvider, thisClass, trace) {
private val descriptorsFromDeclaredElements = storageManager.createLazyValue { private val descriptorsFromDeclaredElements = storageManager.createLazyValue {
computeDescriptorsFromDeclaredElements(DescriptorKindFilter.ALL, KtScope.ALL_NAME_FILTER, NoLookupLocation.WHEN_GET_ALL_DESCRIPTORS) computeDescriptorsFromDeclaredElements(DescriptorKindFilter.ALL, MemberScope.ALL_NAME_FILTER, NoLookupLocation.WHEN_GET_ALL_DESCRIPTORS)
} }
private val extraDescriptors: NotNullLazyValue<Collection<DeclarationDescriptor>> = storageManager.createLazyValue { private val extraDescriptors: NotNullLazyValue<Collection<DeclarationDescriptor>> = storageManager.createLazyValue {
computeExtraDescriptors(NoLookupLocation.FOR_ALREADY_TRACKED) computeExtraDescriptors(NoLookupLocation.FOR_ALREADY_TRACKED)
@@ -26,10 +26,10 @@ import org.jetbrains.kotlin.resolve.lazy.ForceResolveUtil;
import org.jetbrains.kotlin.resolve.lazy.LazyEntity; import org.jetbrains.kotlin.resolve.lazy.LazyEntity;
import org.jetbrains.kotlin.resolve.lazy.ResolveSession; import org.jetbrains.kotlin.resolve.lazy.ResolveSession;
import org.jetbrains.kotlin.resolve.lazy.declarations.PackageMemberDeclarationProvider; import org.jetbrains.kotlin.resolve.lazy.declarations.PackageMemberDeclarationProvider;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
public class LazyPackageDescriptor extends PackageFragmentDescriptorImpl implements LazyEntity { public class LazyPackageDescriptor extends PackageFragmentDescriptorImpl implements LazyEntity {
private final KtScope memberScope; private final MemberScope memberScope;
private final PackageMemberDeclarationProvider declarationProvider; private final PackageMemberDeclarationProvider declarationProvider;
public LazyPackageDescriptor( public LazyPackageDescriptor(
@@ -50,7 +50,7 @@ public class LazyPackageDescriptor extends PackageFragmentDescriptorImpl impleme
@NotNull @NotNull
@Override @Override
public KtScope getMemberScope() { public MemberScope getMemberScope() {
return memberScope; return memberScope;
} }
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.incremental.components.LookupLocation
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.utils.Printer import org.jetbrains.kotlin.utils.Printer
public class FilteringScope(private val workerScope: KtScope, private val predicate: (DeclarationDescriptor) -> Boolean) : KtScope { public class FilteringScope(private val workerScope: MemberScope, private val predicate: (DeclarationDescriptor) -> Boolean) : MemberScope {
override fun getFunctions(name: Name, location: LookupLocation) = workerScope.getFunctions(name, location).filter(predicate) override fun getFunctions(name: Name, location: LookupLocation) = workerScope.getFunctions(name, location).filter(predicate)
@@ -32,8 +32,8 @@ public final class JetScopeUtils {
private JetScopeUtils() {} private JetScopeUtils() {}
@NotNull @NotNull
public static KtScope getStaticNestedClassesScope(@NotNull ClassDescriptor descriptor) { public static MemberScope getStaticNestedClassesScope(@NotNull ClassDescriptor descriptor) {
KtScope innerClassesScope = descriptor.getUnsubstitutedInnerClassesScope(); MemberScope innerClassesScope = descriptor.getUnsubstitutedInnerClassesScope();
return new FilteringScope(innerClassesScope, new Function1<DeclarationDescriptor, Boolean>() { return new FilteringScope(innerClassesScope, new Function1<DeclarationDescriptor, Boolean>() {
@Override @Override
public Boolean invoke(DeclarationDescriptor descriptor) { public Boolean invoke(DeclarationDescriptor descriptor) {
@@ -125,7 +125,7 @@ public final class JetScopeUtils {
@TestOnly @TestOnly
@NotNull @NotNull
public static String printStructure(@Nullable KtScope scope) { public static String printStructure(@Nullable MemberScope scope) {
StringBuilder out = new StringBuilder(); StringBuilder out = new StringBuilder();
Printer p = new Printer(out); Printer p = new Printer(out);
if (scope == null) { if (scope == null) {
@@ -31,7 +31,7 @@ public class LexicalChainedScope @JvmOverloads constructor(
override val isOwnerDescriptorAccessibleByLabel: Boolean, override val isOwnerDescriptorAccessibleByLabel: Boolean,
override val implicitReceiver: ReceiverParameterDescriptor?, override val implicitReceiver: ReceiverParameterDescriptor?,
private val debugName: String, private val debugName: String,
vararg memberScopes: KtScope, // todo JetScope -> MemberScope vararg memberScopes: MemberScope,
@Deprecated("This value is temporary hack for resolve -- don't use it!") @Deprecated("This value is temporary hack for resolve -- don't use it!")
val isStaticScope: Boolean = false val isStaticScope: Boolean = false
): LexicalScope { ): LexicalScope {
@@ -33,7 +33,7 @@ interface HierarchicalScope {
*/ */
fun getContributedDescriptors( fun getContributedDescriptors(
kindFilter: DescriptorKindFilter = DescriptorKindFilter.ALL, kindFilter: DescriptorKindFilter = DescriptorKindFilter.ALL,
nameFilter: (Name) -> Boolean = KtScope.ALL_NAME_FILTER nameFilter: (Name) -> Boolean = MemberScope.ALL_NAME_FILTER
): Collection<DeclarationDescriptor> ): Collection<DeclarationDescriptor>
fun getContributedClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? fun getContributedClassifier(name: Name, location: LookupLocation): ClassifierDescriptor?
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.hasClassObjectType
import org.jetbrains.kotlin.resolve.scopes.ChainedScope import org.jetbrains.kotlin.resolve.scopes.ChainedScope
import org.jetbrains.kotlin.resolve.scopes.FilteringScope import org.jetbrains.kotlin.resolve.scopes.FilteringScope
import org.jetbrains.kotlin.resolve.scopes.JetScopeUtils import org.jetbrains.kotlin.resolve.scopes.JetScopeUtils
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.resolve.scopes.utils.findClassifier import org.jetbrains.kotlin.resolve.scopes.utils.findClassifier
import org.jetbrains.kotlin.resolve.scopes.utils.findPackage import org.jetbrains.kotlin.resolve.scopes.utils.findPackage
import org.jetbrains.kotlin.resolve.scopes.utils.memberScopeAsImportingScope import org.jetbrains.kotlin.resolve.scopes.utils.memberScopeAsImportingScope
@@ -56,7 +56,7 @@ public interface Qualifier: ReceiverValue {
// package, classifier or companion object descriptor // package, classifier or companion object descriptor
public val resultingDescriptor: DeclarationDescriptor public val resultingDescriptor: DeclarationDescriptor
public val scope: KtScope public val scope: MemberScope
} }
abstract class QualifierReceiver( abstract class QualifierReceiver(
@@ -74,7 +74,7 @@ abstract class QualifierReceiver(
(classifier as? ClassDescriptor)?.classObjectType?.let { ExpressionReceiver(referenceExpression, it) } (classifier as? ClassDescriptor)?.classObjectType?.let { ExpressionReceiver(referenceExpression, it) }
?: ReceiverValue.NO_RECEIVER ?: ReceiverValue.NO_RECEIVER
abstract fun getNestedClassesAndPackageMembersScope(): KtScope abstract fun getNestedClassesAndPackageMembersScope(): MemberScope
override fun getType(): KotlinType = throw IllegalStateException("No type corresponds to QualifierReceiver '$this'") override fun getType(): KotlinType = throw IllegalStateException("No type corresponds to QualifierReceiver '$this'")
@@ -88,9 +88,9 @@ class PackageQualifier(
override val classifier: ClassifierDescriptor? get() = null override val classifier: ClassifierDescriptor? get() = null
override val scope: KtScope get() = packageView.memberScope override val scope: MemberScope get() = packageView.memberScope
override fun getNestedClassesAndPackageMembersScope(): KtScope = packageView.memberScope override fun getNestedClassesAndPackageMembersScope(): MemberScope = packageView.memberScope
override fun toString() = "Package{$packageView}" override fun toString() = "Package{$packageView}"
} }
@@ -102,12 +102,12 @@ class ClassifierQualifier(
override val packageView: PackageViewDescriptor? get() = null override val packageView: PackageViewDescriptor? get() = null
override val scope: KtScope get() { override val scope: MemberScope get() {
if (classifier !is ClassDescriptor) { if (classifier !is ClassDescriptor) {
return KtScope.empty(classifier) return MemberScope.empty(classifier)
} }
val scopes = ArrayList<KtScope>(3) val scopes = ArrayList<MemberScope>(3)
val classObjectTypeScope = classifier.classObjectType?.memberScope?.let { val classObjectTypeScope = classifier.classObjectType?.memberScope?.let {
FilteringScope(it) { it !is ClassDescriptor } FilteringScope(it) { it !is ClassDescriptor }
@@ -123,12 +123,12 @@ class ClassifierQualifier(
return ChainedScope(descriptor, "Member scope for $name as class or object", *scopes.toTypedArray()) return ChainedScope(descriptor, "Member scope for $name as class or object", *scopes.toTypedArray())
} }
override fun getNestedClassesAndPackageMembersScope(): KtScope { override fun getNestedClassesAndPackageMembersScope(): MemberScope {
if (classifier !is ClassDescriptor) { if (classifier !is ClassDescriptor) {
return KtScope.empty(classifier) return MemberScope.empty(classifier)
} }
val scopes = ArrayList<KtScope>(2) val scopes = ArrayList<MemberScope>(2)
scopes.add(classifier.staticScope) scopes.add(classifier.staticScope)
@@ -113,12 +113,12 @@ public fun HierarchicalScope.collectSyntheticExtensionFunctions(receiverTypes: C
public fun HierarchicalScope.takeSnapshot(): HierarchicalScope = if (this is LexicalWritableScope) takeSnapshot() else this public fun HierarchicalScope.takeSnapshot(): HierarchicalScope = if (this is LexicalWritableScope) takeSnapshot() else this
@JvmOverloads @JvmOverloads
public fun KtScope.memberScopeAsImportingScope(parentScope: ImportingScope? = null): ImportingScope = MemberScopeToImportingScopeAdapter(parentScope, this) public fun MemberScope.memberScopeAsImportingScope(parentScope: ImportingScope? = null): ImportingScope = MemberScopeToImportingScopeAdapter(parentScope, this)
@Deprecated("Temporary method for scope migration") @Deprecated("Temporary method for scope migration")
public fun KtScope.memberScopeAsLexicalScope(): LexicalScope = LexicalScope.empty(memberScopeAsImportingScope(), getContainingDeclaration()) public fun MemberScope.memberScopeAsLexicalScope(): LexicalScope = LexicalScope.empty(memberScopeAsImportingScope(), getContainingDeclaration())
private class MemberScopeToImportingScopeAdapter(override val parent: ImportingScope?, val memberScope: KtScope) : ImportingScope { private class MemberScopeToImportingScopeAdapter(override val parent: ImportingScope?, val memberScope: MemberScope) : ImportingScope {
override fun getContributedPackage(name: Name): PackageViewDescriptor? = memberScope.getPackage(name) override fun getContributedPackage(name: Name): PackageViewDescriptor? = memberScope.getPackage(name)
override fun getContributedSyntheticExtensionProperties(receiverTypes: Collection<KotlinType>, name: Name, location: LookupLocation) override fun getContributedSyntheticExtensionProperties(receiverTypes: Collection<KotlinType>, name: Name, location: LookupLocation)
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.descriptors.ClassifierDescriptor;
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor; import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.descriptors.annotations.Annotations;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt; import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker; import org.jetbrains.kotlin.types.checker.KotlinTypeChecker;
import org.jetbrains.kotlin.types.typeUtil.TypeUtilsKt; import org.jetbrains.kotlin.types.typeUtil.TypeUtilsKt;
import org.jetbrains.kotlin.utils.DFS; import org.jetbrains.kotlin.utils.DFS;
@@ -230,7 +230,7 @@ public class CommonSupertypes {
} }
ClassifierDescriptor classifier = constructor.getDeclarationDescriptor(); ClassifierDescriptor classifier = constructor.getDeclarationDescriptor();
KtScope newScope; MemberScope newScope;
if (classifier instanceof ClassDescriptor) { if (classifier instanceof ClassDescriptor) {
newScope = ((ClassDescriptor) classifier).getMemberScope(newProjections); newScope = ((ClassDescriptor) classifier).getMemberScope(newProjections);
} }
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.descriptors.annotations.Annotations;
import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemImpl; import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemImpl;
import org.jetbrains.kotlin.resolve.scopes.ChainedScope; import org.jetbrains.kotlin.resolve.scopes.ChainedScope;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker; import org.jetbrains.kotlin.types.checker.KotlinTypeChecker;
import java.util.*; import java.util.*;
@@ -124,7 +124,7 @@ public class TypeIntersector {
TypeConstructor constructor = new IntersectionTypeConstructor(Annotations.Companion.getEMPTY(), resultingTypes); TypeConstructor constructor = new IntersectionTypeConstructor(Annotations.Companion.getEMPTY(), resultingTypes);
KtScope[] scopes = new KtScope[resultingTypes.size()]; MemberScope[] scopes = new MemberScope[resultingTypes.size()];
int i = 0; int i = 0;
for (KotlinType type : resultingTypes) { for (KotlinType type : resultingTypes) {
scopes[i] = type.getMemberScope(); scopes[i] = type.getMemberScope();
@@ -155,7 +155,7 @@ public class TypeIntersector {
// TODO: check intersectability, don't use a chained scope // TODO: check intersectability, don't use a chained scope
private static class IntersectionScope extends ChainedScope { private static class IntersectionScope extends ChainedScope {
public IntersectionScope(@NotNull TypeConstructor constructor, @NotNull KtScope[] scopes) { public IntersectionScope(@NotNull TypeConstructor constructor, @NotNull MemberScope[] scopes) {
super(null, "member scope for intersection type " + constructor, scopes); super(null, "member scope for intersection type " + constructor, scopes);
} }
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.calls.context.BasicCallResolutionContext import org.jetbrains.kotlin.resolve.calls.context.BasicCallResolutionContext
import org.jetbrains.kotlin.resolve.calls.tasks.ResolutionCandidate import org.jetbrains.kotlin.resolve.calls.tasks.ResolutionCandidate
import org.jetbrains.kotlin.resolve.calls.tasks.ResolutionTaskHolder import org.jetbrains.kotlin.resolve.calls.tasks.ResolutionTaskHolder
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.serialization.ProtoBuf import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.DeserializationContext import org.jetbrains.kotlin.serialization.deserialization.DeserializationContext
import org.jetbrains.kotlin.serialization.deserialization.TypeDeserializer import org.jetbrains.kotlin.serialization.deserialization.TypeDeserializer
@@ -62,7 +62,7 @@ class LazyOperationsLog(
public fun getText(): String { public fun getText(): String {
val groupedByOwner = records.groupByTo(IdentityHashMap()) { val groupedByOwner = records.groupByTo(IdentityHashMap()) {
val owner = it.data.fieldOwner val owner = it.data.fieldOwner
if (owner is KtScope) owner.getContainingDeclaration() else owner if (owner is MemberScope) owner.getContainingDeclaration() else owner
}.map { Pair(it.getKey(), it.getValue()) } }.map { Pair(it.getKey(), it.getValue()) }
return groupedByOwner.map { return groupedByOwner.map {
@@ -118,7 +118,7 @@ class LazyOperationsLog(
sb.append(" = ${render(data.result)}") sb.append(" = ${render(data.result)}")
if (data.fieldOwner is KtScope) { if (data.fieldOwner is MemberScope) {
sb.append(" // through ${render(data.fieldOwner)}") sb.append(" // through ${render(data.fieldOwner)}")
} }
@@ -37,7 +37,7 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt; import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
import org.jetbrains.kotlin.resolve.jvm.kotlinSignature.TypeTransformingVisitor; import org.jetbrains.kotlin.resolve.jvm.kotlinSignature.TypeTransformingVisitor;
import org.jetbrains.kotlin.resolve.lazy.LazyResolveTestUtil; import org.jetbrains.kotlin.resolve.lazy.LazyResolveTestUtil;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import java.io.IOException; import java.io.IOException;
import java.util.Collections; import java.util.Collections;
@@ -155,7 +155,7 @@ public abstract class AbstractSdkAnnotationsValidityTest extends UsefulTestCase
return null; return null;
} }
private Void visitDeclarationRecursively(@NotNull DeclarationDescriptor descriptor, @NotNull KtScope memberScope) { private Void visitDeclarationRecursively(@NotNull DeclarationDescriptor descriptor, @NotNull MemberScope memberScope) {
for (DeclarationDescriptor member : DescriptorUtils.getAllDescriptors(memberScope)) { for (DeclarationDescriptor member : DescriptorUtils.getAllDescriptors(memberScope)) {
member.acceptVoid(this); member.acceptVoid(this);
} }
@@ -16,7 +16,7 @@
package org.jetbrains.kotlin.jvm.compiler package org.jetbrains.kotlin.jvm.compiler
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedMemberScope import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedMemberScope
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import com.intellij.testFramework.UsefulTestCase import com.intellij.testFramework.UsefulTestCase
@@ -28,13 +28,13 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.resolve.MemberComparator import org.jetbrains.kotlin.resolve.MemberComparator
class DeserializedScopeValidationVisitor : ValidationVisitor() { class DeserializedScopeValidationVisitor : ValidationVisitor() {
override fun validateScope(scope: KtScope, collector: DescriptorValidator.DiagnosticCollector) { override fun validateScope(scope: MemberScope, collector: DescriptorValidator.DiagnosticCollector) {
super.validateScope(scope, collector) super.validateScope(scope, collector)
validateDeserializedScope(scope) validateDeserializedScope(scope)
} }
} }
private fun validateDeserializedScope(scope: KtScope) { private fun validateDeserializedScope(scope: MemberScope) {
val isPackageViewScope = scope.safeGetContainingDeclaration() is PackageViewDescriptor val isPackageViewScope = scope.safeGetContainingDeclaration() is PackageViewDescriptor
if (scope is DeserializedMemberScope || isPackageViewScope) { if (scope is DeserializedMemberScope || isPackageViewScope) {
val relevantDescriptors = scope.getDescriptors().filter { member -> val relevantDescriptors = scope.getDescriptors().filter { member ->
@@ -45,7 +45,7 @@ private fun validateDeserializedScope(scope: KtScope) {
} }
//NOTE: see TypeUtils#IntersectionScope#getContainingDeclaration() //NOTE: see TypeUtils#IntersectionScope#getContainingDeclaration()
private fun KtScope.safeGetContainingDeclaration(): DeclarationDescriptor? { private fun MemberScope.safeGetContainingDeclaration(): DeclarationDescriptor? {
return try { return try {
getContainingDeclaration() getContainingDeclaration()
} }
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.renderer.DescriptorRenderer;
import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.resolve.DescriptorUtils; import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.constants.ConstantValue; import org.jetbrains.kotlin.resolve.constants.ConstantValue;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import java.util.*; import java.util.*;
@@ -96,7 +96,7 @@ public class ExpectedLoadErrorsUtil {
return null; return null;
} }
private Void visitDeclarationRecursively(@NotNull DeclarationDescriptor descriptor, @NotNull KtScope memberScope) { private Void visitDeclarationRecursively(@NotNull DeclarationDescriptor descriptor, @NotNull MemberScope memberScope) {
for (DeclarationDescriptor member : DescriptorUtils.getAllDescriptors(memberScope)) { for (DeclarationDescriptor member : DescriptorUtils.getAllDescriptors(memberScope)) {
member.acceptVoid(this); member.acceptVoid(this);
} }
@@ -142,7 +142,7 @@ public abstract class AbstractJvmRuntimeDescriptorLoaderTest : TestCaseWithTmpdi
val generatedPackageDir = File(tmpdir, LoadDescriptorUtil.TEST_PACKAGE_FQNAME.pathSegments().single().asString()) val generatedPackageDir = File(tmpdir, LoadDescriptorUtil.TEST_PACKAGE_FQNAME.pathSegments().single().asString())
val allClassFiles = FileUtil.findFilesByMask(Pattern.compile(".*\\.class"), generatedPackageDir) val allClassFiles = FileUtil.findFilesByMask(Pattern.compile(".*\\.class"), generatedPackageDir)
val packageScopes = arrayListOf<KtScope>() val packageScopes = arrayListOf<MemberScope>()
val classes = arrayListOf<ClassDescriptor>() val classes = arrayListOf<ClassDescriptor>()
var shouldAddPackageView = false var shouldAddPackageView = false
for (classFile in allClassFiles) { for (classFile in allClassFiles) {
@@ -186,9 +186,9 @@ public abstract class AbstractJvmRuntimeDescriptorLoaderTest : TestCaseWithTmpdi
} }
private class SyntheticPackageViewForTest(override val module: ModuleDescriptor, private class SyntheticPackageViewForTest(override val module: ModuleDescriptor,
packageScopes: List<KtScope>, packageScopes: List<MemberScope>,
classes: List<ClassifierDescriptor>) : PackageViewDescriptor { classes: List<ClassifierDescriptor>) : PackageViewDescriptor {
private val scope: KtScope private val scope: MemberScope
init { init {
scope = ChainedScope(this, "synthetic package view for test", ScopeWithClassifiers(classes, this), *packageScopes.toTypedArray()) scope = ChainedScope(this, "synthetic package view for test", ScopeWithClassifiers(classes, this), *packageScopes.toTypedArray())
@@ -196,7 +196,7 @@ public abstract class AbstractJvmRuntimeDescriptorLoaderTest : TestCaseWithTmpdi
override val fqName: FqName override val fqName: FqName
get() = LoadDescriptorUtil.TEST_PACKAGE_FQNAME get() = LoadDescriptorUtil.TEST_PACKAGE_FQNAME
override val memberScope: KtScope override val memberScope: MemberScope
get() = scope get() = scope
override fun <R, D> accept(visitor: DeclarationDescriptorVisitor<R, D>, data: D): R = override fun <R, D> accept(visitor: DeclarationDescriptorVisitor<R, D>, data: D): R =
visitor.visitPackageViewDescriptor(this, data) visitor.visitPackageViewDescriptor(this, data)
@@ -214,7 +214,7 @@ public abstract class AbstractJvmRuntimeDescriptorLoaderTest : TestCaseWithTmpdi
private class ScopeWithClassifiers( private class ScopeWithClassifiers(
classifiers: List<ClassifierDescriptor>, classifiers: List<ClassifierDescriptor>,
val ownerDescriptor: DeclarationDescriptor val ownerDescriptor: DeclarationDescriptor
) : KtScopeImpl() { ) : MemberScopeImpl() {
override fun getContainingDeclaration() = ownerDescriptor override fun getContainingDeclaration() = ownerDescriptor
private val classifierMap = HashMap<Name, ClassifierDescriptor>() private val classifierMap = HashMap<Name, ClassifierDescriptor>()
@@ -42,7 +42,7 @@ import org.jetbrains.kotlin.renderer.DescriptorRendererOptions;
import org.jetbrains.kotlin.renderer.NameShortness; import org.jetbrains.kotlin.renderer.NameShortness;
import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.resolve.DescriptorUtils; import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.test.KotlinLiteFixture; import org.jetbrains.kotlin.test.KotlinLiteFixture;
import org.jetbrains.kotlin.test.KotlinTestUtils; import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.types.TypeProjection; import org.jetbrains.kotlin.types.TypeProjection;
@@ -168,7 +168,7 @@ public abstract class AbstractAnnotationDescriptorResolveTest extends KotlinLite
@NotNull @NotNull
protected static FunctionDescriptor getFunctionDescriptor(@NotNull PackageFragmentDescriptor packageView, @NotNull String name) { protected static FunctionDescriptor getFunctionDescriptor(@NotNull PackageFragmentDescriptor packageView, @NotNull String name) {
Name functionName = Name.identifier(name); Name functionName = Name.identifier(name);
KtScope memberScope = packageView.getMemberScope(); MemberScope memberScope = packageView.getMemberScope();
Collection<FunctionDescriptor> functions = memberScope.getFunctions(functionName, NoLookupLocation.FROM_TEST); Collection<FunctionDescriptor> functions = memberScope.getFunctions(functionName, NoLookupLocation.FROM_TEST);
assert functions.size() == 1 : "Failed to find function " + functionName + " in class" + "." + packageView.getName(); assert functions.size() == 1 : "Failed to find function " + functionName + " in class" + "." + packageView.getName();
return functions.iterator().next(); return functions.iterator().next();
@@ -177,7 +177,7 @@ public abstract class AbstractAnnotationDescriptorResolveTest extends KotlinLite
@NotNull @NotNull
private static FunctionDescriptor getFunctionDescriptor(@NotNull ClassDescriptor classDescriptor, @NotNull String name) { private static FunctionDescriptor getFunctionDescriptor(@NotNull ClassDescriptor classDescriptor, @NotNull String name) {
Name functionName = Name.identifier(name); Name functionName = Name.identifier(name);
KtScope memberScope = classDescriptor.getMemberScope(Collections.<TypeProjection>emptyList()); MemberScope memberScope = classDescriptor.getMemberScope(Collections.<TypeProjection>emptyList());
Collection<FunctionDescriptor> functions = memberScope.getFunctions(functionName, NoLookupLocation.FROM_TEST); Collection<FunctionDescriptor> functions = memberScope.getFunctions(functionName, NoLookupLocation.FROM_TEST);
assert functions.size() == 1 : "Failed to find function " + functionName + " in class" + "." + classDescriptor.getName(); assert functions.size() == 1 : "Failed to find function " + functionName + " in class" + "." + classDescriptor.getName();
return functions.iterator().next(); return functions.iterator().next();
@@ -186,7 +186,7 @@ public abstract class AbstractAnnotationDescriptorResolveTest extends KotlinLite
@Nullable @Nullable
protected static PropertyDescriptor getPropertyDescriptor(@NotNull PackageFragmentDescriptor packageView, @NotNull String name, boolean failOnMissing) { protected static PropertyDescriptor getPropertyDescriptor(@NotNull PackageFragmentDescriptor packageView, @NotNull String name, boolean failOnMissing) {
Name propertyName = Name.identifier(name); Name propertyName = Name.identifier(name);
KtScope memberScope = packageView.getMemberScope(); MemberScope memberScope = packageView.getMemberScope();
Collection<PropertyDescriptor> properties = memberScope.getProperties(propertyName, NoLookupLocation.FROM_TEST); Collection<PropertyDescriptor> properties = memberScope.getProperties(propertyName, NoLookupLocation.FROM_TEST);
if (properties.isEmpty()) { if (properties.isEmpty()) {
for (DeclarationDescriptor descriptor : DescriptorUtils.getAllDescriptors(memberScope)) { for (DeclarationDescriptor descriptor : DescriptorUtils.getAllDescriptors(memberScope)) {
@@ -213,7 +213,7 @@ public abstract class AbstractAnnotationDescriptorResolveTest extends KotlinLite
@NotNull @NotNull
private static PropertyDescriptor getPropertyDescriptor(@NotNull ClassDescriptor classDescriptor, @NotNull String name) { private static PropertyDescriptor getPropertyDescriptor(@NotNull ClassDescriptor classDescriptor, @NotNull String name) {
Name propertyName = Name.identifier(name); Name propertyName = Name.identifier(name);
KtScope memberScope = classDescriptor.getMemberScope(Collections.<TypeProjection>emptyList()); MemberScope memberScope = classDescriptor.getMemberScope(Collections.<TypeProjection>emptyList());
Collection<PropertyDescriptor> properties = memberScope.getProperties(propertyName, NoLookupLocation.FROM_TEST); Collection<PropertyDescriptor> properties = memberScope.getProperties(propertyName, NoLookupLocation.FROM_TEST);
assert properties.size() == 1 : "Failed to find property " + propertyName + " in class " + classDescriptor.getName(); assert properties.size() == 1 : "Failed to find property " + propertyName + " in class " + classDescriptor.getName();
return properties.iterator().next(); return properties.iterator().next();
@@ -231,7 +231,7 @@ public abstract class AbstractAnnotationDescriptorResolveTest extends KotlinLite
@NotNull @NotNull
private static ClassDescriptor getInnerClassDescriptor(@NotNull ClassDescriptor classDescriptor, @NotNull String name) { private static ClassDescriptor getInnerClassDescriptor(@NotNull ClassDescriptor classDescriptor, @NotNull String name) {
Name propertyName = Name.identifier(name); Name propertyName = Name.identifier(name);
KtScope memberScope = classDescriptor.getMemberScope(Collections.<TypeProjection>emptyList()); MemberScope memberScope = classDescriptor.getMemberScope(Collections.<TypeProjection>emptyList());
ClassifierDescriptor innerClass = memberScope.getClassifier(propertyName, NoLookupLocation.FROM_TEST); ClassifierDescriptor innerClass = memberScope.getClassifier(propertyName, NoLookupLocation.FROM_TEST);
assert innerClass instanceof ClassDescriptor : "Failed to find inner class " + assert innerClass instanceof ClassDescriptor : "Failed to find inner class " +
propertyName + propertyName +
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
import org.jetbrains.kotlin.resolve.TypeResolver import org.jetbrains.kotlin.resolve.TypeResolver
import org.jetbrains.kotlin.resolve.constants.IntegerValueTypeConstructor import org.jetbrains.kotlin.resolve.constants.IntegerValueTypeConstructor
import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.resolve.scopes.LexicalScope import org.jetbrains.kotlin.resolve.scopes.LexicalScope
import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.test.KotlinTestUtils
import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.KotlinType
@@ -66,7 +66,7 @@ public class ConstraintSystemTestData(
val number = matcher.group(1)!! val number = matcher.group(1)!!
return KotlinTypeImpl.create( return KotlinTypeImpl.create(
Annotations.EMPTY, IntegerValueTypeConstructor(number.toLong(), functionFoo.builtIns), false, listOf(), Annotations.EMPTY, IntegerValueTypeConstructor(number.toLong(), functionFoo.builtIns), false, listOf(),
KtScope.empty(functionFoo) MemberScope.empty(functionFoo)
) )
} }
return typeResolver.resolveType( return typeResolver.resolveType(
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.descriptors.*; import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.incremental.components.NoLookupLocation; import org.jetbrains.kotlin.incremental.components.NoLookupLocation;
import org.jetbrains.kotlin.resolve.DescriptorUtils; import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.types.KotlinType; import org.jetbrains.kotlin.types.KotlinType;
import org.junit.Assert; import org.junit.Assert;
@@ -84,7 +84,7 @@ public class DescriptorValidator {
return this; return this;
} }
protected void validateScope(@NotNull KtScope scope, @NotNull DiagnosticCollector collector) { protected void validateScope(@NotNull MemberScope scope, @NotNull DiagnosticCollector collector) {
for (DeclarationDescriptor descriptor : DescriptorUtils.getAllDescriptors(scope)) { for (DeclarationDescriptor descriptor : DescriptorUtils.getAllDescriptors(scope)) {
if (recursiveFilter.apply(descriptor)) { if (recursiveFilter.apply(descriptor)) {
descriptor.accept(new ScopeValidatorVisitor(collector), scope); descriptor.accept(new ScopeValidatorVisitor(collector), scope);
@@ -358,7 +358,7 @@ public class DescriptorValidator {
} }
private static class ScopeValidatorVisitor implements DeclarationDescriptorVisitor<Void, KtScope> { private static class ScopeValidatorVisitor implements DeclarationDescriptorVisitor<Void, MemberScope> {
private final DiagnosticCollector collector; private final DiagnosticCollector collector;
public ScopeValidatorVisitor(DiagnosticCollector collector) { public ScopeValidatorVisitor(DiagnosticCollector collector) {
@@ -370,7 +370,7 @@ public class DescriptorValidator {
} }
private void assertFound( private void assertFound(
@NotNull KtScope scope, @NotNull MemberScope scope,
@NotNull DeclarationDescriptor expected, @NotNull DeclarationDescriptor expected,
@Nullable DeclarationDescriptor found, @Nullable DeclarationDescriptor found,
boolean shouldBeSame boolean shouldBeSame
@@ -384,7 +384,7 @@ public class DescriptorValidator {
} }
private void assertFound( private void assertFound(
@NotNull KtScope scope, @NotNull MemberScope scope,
@NotNull DeclarationDescriptor expected, @NotNull DeclarationDescriptor expected,
@NotNull Collection<? extends DeclarationDescriptor> found @NotNull Collection<? extends DeclarationDescriptor> found
) { ) {
@@ -395,14 +395,14 @@ public class DescriptorValidator {
@Override @Override
public Void visitPackageFragmentDescriptor( public Void visitPackageFragmentDescriptor(
PackageFragmentDescriptor descriptor, KtScope scope PackageFragmentDescriptor descriptor, MemberScope scope
) { ) {
return null; return null;
} }
@Override @Override
public Void visitPackageViewDescriptor( public Void visitPackageViewDescriptor(
PackageViewDescriptor descriptor, KtScope scope PackageViewDescriptor descriptor, MemberScope scope
) { ) {
assertFound(scope, descriptor, scope.getPackage(descriptor.getName()), false); assertFound(scope, descriptor, scope.getPackage(descriptor.getName()), false);
return null; return null;
@@ -410,7 +410,7 @@ public class DescriptorValidator {
@Override @Override
public Void visitVariableDescriptor( public Void visitVariableDescriptor(
VariableDescriptor descriptor, KtScope scope VariableDescriptor descriptor, MemberScope scope
) { ) {
assertFound(scope, descriptor, scope.getProperties(descriptor.getName(), NoLookupLocation.FROM_TEST)); assertFound(scope, descriptor, scope.getProperties(descriptor.getName(), NoLookupLocation.FROM_TEST));
return null; return null;
@@ -418,7 +418,7 @@ public class DescriptorValidator {
@Override @Override
public Void visitFunctionDescriptor( public Void visitFunctionDescriptor(
FunctionDescriptor descriptor, KtScope scope FunctionDescriptor descriptor, MemberScope scope
) { ) {
assertFound(scope, descriptor, scope.getFunctions(descriptor.getName(), NoLookupLocation.FROM_TEST)); assertFound(scope, descriptor, scope.getFunctions(descriptor.getName(), NoLookupLocation.FROM_TEST));
return null; return null;
@@ -426,7 +426,7 @@ public class DescriptorValidator {
@Override @Override
public Void visitTypeParameterDescriptor( public Void visitTypeParameterDescriptor(
TypeParameterDescriptor descriptor, KtScope scope TypeParameterDescriptor descriptor, MemberScope scope
) { ) {
assertFound(scope, descriptor, scope.getClassifier(descriptor.getName(), NoLookupLocation.FROM_TEST), true); assertFound(scope, descriptor, scope.getClassifier(descriptor.getName(), NoLookupLocation.FROM_TEST), true);
return null; return null;
@@ -434,7 +434,7 @@ public class DescriptorValidator {
@Override @Override
public Void visitClassDescriptor( public Void visitClassDescriptor(
ClassDescriptor descriptor, KtScope scope ClassDescriptor descriptor, MemberScope scope
) { ) {
assertFound(scope, descriptor, scope.getClassifier(descriptor.getName(), NoLookupLocation.FROM_TEST), true); assertFound(scope, descriptor, scope.getClassifier(descriptor.getName(), NoLookupLocation.FROM_TEST), true);
return null; return null;
@@ -442,7 +442,7 @@ public class DescriptorValidator {
@Override @Override
public Void visitModuleDeclaration( public Void visitModuleDeclaration(
ModuleDescriptor descriptor, KtScope scope ModuleDescriptor descriptor, MemberScope scope
) { ) {
report(descriptor, "Module found in scope: " + scope); report(descriptor, "Module found in scope: " + scope);
return null; return null;
@@ -450,7 +450,7 @@ public class DescriptorValidator {
@Override @Override
public Void visitConstructorDescriptor( public Void visitConstructorDescriptor(
ConstructorDescriptor descriptor, KtScope scope ConstructorDescriptor descriptor, MemberScope scope
) { ) {
report(descriptor, "Constructor found in scope: " + scope); report(descriptor, "Constructor found in scope: " + scope);
return null; return null;
@@ -458,7 +458,7 @@ public class DescriptorValidator {
@Override @Override
public Void visitScriptDescriptor( public Void visitScriptDescriptor(
ScriptDescriptor descriptor, KtScope scope ScriptDescriptor descriptor, MemberScope scope
) { ) {
report(descriptor, "Script found in scope: " + scope); report(descriptor, "Script found in scope: " + scope);
return null; return null;
@@ -466,21 +466,21 @@ public class DescriptorValidator {
@Override @Override
public Void visitPropertyDescriptor( public Void visitPropertyDescriptor(
PropertyDescriptor descriptor, KtScope scope PropertyDescriptor descriptor, MemberScope scope
) { ) {
return visitVariableDescriptor(descriptor, scope); return visitVariableDescriptor(descriptor, scope);
} }
@Override @Override
public Void visitValueParameterDescriptor( public Void visitValueParameterDescriptor(
ValueParameterDescriptor descriptor, KtScope scope ValueParameterDescriptor descriptor, MemberScope scope
) { ) {
return visitVariableDescriptor(descriptor, scope); return visitVariableDescriptor(descriptor, scope);
} }
@Override @Override
public Void visitPropertyGetterDescriptor( public Void visitPropertyGetterDescriptor(
PropertyGetterDescriptor descriptor, KtScope scope PropertyGetterDescriptor descriptor, MemberScope scope
) { ) {
report(descriptor, "Getter found in scope: " + scope); report(descriptor, "Getter found in scope: " + scope);
return null; return null;
@@ -488,7 +488,7 @@ public class DescriptorValidator {
@Override @Override
public Void visitPropertySetterDescriptor( public Void visitPropertySetterDescriptor(
PropertySetterDescriptor descriptor, KtScope scope PropertySetterDescriptor descriptor, MemberScope scope
) { ) {
report(descriptor, "Setter found in scope: " + scope); report(descriptor, "Setter found in scope: " + scope);
return null; return null;
@@ -496,7 +496,7 @@ public class DescriptorValidator {
@Override @Override
public Void visitReceiverParameterDescriptor( public Void visitReceiverParameterDescriptor(
ReceiverParameterDescriptor descriptor, KtScope scope ReceiverParameterDescriptor descriptor, MemberScope scope
) { ) {
report(descriptor, "Receiver parameter found in scope: " + scope); report(descriptor, "Receiver parameter found in scope: " + scope);
return null; return null;
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.renderer.*; import org.jetbrains.kotlin.renderer.*;
import org.jetbrains.kotlin.resolve.DescriptorUtils; import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.MemberComparator; import org.jetbrains.kotlin.resolve.MemberComparator;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.test.KotlinTestUtils; import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.utils.Printer; import org.jetbrains.kotlin.utils.Printer;
import org.junit.Assert; import org.junit.Assert;
@@ -128,7 +128,7 @@ public class RecursiveDescriptorComparator {
ClassDescriptor klass = (ClassDescriptor) descriptor; ClassDescriptor klass = (ClassDescriptor) descriptor;
appendSubDescriptors(descriptor, module, appendSubDescriptors(descriptor, module,
klass.getDefaultType().getMemberScope(), klass.getConstructors(), printer); klass.getDefaultType().getMemberScope(), klass.getConstructors(), printer);
KtScope staticScope = klass.getStaticScope(); MemberScope staticScope = klass.getStaticScope();
if (!DescriptorUtils.getAllDescriptors(staticScope).isEmpty()) { if (!DescriptorUtils.getAllDescriptors(staticScope).isEmpty()) {
printer.println(); printer.println();
printer.println("// Static members"); printer.println("// Static members");
@@ -185,7 +185,7 @@ public class RecursiveDescriptorComparator {
private void appendSubDescriptors( private void appendSubDescriptors(
@NotNull DeclarationDescriptor descriptor, @NotNull DeclarationDescriptor descriptor,
@NotNull ModuleDescriptor module, @NotNull ModuleDescriptor module,
@NotNull KtScope memberScope, @NotNull MemberScope memberScope,
@NotNull Collection<? extends DeclarationDescriptor> extraSubDescriptors, @NotNull Collection<? extends DeclarationDescriptor> extraSubDescriptors,
@NotNull Printer printer @NotNull Printer printer
) { ) {
@@ -33,7 +33,6 @@ import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil;
import org.jetbrains.kotlin.resolve.lazy.ResolveSession; import org.jetbrains.kotlin.resolve.lazy.ResolveSession;
import org.jetbrains.kotlin.resolve.lazy.declarations.FileBasedDeclarationProviderFactory; import org.jetbrains.kotlin.resolve.lazy.declarations.FileBasedDeclarationProviderFactory;
import org.jetbrains.kotlin.resolve.scopes.*; import org.jetbrains.kotlin.resolve.scopes.*;
import org.jetbrains.kotlin.resolve.scopes.utils.ScopeUtilsKt;
import org.jetbrains.kotlin.test.ConfigurationKind; import org.jetbrains.kotlin.test.ConfigurationKind;
import org.jetbrains.kotlin.test.KotlinLiteFixture; import org.jetbrains.kotlin.test.KotlinLiteFixture;
import org.jetbrains.kotlin.test.KotlinTestUtils; import org.jetbrains.kotlin.test.KotlinTestUtils;
@@ -84,7 +83,7 @@ public class DefaultModalityModifiersTest extends KotlinLiteFixture {
} }
@NotNull @NotNull
private LexicalScope createScope(@NotNull KtScope libraryScope) { private LexicalScope createScope(@NotNull MemberScope libraryScope) {
KtFile file = KtPsiFactoryKt KtFile file = KtPsiFactoryKt
.KtPsiFactory(getProject()).createFile("abstract class C { abstract fun foo(); abstract val a: Int }"); .KtPsiFactory(getProject()).createFile("abstract class C { abstract fun foo(); abstract val a: Int }");
List<KtDeclaration> declarations = file.getDeclarations(); List<KtDeclaration> declarations = file.getDeclarations();
@@ -34,7 +34,6 @@ import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
import org.jetbrains.kotlin.diagnostics.Diagnostic; import org.jetbrains.kotlin.diagnostics.Diagnostic;
import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages; import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages;
import org.jetbrains.kotlin.incremental.components.NoLookupLocation; import org.jetbrains.kotlin.incremental.components.NoLookupLocation;
import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.psi.KtFile; import org.jetbrains.kotlin.psi.KtFile;
import org.jetbrains.kotlin.psi.KtPsiFactoryKt; import org.jetbrains.kotlin.psi.KtPsiFactoryKt;
@@ -105,7 +104,7 @@ public class TypeSubstitutorTest extends KotlinTestWithEnvironment {
} }
}); });
return new LexicalChainedScope(typeParameters, module, false, null, "TypeSubstitutorTest::getContextScope()", return new LexicalChainedScope(typeParameters, module, false, null, "TypeSubstitutorTest::getContextScope()",
new KtScope[] { new MemberScope[] {
contextClass.getDefaultType().getMemberScope(), contextClass.getDefaultType().getMemberScope(),
module.getBuiltIns().getBuiltInsPackageScope() module.getBuiltIns().getBuiltInsPackageScope()
}); });
@@ -35,7 +35,6 @@ import org.jetbrains.kotlin.psi.KtTypeProjection;
import org.jetbrains.kotlin.psi.KtTypeReference; import org.jetbrains.kotlin.psi.KtTypeReference;
import org.jetbrains.kotlin.resolve.TypeResolver; import org.jetbrains.kotlin.resolve.TypeResolver;
import org.jetbrains.kotlin.resolve.scopes.*; import org.jetbrains.kotlin.resolve.scopes.*;
import org.jetbrains.kotlin.resolve.scopes.utils.ScopeUtilsKt;
import org.jetbrains.kotlin.test.ConfigurationKind; import org.jetbrains.kotlin.test.ConfigurationKind;
import org.jetbrains.kotlin.test.KotlinLiteFixture; import org.jetbrains.kotlin.test.KotlinLiteFixture;
import org.jetbrains.kotlin.test.KotlinTestUtils; import org.jetbrains.kotlin.test.KotlinTestUtils;
@@ -200,7 +199,7 @@ public class TypeUnifierTest extends KotlinLiteFixture {
return makeTypeProjection(builtIns.getBuiltInsPackageScope(), typeStr); return makeTypeProjection(builtIns.getBuiltInsPackageScope(), typeStr);
} }
private TypeProjection makeTypeProjection(KtScope scope, String typeStr) { private TypeProjection makeTypeProjection(MemberScope scope, String typeStr) {
LexicalScope withX = new LexicalScopeImpl(TypeTestUtilsKt.asLexicalScope(scope), scope.getContainingDeclaration(), LexicalScope withX = new LexicalScopeImpl(TypeTestUtilsKt.asLexicalScope(scope), scope.getContainingDeclaration(),
false, null, "With X", RedeclarationHandler.DO_NOTHING, false, null, "With X", RedeclarationHandler.DO_NOTHING,
new Function1<LexicalScopeImpl.InitializeHandler, Unit>() { new Function1<LexicalScopeImpl.InitializeHandler, Unit>() {
@@ -17,12 +17,12 @@
package org.jetbrains.kotlin.types package org.jetbrains.kotlin.types
import org.jetbrains.kotlin.resolve.scopes.BaseLexicalScope import org.jetbrains.kotlin.resolve.scopes.BaseLexicalScope
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.resolve.scopes.LexicalScope import org.jetbrains.kotlin.resolve.scopes.LexicalScope
import org.jetbrains.kotlin.resolve.scopes.utils.memberScopeAsImportingScope import org.jetbrains.kotlin.resolve.scopes.utils.memberScopeAsImportingScope
import org.jetbrains.kotlin.utils.Printer import org.jetbrains.kotlin.utils.Printer
public fun KtScope.asLexicalScope(): LexicalScope { public fun MemberScope.asLexicalScope(): LexicalScope {
val importingScope = memberScopeAsImportingScope() val importingScope = memberScopeAsImportingScope()
return object : BaseLexicalScope(importingScope, getContainingDeclaration()) { return object : BaseLexicalScope(importingScope, getContainingDeclaration()) {
override fun printStructure(p: Printer) { override fun printStructure(p: Printer) {
@@ -22,19 +22,19 @@ import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor
import org.jetbrains.kotlin.load.java.descriptors.SamConstructorDescriptor import org.jetbrains.kotlin.load.java.descriptors.SamConstructorDescriptor
import org.jetbrains.kotlin.load.java.structure.JavaMethod import org.jetbrains.kotlin.load.java.structure.JavaMethod
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.KotlinType
public interface SamConversionResolver { public interface SamConversionResolver {
public companion object EMPTY : SamConversionResolver { public companion object EMPTY : SamConversionResolver {
override fun <D : FunctionDescriptor> resolveSamAdapter(original: D) = null override fun <D : FunctionDescriptor> resolveSamAdapter(original: D) = null
override fun resolveSamConstructor(name: Name, scope: KtScope, location: LookupLocation) = null override fun resolveSamConstructor(name: Name, scope: MemberScope, location: LookupLocation) = null
override fun resolveFunctionTypeIfSamInterface( override fun resolveFunctionTypeIfSamInterface(
classDescriptor: JavaClassDescriptor, resolveMethod: (JavaMethod) -> FunctionDescriptor classDescriptor: JavaClassDescriptor, resolveMethod: (JavaMethod) -> FunctionDescriptor
): KotlinType? = null ): KotlinType? = null
} }
public fun resolveSamConstructor(name: Name, scope: KtScope, location: LookupLocation): SamConstructorDescriptor? public fun resolveSamConstructor(name: Name, scope: MemberScope, location: LookupLocation): SamConstructorDescriptor?
public fun <D : FunctionDescriptor> resolveSamAdapter(original: D): D? public fun <D : FunctionDescriptor> resolveSamAdapter(original: D): D?
@@ -36,7 +36,7 @@ import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.isValidJavaFqName import org.jetbrains.kotlin.name.isValidJavaFqName
import org.jetbrains.kotlin.resolve.constants.StringValue import org.jetbrains.kotlin.resolve.constants.StringValue
import org.jetbrains.kotlin.resolve.scopes.InnerClassesScopeWrapper import org.jetbrains.kotlin.resolve.scopes.InnerClassesScopeWrapper
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.types.* import org.jetbrains.kotlin.types.*
import org.jetbrains.kotlin.utils.addIfNotNull import org.jetbrains.kotlin.utils.addIfNotNull
import org.jetbrains.kotlin.utils.toReadOnlyList import org.jetbrains.kotlin.utils.toReadOnlyList
@@ -92,10 +92,10 @@ class LazyJavaClassDescriptor(
override fun getUnsubstitutedMemberScope() = unsubstitutedMemberScope override fun getUnsubstitutedMemberScope() = unsubstitutedMemberScope
private val innerClassesScope = InnerClassesScopeWrapper(getUnsubstitutedMemberScope()) private val innerClassesScope = InnerClassesScopeWrapper(getUnsubstitutedMemberScope())
override fun getUnsubstitutedInnerClassesScope(): KtScope = innerClassesScope override fun getUnsubstitutedInnerClassesScope(): MemberScope = innerClassesScope
private val staticScope = LazyJavaStaticClassScope(c, jClass, this) private val staticScope = LazyJavaStaticClassScope(c, jClass, this)
override fun getStaticScope(): KtScope = staticScope override fun getStaticScope(): MemberScope = staticScope
override fun getUnsubstitutedPrimaryConstructor(): ConstructorDescriptor? = null override fun getUnsubstitutedPrimaryConstructor(): ConstructorDescriptor? = null
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.SpecialNames import org.jetbrains.kotlin.name.SpecialNames
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.utils.addIfNotNull import org.jetbrains.kotlin.utils.addIfNotNull
public class LazyJavaPackageScope( public class LazyJavaPackageScope(
@@ -71,7 +71,7 @@ public class LazyJavaPackageScope(
c.components.deserializedDescriptorResolver.readData(binaryClass, DeserializedDescriptorResolver.KOTLIN_PACKAGE_FACADE) c.components.deserializedDescriptorResolver.readData(binaryClass, DeserializedDescriptorResolver.KOTLIN_PACKAGE_FACADE)
} }
KtScope.empty(packageFragment) MemberScope.empty(packageFragment)
} }
else { else {
c.components.deserializedDescriptorResolver.createKotlinPackageScope(packageFragment, containingDeclaration.kotlinBinaryClasses) c.components.deserializedDescriptorResolver.createKotlinPackageScope(packageFragment, containingDeclaration.kotlinBinaryClasses)
@@ -41,8 +41,8 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.jvm.PLATFORM_TYPES import org.jetbrains.kotlin.resolve.jvm.PLATFORM_TYPES
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindExclude.NonExtensions import org.jetbrains.kotlin.resolve.scopes.DescriptorKindExclude.NonExtensions
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.resolve.scopes.KtScopeImpl import org.jetbrains.kotlin.resolve.scopes.MemberScopeImpl
import org.jetbrains.kotlin.storage.NotNullLazyValue import org.jetbrains.kotlin.storage.NotNullLazyValue
import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.KotlinType
import org.jetbrains.kotlin.types.TypeUtils import org.jetbrains.kotlin.types.TypeUtils
@@ -54,11 +54,11 @@ import java.util.*
public abstract class LazyJavaScope( public abstract class LazyJavaScope(
protected val c: LazyJavaResolverContext, protected val c: LazyJavaResolverContext,
private val containingDeclaration: DeclarationDescriptor private val containingDeclaration: DeclarationDescriptor
) : KtScopeImpl() { ) : MemberScopeImpl() {
// this lazy value is not used at all in LazyPackageFragmentScopeForJavaPackage because we do not use caching there // this lazy value is not used at all in LazyPackageFragmentScopeForJavaPackage because we do not use caching there
// but is placed in the base class to not duplicate code // but is placed in the base class to not duplicate code
private val allDescriptors = c.storageManager.createRecursionTolerantLazyValue<Collection<DeclarationDescriptor>>( private val allDescriptors = c.storageManager.createRecursionTolerantLazyValue<Collection<DeclarationDescriptor>>(
{ computeDescriptors(DescriptorKindFilter.ALL, KtScope.ALL_NAME_FILTER, NoLookupLocation.WHEN_GET_ALL_DESCRIPTORS) }, { computeDescriptors(DescriptorKindFilter.ALL, MemberScope.ALL_NAME_FILTER, NoLookupLocation.WHEN_GET_ALL_DESCRIPTORS) },
// This is to avoid the following recursive case: // This is to avoid the following recursive case:
// when computing getAllPackageNames() we ask the JavaPsiFacade for all subpackages of foo // when computing getAllPackageNames() we ask the JavaPsiFacade for all subpackages of foo
// it, in turn, asks JavaElementFinder for subpackages of Kotlin package foo, which calls getAllPackageNames() recursively // it, in turn, asks JavaElementFinder for subpackages of Kotlin package foo, which calls getAllPackageNames() recursively
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.platform.JavaToKotlinClassMap import org.jetbrains.kotlin.platform.JavaToKotlinClassMap
import org.jetbrains.kotlin.platform.JvmBuiltIns import org.jetbrains.kotlin.platform.JvmBuiltIns
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.serialization.deserialization.AdditionalSupertypes import org.jetbrains.kotlin.serialization.deserialization.AdditionalSupertypes
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor
import org.jetbrains.kotlin.types.DelegatingType import org.jetbrains.kotlin.types.DelegatingType
@@ -42,7 +42,7 @@ class BuiltInClassesAreSerializableOnJvm(
private fun createMockJavaIoSerializableType(): KotlinType { private fun createMockJavaIoSerializableType(): KotlinType {
val mockJavaIoPackageFragment = object : PackageFragmentDescriptorImpl(moduleDescriptor, FqName("java.io")) { val mockJavaIoPackageFragment = object : PackageFragmentDescriptorImpl(moduleDescriptor, FqName("java.io")) {
override fun getMemberScope() = KtScope.empty(this) override fun getMemberScope() = MemberScope.empty(this)
} }
//NOTE: can't reference anyType right away, because this is sometimes called when JvmBuiltIns are initializing //NOTE: can't reference anyType right away, because this is sometimes called when JvmBuiltIns are initializing
@@ -56,7 +56,7 @@ class BuiltInClassesAreSerializableOnJvm(
mockJavaIoPackageFragment, Name.identifier("Serializable"), Modality.ABSTRACT, superTypes, SourceElement.NO_SOURCE mockJavaIoPackageFragment, Name.identifier("Serializable"), Modality.ABSTRACT, superTypes, SourceElement.NO_SOURCE
) )
mockSerializableClass.initialize(KtScope.empty(mockSerializableClass), emptySet(), null) mockSerializableClass.initialize(MemberScope.empty(mockSerializableClass), emptySet(), null)
return mockSerializableClass.defaultType return mockSerializableClass.defaultType
} }
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor;
import org.jetbrains.kotlin.load.kotlin.header.KotlinClassHeader; import org.jetbrains.kotlin.load.kotlin.header.KotlinClassHeader;
import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.resolve.scopes.ChainedScope; import org.jetbrains.kotlin.resolve.scopes.ChainedScope;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.serialization.ClassData; import org.jetbrains.kotlin.serialization.ClassData;
import org.jetbrains.kotlin.serialization.ClassDataWithSource; import org.jetbrains.kotlin.serialization.ClassDataWithSource;
import org.jetbrains.kotlin.serialization.PackageData; import org.jetbrains.kotlin.serialization.PackageData;
@@ -74,7 +74,7 @@ public final class DeserializedDescriptorResolver {
} }
@Nullable @Nullable
public KtScope createKotlinPackagePartScope(@NotNull PackageFragmentDescriptor descriptor, @NotNull KotlinJvmBinaryClass kotlinClass) { public MemberScope createKotlinPackagePartScope(@NotNull PackageFragmentDescriptor descriptor, @NotNull KotlinJvmBinaryClass kotlinClass) {
String[] data = readData(kotlinClass, KOTLIN_FILE_FACADE_OR_MULTIFILE_CLASS_PART); String[] data = readData(kotlinClass, KOTLIN_FILE_FACADE_OR_MULTIFILE_CLASS_PART);
if (data != null) { if (data != null) {
String[] strings = kotlinClass.getClassHeader().getStrings(); String[] strings = kotlinClass.getClassHeader().getStrings();
@@ -95,18 +95,18 @@ public final class DeserializedDescriptorResolver {
} }
@NotNull @NotNull
public KtScope createKotlinPackageScope(@NotNull PackageFragmentDescriptor descriptor, @NotNull List<KotlinJvmBinaryClass> packageParts) { public MemberScope createKotlinPackageScope(@NotNull PackageFragmentDescriptor descriptor, @NotNull List<KotlinJvmBinaryClass> packageParts) {
List<KtScope> list = new ArrayList<KtScope>(); List<MemberScope> list = new ArrayList<MemberScope>();
for (KotlinJvmBinaryClass callable : packageParts) { for (KotlinJvmBinaryClass callable : packageParts) {
KtScope scope = createKotlinPackagePartScope(descriptor, callable); MemberScope scope = createKotlinPackagePartScope(descriptor, callable);
if (scope != null) { if (scope != null) {
list.add(scope); list.add(scope);
} }
} }
if (list.isEmpty()) { if (list.isEmpty()) {
return KtScope.Companion.empty(descriptor); return MemberScope.Companion.empty(descriptor);
} }
return new ChainedScope(descriptor, "Member scope for union of package parts data", list.toArray(new KtScope[list.size()])); return new ChainedScope(descriptor, "Member scope for union of package parts data", list.toArray(new MemberScope[list.size()]));
} }
@Nullable @Nullable
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.resolve.jvm
import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.load.java.structure.* import org.jetbrains.kotlin.load.java.structure.*
import org.jetbrains.kotlin.load.java.lazy.LazyJavaPackageFragmentProvider import org.jetbrains.kotlin.load.java.lazy.LazyJavaPackageFragmentProvider
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.load.java.sources.JavaSourceElement import org.jetbrains.kotlin.load.java.sources.JavaSourceElement
public var PLATFORM_TYPES: Boolean = true public var PLATFORM_TYPES: Boolean = true
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.name.FqNameUnsafe;
import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.resolve.DescriptorUtils; import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.constants.ConstantValue; import org.jetbrains.kotlin.resolve.constants.ConstantValue;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.serialization.deserialization.AdditionalSupertypes; import org.jetbrains.kotlin.serialization.deserialization.AdditionalSupertypes;
import org.jetbrains.kotlin.storage.LockBasedStorageManager; import org.jetbrains.kotlin.storage.LockBasedStorageManager;
import org.jetbrains.kotlin.types.*; import org.jetbrains.kotlin.types.*;
@@ -202,12 +202,12 @@ public abstract class KotlinBuiltIns {
} }
@NotNull @NotNull
public KtScope getBuiltInsPackageScope() { public MemberScope getBuiltInsPackageScope() {
return builtinsPackageFragment.getMemberScope(); return builtinsPackageFragment.getMemberScope();
} }
@NotNull @NotNull
public KtScope getAnnotationPackageScope() { public MemberScope getAnnotationPackageScope() {
return annotationPackageFragment.getMemberScope(); return annotationPackageFragment.getMemberScope();
} }
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.incremental.components.NoLookupLocation
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.serialization.deserialization.findClassAcrossModuleDependencies import org.jetbrains.kotlin.serialization.deserialization.findClassAcrossModuleDependencies
import org.jetbrains.kotlin.types.* import org.jetbrains.kotlin.types.*
import java.util.* import java.util.*
@@ -32,7 +32,7 @@ import java.util.*
val KOTLIN_REFLECT_FQ_NAME = FqName("kotlin.reflect") val KOTLIN_REFLECT_FQ_NAME = FqName("kotlin.reflect")
public class ReflectionTypes(private val module: ModuleDescriptor) { public class ReflectionTypes(private val module: ModuleDescriptor) {
private val kotlinReflectScope: KtScope by lazy { private val kotlinReflectScope: MemberScope by lazy {
module.getPackage(KOTLIN_REFLECT_FQ_NAME).memberScope module.getPackage(KOTLIN_REFLECT_FQ_NAME).memberScope
} }
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.OverridingUtil import org.jetbrains.kotlin.resolve.OverridingUtil
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.resolve.scopes.KtScopeImpl import org.jetbrains.kotlin.resolve.scopes.MemberScopeImpl
import org.jetbrains.kotlin.incremental.components.LookupLocation import org.jetbrains.kotlin.incremental.components.LookupLocation
import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.storage.StorageManager
import org.jetbrains.kotlin.utils.Printer import org.jetbrains.kotlin.utils.Printer
@@ -30,7 +30,7 @@ import java.util.ArrayList
class FunctionClassScope( class FunctionClassScope(
private val storageManager: StorageManager, private val storageManager: StorageManager,
private val functionClass: FunctionClassDescriptor private val functionClass: FunctionClassDescriptor
) : KtScopeImpl() { ) : MemberScopeImpl() {
private val allDescriptors = storageManager.createLazyValue { private val allDescriptors = storageManager.createLazyValue {
if (functionClass.functionKind == FunctionClassDescriptor.Kind.Function) { if (functionClass.functionKind == FunctionClassDescriptor.Kind.Function) {
val invoke = FunctionInvokeDescriptor.create(functionClass) val invoke = FunctionInvokeDescriptor.create(functionClass)
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.descriptors;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly; import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.types.KotlinType; import org.jetbrains.kotlin.types.KotlinType;
import org.jetbrains.kotlin.types.TypeProjection; import org.jetbrains.kotlin.types.TypeProjection;
import org.jetbrains.kotlin.types.TypeSubstitution; import org.jetbrains.kotlin.types.TypeSubstitution;
@@ -30,19 +30,19 @@ import java.util.List;
public interface ClassDescriptor extends ClassifierDescriptor, MemberDescriptor, ClassOrPackageFragmentDescriptor { public interface ClassDescriptor extends ClassifierDescriptor, MemberDescriptor, ClassOrPackageFragmentDescriptor {
@NotNull @NotNull
KtScope getMemberScope(@NotNull List<? extends TypeProjection> typeArguments); MemberScope getMemberScope(@NotNull List<? extends TypeProjection> typeArguments);
@NotNull @NotNull
KtScope getMemberScope(@NotNull TypeSubstitution typeSubstitution); MemberScope getMemberScope(@NotNull TypeSubstitution typeSubstitution);
@NotNull @NotNull
KtScope getUnsubstitutedMemberScope(); MemberScope getUnsubstitutedMemberScope();
@NotNull @NotNull
KtScope getUnsubstitutedInnerClassesScope(); MemberScope getUnsubstitutedInnerClassesScope();
@NotNull @NotNull
KtScope getStaticScope(); MemberScope getStaticScope();
@NotNull @NotNull
@ReadOnly @ReadOnly
@@ -17,7 +17,7 @@
package org.jetbrains.kotlin.descriptors package org.jetbrains.kotlin.descriptors
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
public interface PackageFragmentDescriptor : ClassOrPackageFragmentDescriptor { public interface PackageFragmentDescriptor : ClassOrPackageFragmentDescriptor {
@@ -25,5 +25,5 @@ public interface PackageFragmentDescriptor : ClassOrPackageFragmentDescriptor {
public val fqName: FqName public val fqName: FqName
public fun getMemberScope(): KtScope public fun getMemberScope(): MemberScope
} }
@@ -17,14 +17,14 @@
package org.jetbrains.kotlin.descriptors package org.jetbrains.kotlin.descriptors
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
public interface PackageViewDescriptor : DeclarationDescriptor { public interface PackageViewDescriptor : DeclarationDescriptor {
override fun getContainingDeclaration(): PackageViewDescriptor? override fun getContainingDeclaration(): PackageViewDescriptor?
public val fqName: FqName public val fqName: FqName
public val memberScope: KtScope public val memberScope: MemberScope
public val module: ModuleDescriptor public val module: ModuleDescriptor
@@ -21,7 +21,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.descriptors.*; import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.resolve.scopes.InnerClassesScopeWrapper; import org.jetbrains.kotlin.resolve.scopes.InnerClassesScopeWrapper;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.resolve.scopes.SubstitutingScope; import org.jetbrains.kotlin.resolve.scopes.SubstitutingScope;
import org.jetbrains.kotlin.storage.NotNullLazyValue; import org.jetbrains.kotlin.storage.NotNullLazyValue;
import org.jetbrains.kotlin.storage.StorageManager; import org.jetbrains.kotlin.storage.StorageManager;
@@ -32,7 +32,7 @@ import java.util.List;
public abstract class AbstractClassDescriptor implements ClassDescriptor { public abstract class AbstractClassDescriptor implements ClassDescriptor {
private final Name name; private final Name name;
protected final NotNullLazyValue<KotlinType> defaultType; protected final NotNullLazyValue<KotlinType> defaultType;
private final NotNullLazyValue<KtScope> unsubstitutedInnerClassesScope; private final NotNullLazyValue<MemberScope> unsubstitutedInnerClassesScope;
private final NotNullLazyValue<ReceiverParameterDescriptor> thisAsReceiverParameter; private final NotNullLazyValue<ReceiverParameterDescriptor> thisAsReceiverParameter;
public AbstractClassDescriptor(@NotNull StorageManager storageManager, @NotNull Name name) { public AbstractClassDescriptor(@NotNull StorageManager storageManager, @NotNull Name name) {
@@ -43,9 +43,9 @@ public abstract class AbstractClassDescriptor implements ClassDescriptor {
return TypeUtils.makeUnsubstitutedType(AbstractClassDescriptor.this, getUnsubstitutedMemberScope()); return TypeUtils.makeUnsubstitutedType(AbstractClassDescriptor.this, getUnsubstitutedMemberScope());
} }
}); });
this.unsubstitutedInnerClassesScope = storageManager.createLazyValue(new Function0<KtScope>() { this.unsubstitutedInnerClassesScope = storageManager.createLazyValue(new Function0<MemberScope>() {
@Override @Override
public KtScope invoke() { public MemberScope invoke() {
return new InnerClassesScopeWrapper(getUnsubstitutedMemberScope()); return new InnerClassesScopeWrapper(getUnsubstitutedMemberScope());
} }
}); });
@@ -71,7 +71,7 @@ public abstract class AbstractClassDescriptor implements ClassDescriptor {
@NotNull @NotNull
@Override @Override
public KtScope getUnsubstitutedInnerClassesScope() { public MemberScope getUnsubstitutedInnerClassesScope() {
return unsubstitutedInnerClassesScope.invoke(); return unsubstitutedInnerClassesScope.invoke();
} }
@@ -83,7 +83,7 @@ public abstract class AbstractClassDescriptor implements ClassDescriptor {
@NotNull @NotNull
@Override @Override
public KtScope getMemberScope(@NotNull List<? extends TypeProjection> typeArguments) { public MemberScope getMemberScope(@NotNull List<? extends TypeProjection> typeArguments) {
assert typeArguments.size() == getTypeConstructor().getParameters().size() : "Illegal number of type arguments: expected " assert typeArguments.size() == getTypeConstructor().getParameters().size() : "Illegal number of type arguments: expected "
+ getTypeConstructor().getParameters().size() + " but was " + typeArguments.size() + getTypeConstructor().getParameters().size() + " but was " + typeArguments.size()
+ " for " + getTypeConstructor() + " " + getTypeConstructor().getParameters(); + " for " + getTypeConstructor() + " " + getTypeConstructor().getParameters();
@@ -95,7 +95,7 @@ public abstract class AbstractClassDescriptor implements ClassDescriptor {
@NotNull @NotNull
@Override @Override
public KtScope getMemberScope(@NotNull TypeSubstitution typeSubstitution) { public MemberScope getMemberScope(@NotNull TypeSubstitution typeSubstitution) {
if (typeSubstitution.isEmpty()) return getUnsubstitutedMemberScope(); if (typeSubstitution.isEmpty()) return getUnsubstitutedMemberScope();
TypeSubstitutor substitutor = TypeSubstitutor.create(typeSubstitution); TypeSubstitutor substitutor = TypeSubstitutor.create(typeSubstitution);
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.descriptors.annotations.Annotations;
import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.resolve.scopes.ChainedScope; import org.jetbrains.kotlin.resolve.scopes.ChainedScope;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.resolve.scopes.LazyScopeAdapter; import org.jetbrains.kotlin.resolve.scopes.LazyScopeAdapter;
import org.jetbrains.kotlin.storage.NotNullLazyValue; import org.jetbrains.kotlin.storage.NotNullLazyValue;
import org.jetbrains.kotlin.storage.StorageManager; import org.jetbrains.kotlin.storage.StorageManager;
@@ -76,17 +76,17 @@ public abstract class AbstractTypeParameterDescriptor extends DeclarationDescrip
Annotations.Companion.getEMPTY(), Annotations.Companion.getEMPTY(),
getTypeConstructor(), false, Collections.<TypeProjection>emptyList(), getTypeConstructor(), false, Collections.<TypeProjection>emptyList(),
new LazyScopeAdapter(storageManager.createLazyValue( new LazyScopeAdapter(storageManager.createLazyValue(
new Function0<KtScope>() { new Function0<MemberScope>() {
@Override @Override
public KtScope invoke() { public MemberScope invoke() {
List<KtScope> scopes = new ArrayList<KtScope>(); List<MemberScope> scopes = new ArrayList<MemberScope>();
for (KotlinType bound : getUpperBounds()) { for (KotlinType bound : getUpperBounds()) {
scopes.add(bound.getMemberScope()); scopes.add(bound.getMemberScope());
} }
return new ChainedScope( return new ChainedScope(
AbstractTypeParameterDescriptor.this, AbstractTypeParameterDescriptor.this,
"Scope for type parameter " + name.asString(), "Scope for type parameter " + name.asString(),
scopes.toArray(new KtScope[scopes.size()]) scopes.toArray(new MemberScope[scopes.size()])
); );
} }
} }
@@ -21,7 +21,7 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.descriptors.*; import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.descriptors.annotations.Annotations;
import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.resolve.scopes.StaticScopeForKotlinClass; import org.jetbrains.kotlin.resolve.scopes.StaticScopeForKotlinClass;
import org.jetbrains.kotlin.storage.LockBasedStorageManager; import org.jetbrains.kotlin.storage.LockBasedStorageManager;
import org.jetbrains.kotlin.types.KotlinType; import org.jetbrains.kotlin.types.KotlinType;
@@ -35,9 +35,9 @@ import java.util.Set;
public class ClassDescriptorImpl extends ClassDescriptorBase { public class ClassDescriptorImpl extends ClassDescriptorBase {
private final Modality modality; private final Modality modality;
private final TypeConstructor typeConstructor; private final TypeConstructor typeConstructor;
private final KtScope staticScope = new StaticScopeForKotlinClass(this); private final MemberScope staticScope = new StaticScopeForKotlinClass(this);
private KtScope unsubstitutedMemberScope; private MemberScope unsubstitutedMemberScope;
private Set<ConstructorDescriptor> constructors; private Set<ConstructorDescriptor> constructors;
private ConstructorDescriptor primaryConstructor; private ConstructorDescriptor primaryConstructor;
@@ -56,7 +56,7 @@ public class ClassDescriptorImpl extends ClassDescriptorBase {
} }
public final void initialize( public final void initialize(
@NotNull KtScope unsubstitutedMemberScope, @NotNull MemberScope unsubstitutedMemberScope,
@NotNull Set<ConstructorDescriptor> constructors, @NotNull Set<ConstructorDescriptor> constructors,
@Nullable ConstructorDescriptor primaryConstructor @Nullable ConstructorDescriptor primaryConstructor
) { ) {
@@ -89,13 +89,13 @@ public class ClassDescriptorImpl extends ClassDescriptorBase {
@NotNull @NotNull
@Override @Override
public KtScope getUnsubstitutedMemberScope() { public MemberScope getUnsubstitutedMemberScope() {
return unsubstitutedMemberScope; return unsubstitutedMemberScope;
} }
@NotNull @NotNull
@Override @Override
public KtScope getStaticScope() { public MemberScope getStaticScope() {
return staticScope; return staticScope;
} }
@@ -28,8 +28,8 @@ import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.resolve.DescriptorFactory; import org.jetbrains.kotlin.resolve.DescriptorFactory;
import org.jetbrains.kotlin.resolve.OverridingUtil; import org.jetbrains.kotlin.resolve.OverridingUtil;
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter; import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.resolve.scopes.KtScopeImpl; import org.jetbrains.kotlin.resolve.scopes.MemberScopeImpl;
import org.jetbrains.kotlin.resolve.scopes.StaticScopeForKotlinClass; import org.jetbrains.kotlin.resolve.scopes.StaticScopeForKotlinClass;
import org.jetbrains.kotlin.storage.MemoizedFunctionToNotNull; import org.jetbrains.kotlin.storage.MemoizedFunctionToNotNull;
import org.jetbrains.kotlin.storage.NotNullLazyValue; import org.jetbrains.kotlin.storage.NotNullLazyValue;
@@ -47,8 +47,8 @@ import java.util.Set;
public class EnumEntrySyntheticClassDescriptor extends ClassDescriptorBase { public class EnumEntrySyntheticClassDescriptor extends ClassDescriptorBase {
private final TypeConstructor typeConstructor; private final TypeConstructor typeConstructor;
private final ConstructorDescriptor primaryConstructor; private final ConstructorDescriptor primaryConstructor;
private final KtScope scope; private final MemberScope scope;
private final KtScope staticScope = new StaticScopeForKotlinClass(this); private final MemberScope staticScope = new StaticScopeForKotlinClass(this);
private final NotNullLazyValue<Collection<Name>> enumMemberNames; private final NotNullLazyValue<Collection<Name>> enumMemberNames;
/** /**
@@ -93,13 +93,13 @@ public class EnumEntrySyntheticClassDescriptor extends ClassDescriptorBase {
@NotNull @NotNull
@Override @Override
public KtScope getUnsubstitutedMemberScope() { public MemberScope getUnsubstitutedMemberScope() {
return scope; return scope;
} }
@NotNull @NotNull
@Override @Override
public KtScope getStaticScope() { public MemberScope getStaticScope() {
return staticScope; return staticScope;
} }
@@ -172,7 +172,7 @@ public class EnumEntrySyntheticClassDescriptor extends ClassDescriptorBase {
return "enum entry " + getName(); return "enum entry " + getName();
} }
private class EnumEntryScope extends KtScopeImpl { private class EnumEntryScope extends MemberScopeImpl {
private final MemoizedFunctionToNotNull<Name, Collection<FunctionDescriptor>> functions; private final MemoizedFunctionToNotNull<Name, Collection<FunctionDescriptor>> functions;
private final MemoizedFunctionToNotNull<Name, Collection<PropertyDescriptor>> properties; private final MemoizedFunctionToNotNull<Name, Collection<PropertyDescriptor>> properties;
private final NotNullLazyValue<Collection<DeclarationDescriptor>> allDescriptors; private final NotNullLazyValue<Collection<DeclarationDescriptor>> allDescriptors;
@@ -223,7 +223,7 @@ public class EnumEntrySyntheticClassDescriptor extends ClassDescriptorBase {
} }
@NotNull @NotNull
private KtScope getSupertypeScope() { private MemberScope getSupertypeScope() {
Collection<KotlinType> supertype = getTypeConstructor().getSupertypes(); Collection<KotlinType> supertype = getTypeConstructor().getSupertypes();
assert supertype.size() == 1 : "Enum entry and its companion object both should have exactly one supertype: " + supertype; assert supertype.size() == 1 : "Enum entry and its companion object both should have exactly one supertype: " + supertype;
return supertype.iterator().next().getMemberScope(); return supertype.iterator().next().getMemberScope();
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.descriptors.PackageViewDescriptor
import org.jetbrains.kotlin.descriptors.annotations.Annotations import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.resolve.scopes.ChainedScope import org.jetbrains.kotlin.resolve.scopes.ChainedScope
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.resolve.scopes.LazyScopeAdapter import org.jetbrains.kotlin.resolve.scopes.LazyScopeAdapter
import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.storage.StorageManager
import org.jetbrains.kotlin.storage.getValue import org.jetbrains.kotlin.storage.getValue
@@ -39,9 +39,9 @@ public class LazyPackageViewDescriptorImpl(
module.packageFragmentProvider.getPackageFragments(fqName) module.packageFragmentProvider.getPackageFragments(fqName)
} }
override val memberScope: KtScope = LazyScopeAdapter(storageManager.createLazyValue { override val memberScope: MemberScope = LazyScopeAdapter(storageManager.createLazyValue {
if (fragments.isEmpty()) { if (fragments.isEmpty()) {
KtScope.empty(this) MemberScope.empty(this)
} }
else { else {
val scopes = fragments.map { it.getMemberScope() } + SubpackagesScope(module, fqName) val scopes = fragments.map { it.getMemberScope() } + SubpackagesScope(module, fqName)
@@ -21,7 +21,7 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.descriptors.*; import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.descriptors.annotations.Annotations;
import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.resolve.scopes.SubstitutingScope; import org.jetbrains.kotlin.resolve.scopes.SubstitutingScope;
import org.jetbrains.kotlin.types.*; import org.jetbrains.kotlin.types.*;
@@ -89,8 +89,8 @@ public class LazySubstitutingClassDescriptor implements ClassDescriptor {
@NotNull @NotNull
@Override @Override
public KtScope getMemberScope(@NotNull List<? extends TypeProjection> typeArguments) { public MemberScope getMemberScope(@NotNull List<? extends TypeProjection> typeArguments) {
KtScope memberScope = original.getMemberScope(typeArguments); MemberScope memberScope = original.getMemberScope(typeArguments);
if (originalSubstitutor.isEmpty()) { if (originalSubstitutor.isEmpty()) {
return memberScope; return memberScope;
} }
@@ -99,8 +99,8 @@ public class LazySubstitutingClassDescriptor implements ClassDescriptor {
@NotNull @NotNull
@Override @Override
public KtScope getMemberScope(@NotNull TypeSubstitution typeSubstitution) { public MemberScope getMemberScope(@NotNull TypeSubstitution typeSubstitution) {
KtScope memberScope = original.getMemberScope(typeSubstitution); MemberScope memberScope = original.getMemberScope(typeSubstitution);
if (originalSubstitutor.isEmpty()) { if (originalSubstitutor.isEmpty()) {
return memberScope; return memberScope;
} }
@@ -109,8 +109,8 @@ public class LazySubstitutingClassDescriptor implements ClassDescriptor {
@NotNull @NotNull
@Override @Override
public KtScope getUnsubstitutedMemberScope() { public MemberScope getUnsubstitutedMemberScope() {
KtScope memberScope = original.getUnsubstitutedMemberScope(); MemberScope memberScope = original.getUnsubstitutedMemberScope();
if (originalSubstitutor.isEmpty()) { if (originalSubstitutor.isEmpty()) {
return memberScope; return memberScope;
} }
@@ -119,7 +119,7 @@ public class LazySubstitutingClassDescriptor implements ClassDescriptor {
@NotNull @NotNull
@Override @Override
public KtScope getStaticScope() { public MemberScope getStaticScope() {
return original.getStaticScope(); return original.getStaticScope();
} }
@@ -233,7 +233,7 @@ public class LazySubstitutingClassDescriptor implements ClassDescriptor {
@NotNull @NotNull
@Override @Override
public KtScope getUnsubstitutedInnerClassesScope() { public MemberScope getUnsubstitutedInnerClassesScope() {
return original.getUnsubstitutedInnerClassesScope(); return original.getUnsubstitutedInnerClassesScope();
} }
@@ -23,13 +23,13 @@ import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindExclude import org.jetbrains.kotlin.resolve.scopes.DescriptorKindExclude
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.resolve.scopes.KtScopeImpl import org.jetbrains.kotlin.resolve.scopes.MemberScopeImpl
import org.jetbrains.kotlin.utils.Printer import org.jetbrains.kotlin.utils.Printer
import org.jetbrains.kotlin.utils.addIfNotNull import org.jetbrains.kotlin.utils.addIfNotNull
import org.jetbrains.kotlin.utils.sure import org.jetbrains.kotlin.utils.sure
import java.util.ArrayList import java.util.ArrayList
public class SubpackagesScope(private val moduleDescriptor: ModuleDescriptor, private val fqName: FqName) : KtScopeImpl() { public class SubpackagesScope(private val moduleDescriptor: ModuleDescriptor, private val fqName: FqName) : MemberScopeImpl() {
override fun getContainingDeclaration(): DeclarationDescriptor { override fun getContainingDeclaration(): DeclarationDescriptor {
return moduleDescriptor.getPackage(fqName) return moduleDescriptor.getPackage(fqName)
} }
@@ -24,9 +24,9 @@ import org.jetbrains.kotlin.incremental.components.NoLookupLocation
import org.jetbrains.kotlin.incremental.components.ScopeKind import org.jetbrains.kotlin.incremental.components.ScopeKind
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameUnsafe import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameUnsafe
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
public fun LookupTracker.record(from: LookupLocation, inScope: KtScope, name: Name) { public fun LookupTracker.record(from: LookupLocation, inScope: MemberScope, name: Name) {
if (this == LookupTracker.DO_NOTHING || from is NoLookupLocation) return if (this == LookupTracker.DO_NOTHING || from is NoLookupLocation) return
val location = from.location ?: return val location = from.location ?: return
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.name.SpecialNames;
import org.jetbrains.kotlin.resolve.constants.ConstantValue; import org.jetbrains.kotlin.resolve.constants.ConstantValue;
import org.jetbrains.kotlin.resolve.constants.StringValue; import org.jetbrains.kotlin.resolve.constants.StringValue;
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter; import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.types.ErrorUtils; import org.jetbrains.kotlin.types.ErrorUtils;
import org.jetbrains.kotlin.types.KotlinType; import org.jetbrains.kotlin.types.KotlinType;
import org.jetbrains.kotlin.types.LazyType; import org.jetbrains.kotlin.types.LazyType;
@@ -550,7 +550,7 @@ public class DescriptorUtils {
} }
@NotNull @NotNull
public static Collection<DeclarationDescriptor> getAllDescriptors(@NotNull KtScope scope) { public static Collection<DeclarationDescriptor> getAllDescriptors(@NotNull MemberScope scope) {
return scope.getDescriptors(DescriptorKindFilter.ALL, KtScope.Companion.getALL_NAME_FILTER()); return scope.getDescriptors(DescriptorKindFilter.ALL, MemberScope.Companion.getALL_NAME_FILTER());
} }
} }
@@ -24,10 +24,10 @@ import org.jetbrains.kotlin.utils.Printer
/** /**
* Introduces a simple wrapper for internal scope. * Introduces a simple wrapper for internal scope.
*/ */
public abstract class AbstractScopeAdapter : KtScope { public abstract class AbstractScopeAdapter : MemberScope {
protected abstract val workerScope: KtScope protected abstract val workerScope: MemberScope
public fun getActualScope(): KtScope = public fun getActualScope(): MemberScope =
if (workerScope is AbstractScopeAdapter) if (workerScope is AbstractScopeAdapter)
(workerScope as AbstractScopeAdapter).getActualScope() (workerScope as AbstractScopeAdapter).getActualScope()
else else
@@ -26,8 +26,8 @@ import org.jetbrains.kotlin.utils.Printer
public open class ChainedScope( public open class ChainedScope(
private val containingDeclaration: DeclarationDescriptor?/* it's nullable as a hack for TypeUtils.intersect() */, private val containingDeclaration: DeclarationDescriptor?/* it's nullable as a hack for TypeUtils.intersect() */,
private val debugName: String, private val debugName: String,
vararg scopes: KtScope vararg scopes: MemberScope
) : KtScope { ) : MemberScope {
private val scopeChain = scopes.clone() private val scopeChain = scopes.clone()
override fun getClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? override fun getClassifier(name: Name, location: LookupLocation): ClassifierDescriptor?
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.incremental.components.LookupLocation
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.utils.Printer import org.jetbrains.kotlin.utils.Printer
public class InnerClassesScopeWrapper(val workerScope: KtScope) : KtScopeImpl() { public class InnerClassesScopeWrapper(val workerScope: MemberScope) : MemberScopeImpl() {
override fun getContainingDeclaration(): DeclarationDescriptor { override fun getContainingDeclaration(): DeclarationDescriptor {
return workerScope.getContainingDeclaration() return workerScope.getContainingDeclaration()
} }
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.resolve.scopes
import org.jetbrains.kotlin.storage.NotNullLazyValue import org.jetbrains.kotlin.storage.NotNullLazyValue
public class LazyScopeAdapter(private val scope: NotNullLazyValue<KtScope>) : AbstractScopeAdapter() { public class LazyScopeAdapter(private val scope: NotNullLazyValue<MemberScope>) : AbstractScopeAdapter() {
override val workerScope: KtScope override val workerScope: MemberScope
get() = scope() get() = scope()
} }
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.utils.Printer
import org.jetbrains.kotlin.utils.toReadOnlyList import org.jetbrains.kotlin.utils.toReadOnlyList
import java.lang.reflect.Modifier import java.lang.reflect.Modifier
public interface KtScope { public interface MemberScope {
public fun getClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? public fun getClassifier(name: Name, location: LookupLocation): ClassifierDescriptor?
@@ -51,8 +51,8 @@ public interface KtScope {
public fun printScopeStructure(p: Printer) public fun printScopeStructure(p: Printer)
companion object { companion object {
public fun empty(ownerDescriptor: DeclarationDescriptor): KtScope { public fun empty(ownerDescriptor: DeclarationDescriptor): MemberScope {
return object : KtScopeImpl() { return object : MemberScopeImpl() {
override fun getContainingDeclaration() = ownerDescriptor override fun getContainingDeclaration() = ownerDescriptor
override fun toString() = "Empty scope with owner: $ownerDescriptor" override fun toString() = "Empty scope with owner: $ownerDescriptor"
@@ -70,7 +70,7 @@ public interface KtScope {
/** /**
* The same as getDescriptors(kindFilter, nameFilter) but the result is guaranteed to be filtered by kind and name. * The same as getDescriptors(kindFilter, nameFilter) but the result is guaranteed to be filtered by kind and name.
*/ */
public fun KtScope.getDescriptorsFiltered( public fun MemberScope.getDescriptorsFiltered(
kindFilter: DescriptorKindFilter = DescriptorKindFilter.ALL, kindFilter: DescriptorKindFilter = DescriptorKindFilter.ALL,
nameFilter: (Name) -> Boolean = { true } nameFilter: (Name) -> Boolean = { true }
): Collection<DeclarationDescriptor> { ): Collection<DeclarationDescriptor> {
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.incremental.components.LookupLocation
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.utils.Printer import org.jetbrains.kotlin.utils.Printer
abstract class KtScopeImpl : KtScope { abstract class MemberScopeImpl : MemberScope {
override fun getClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? = null override fun getClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? = null
override fun getProperties(name: Name, location: LookupLocation): Collection<PropertyDescriptor> = emptyList() override fun getProperties(name: Name, location: LookupLocation): Collection<PropertyDescriptor> = emptyList()
@@ -29,7 +29,7 @@ import java.util.*
// We don't need to track lookups here since this scope used only for introduce special Enum class members // We don't need to track lookups here since this scope used only for introduce special Enum class members
public class StaticScopeForKotlinClass( public class StaticScopeForKotlinClass(
private val containingClass: ClassDescriptor private val containingClass: ClassDescriptor
) : KtScopeImpl() { ) : MemberScopeImpl() {
override fun getClassifier(name: Name, location: LookupLocation) = null // TODO override fun getClassifier(name: Name, location: LookupLocation) = null // TODO
private val functions: List<FunctionDescriptor> by lazy { private val functions: List<FunctionDescriptor> by lazy {
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.utils.Printer
import org.jetbrains.kotlin.utils.newHashSetWithExpectedSize import org.jetbrains.kotlin.utils.newHashSetWithExpectedSize
import java.util.* import java.util.*
public class SubstitutingScope(private val workerScope: KtScope, private val substitutor: TypeSubstitutor) : KtScope { public class SubstitutingScope(private val workerScope: MemberScope, private val substitutor: TypeSubstitutor) : MemberScope {
private var substitutedDescriptors: MutableMap<DeclarationDescriptor, DeclarationDescriptor?>? = null private var substitutedDescriptors: MutableMap<DeclarationDescriptor, DeclarationDescriptor?>? = null
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.types
import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.storage.StorageManager
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.descriptors.annotations.Annotations import org.jetbrains.kotlin.descriptors.annotations.Annotations
public abstract class AbstractLazyType(storageManager: StorageManager) : AbstractKotlinType(), LazyType { public abstract class AbstractLazyType(storageManager: StorageManager) : AbstractKotlinType(), LazyType {
@@ -41,7 +41,7 @@ public abstract class AbstractLazyType(storageManager: StorageManager) : Abstrac
private val memberScope = storageManager.createLazyValue { computeMemberScope() } private val memberScope = storageManager.createLazyValue { computeMemberScope() }
override fun getMemberScope() = memberScope() override fun getMemberScope() = memberScope()
protected open fun computeMemberScope(): KtScope { protected open fun computeMemberScope(): MemberScope {
val descriptor = constructor.getDeclarationDescriptor() val descriptor = constructor.getDeclarationDescriptor()
return when (descriptor) { return when (descriptor) {
is TypeParameterDescriptor -> descriptor.getDefaultType().getMemberScope() is TypeParameterDescriptor -> descriptor.getDefaultType().getMemberScope()
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.types;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.descriptors.annotations.Annotations;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker; import org.jetbrains.kotlin.types.checker.KotlinTypeChecker;
import java.util.List; import java.util.List;
@@ -52,7 +52,7 @@ public abstract class DelegatingType implements KotlinType {
@NotNull @NotNull
@Override @Override
public KtScope getMemberScope() { public MemberScope getMemberScope() {
return getDelegate().getMemberScope(); return getDelegate().getMemberScope();
} }
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap;
import org.jetbrains.kotlin.resolve.ImportPath; import org.jetbrains.kotlin.resolve.ImportPath;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt; import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter; import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.types.error.ErrorSimpleFunctionDescriptorImpl; import org.jetbrains.kotlin.types.error.ErrorSimpleFunctionDescriptorImpl;
import org.jetbrains.kotlin.utils.Printer; import org.jetbrains.kotlin.utils.Printer;
@@ -160,7 +160,7 @@ public class ErrorUtils {
return false; return false;
} }
public static class ErrorScope implements KtScope { public static class ErrorScope implements MemberScope {
private final String debugMessage; private final String debugMessage;
private ErrorScope(@NotNull String debugMessage) { private ErrorScope(@NotNull String debugMessage) {
@@ -215,7 +215,7 @@ public class ErrorUtils {
} }
} }
private static class ThrowingScope implements KtScope { private static class ThrowingScope implements MemberScope {
private final String debugMessage; private final String debugMessage;
private ThrowingScope(@NotNull String message) { private ThrowingScope(@NotNull String message) {
@@ -281,7 +281,7 @@ public class ErrorUtils {
ConstructorDescriptorImpl errorConstructor = ConstructorDescriptorImpl.create(this, Annotations.Companion.getEMPTY(), true, SourceElement.NO_SOURCE); ConstructorDescriptorImpl errorConstructor = ConstructorDescriptorImpl.create(this, Annotations.Companion.getEMPTY(), true, SourceElement.NO_SOURCE);
errorConstructor.initialize(Collections.<TypeParameterDescriptor>emptyList(), Collections.<ValueParameterDescriptor>emptyList(), errorConstructor.initialize(Collections.<TypeParameterDescriptor>emptyList(), Collections.<ValueParameterDescriptor>emptyList(),
Visibilities.INTERNAL); Visibilities.INTERNAL);
KtScope memberScope = createErrorScope(getName().asString()); MemberScope memberScope = createErrorScope(getName().asString());
errorConstructor.setReturnType( errorConstructor.setReturnType(
new ErrorTypeImpl( new ErrorTypeImpl(
createErrorTypeConstructorWithCustomDebugName("<ERROR>", this), createErrorTypeConstructorWithCustomDebugName("<ERROR>", this),
@@ -305,13 +305,13 @@ public class ErrorUtils {
@NotNull @NotNull
@Override @Override
public KtScope getMemberScope(@NotNull List<? extends TypeProjection> typeArguments) { public MemberScope getMemberScope(@NotNull List<? extends TypeProjection> typeArguments) {
return createErrorScope("Error scope for class " + getName() + " with arguments: " + typeArguments); return createErrorScope("Error scope for class " + getName() + " with arguments: " + typeArguments);
} }
@NotNull @NotNull
@Override @Override
public KtScope getMemberScope(@NotNull TypeSubstitution typeSubstitution) { public MemberScope getMemberScope(@NotNull TypeSubstitution typeSubstitution) {
return createErrorScope("Error scope for class " + getName() + " with arguments: " + typeSubstitution); return createErrorScope("Error scope for class " + getName() + " with arguments: " + typeSubstitution);
} }
} }
@@ -322,12 +322,12 @@ public class ErrorUtils {
} }
@NotNull @NotNull
public static KtScope createErrorScope(@NotNull String debugMessage) { public static MemberScope createErrorScope(@NotNull String debugMessage) {
return createErrorScope(debugMessage, false); return createErrorScope(debugMessage, false);
} }
@NotNull @NotNull
public static KtScope createErrorScope(@NotNull String debugMessage, boolean throwExceptions) { public static MemberScope createErrorScope(@NotNull String debugMessage, boolean throwExceptions) {
if (throwExceptions) { if (throwExceptions) {
return new ThrowingScope(debugMessage); return new ThrowingScope(debugMessage);
} }
@@ -490,12 +490,12 @@ public class ErrorUtils {
private static class ErrorTypeImpl implements KotlinType { private static class ErrorTypeImpl implements KotlinType {
private final TypeConstructor constructor; private final TypeConstructor constructor;
private final KtScope memberScope; private final MemberScope memberScope;
private final List<TypeProjection> arguments; private final List<TypeProjection> arguments;
private ErrorTypeImpl( private ErrorTypeImpl(
@NotNull TypeConstructor constructor, @NotNull TypeConstructor constructor,
@NotNull KtScope memberScope, @NotNull MemberScope memberScope,
@NotNull List<TypeProjection> arguments @NotNull List<TypeProjection> arguments
) { ) {
this.constructor = constructor; this.constructor = constructor;
@@ -503,7 +503,7 @@ public class ErrorUtils {
this.arguments = arguments; this.arguments = arguments;
} }
private ErrorTypeImpl(@NotNull TypeConstructor constructor, @NotNull KtScope memberScope) { private ErrorTypeImpl(@NotNull TypeConstructor constructor, @NotNull MemberScope memberScope) {
this(constructor, memberScope, Collections.<TypeProjection>emptyList()); this(constructor, memberScope, Collections.<TypeProjection>emptyList());
} }
@@ -532,7 +532,7 @@ public class ErrorUtils {
@NotNull @NotNull
@Override @Override
public KtScope getMemberScope() { public MemberScope getMemberScope() {
return memberScope; return memberScope;
} }
@@ -20,7 +20,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly; import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.kotlin.descriptors.annotations.Annotated; import org.jetbrains.kotlin.descriptors.annotations.Annotated;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker; import org.jetbrains.kotlin.types.checker.KotlinTypeChecker;
import java.util.List; import java.util.List;
@@ -42,7 +42,7 @@ public interface KotlinType extends Annotated {
boolean isMarkedNullable(); boolean isMarkedNullable();
@NotNull @NotNull
KtScope getMemberScope(); MemberScope getMemberScope();
boolean isError(); boolean isError();
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.types
import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.annotations.Annotations import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
public open class KotlinTypeImpl public open class KotlinTypeImpl
private constructor( private constructor(
@@ -27,7 +27,7 @@ private constructor(
private val nullable: Boolean, private val nullable: Boolean,
private val arguments: List<TypeProjection>, private val arguments: List<TypeProjection>,
private val substitution: TypeSubstitution?, private val substitution: TypeSubstitution?,
private val memberScope: KtScope private val memberScope: MemberScope
) : AbstractKotlinType() { ) : AbstractKotlinType() {
companion object { companion object {
@@ -36,7 +36,7 @@ private constructor(
constructor: TypeConstructor, constructor: TypeConstructor,
nullable: Boolean, nullable: Boolean,
arguments: List<TypeProjection>, arguments: List<TypeProjection>,
memberScope: KtScope): KotlinTypeImpl memberScope: MemberScope): KotlinTypeImpl
= KotlinTypeImpl(annotations, constructor, nullable, arguments, null, memberScope) = KotlinTypeImpl(annotations, constructor, nullable, arguments, null, memberScope)
@@ -46,7 +46,7 @@ private constructor(
nullable: Boolean, nullable: Boolean,
arguments: List<TypeProjection>, arguments: List<TypeProjection>,
substitution: TypeSubstitution, substitution: TypeSubstitution,
memberScope: KtScope, memberScope: MemberScope,
capabilities: TypeCapabilities capabilities: TypeCapabilities
): KotlinTypeImpl { ): KotlinTypeImpl {
if (capabilities !== TypeCapabilities.NONE) { if (capabilities !== TypeCapabilities.NONE) {
@@ -72,7 +72,7 @@ private constructor(
nullable: Boolean, nullable: Boolean,
arguments: List<TypeProjection>, arguments: List<TypeProjection>,
substitution: TypeSubstitution?, substitution: TypeSubstitution?,
memberScope: KtScope, memberScope: MemberScope,
private val typeCapabilities: TypeCapabilities private val typeCapabilities: TypeCapabilities
) : KotlinTypeImpl(annotations, constructor, nullable, arguments, substitution, memberScope) { ) : KotlinTypeImpl(annotations, constructor, nullable, arguments, substitution, memberScope) {
override fun getCapabilities(): TypeCapabilities = typeCapabilities override fun getCapabilities(): TypeCapabilities = typeCapabilities
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor; import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.descriptors.annotations.Annotations;
import org.jetbrains.kotlin.resolve.constants.IntegerValueTypeConstructor; import org.jetbrains.kotlin.resolve.constants.IntegerValueTypeConstructor;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker; import org.jetbrains.kotlin.types.checker.KotlinTypeChecker;
import java.util.*; import java.util.*;
@@ -67,7 +67,7 @@ public class TypeUtils {
@NotNull @NotNull
@Override @Override
public KtScope getMemberScope() { public MemberScope getMemberScope() {
throw new IllegalStateException(name); throw new IllegalStateException(name);
} }
@@ -232,7 +232,7 @@ public class TypeUtils {
} }
@NotNull @NotNull
public static KotlinType makeUnsubstitutedType(ClassDescriptor classDescriptor, KtScope unsubstitutedMemberScope) { public static KotlinType makeUnsubstitutedType(ClassDescriptor classDescriptor, MemberScope unsubstitutedMemberScope) {
if (ErrorUtils.isError(classDescriptor)) { if (ErrorUtils.isError(classDescriptor)) {
return ErrorUtils.createErrorType("Unsubstituted type for " + classDescriptor); return ErrorUtils.createErrorType("Unsubstituted type for " + classDescriptor);
} }
@@ -529,7 +529,7 @@ public class TypeUtils {
@Override @Override
@NotNull @NotNull
public KtScope getMemberScope() { public MemberScope getMemberScope() {
return delegate.getMemberScope(); return delegate.getMemberScope();
} }
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.DescriptorFactory import org.jetbrains.kotlin.resolve.DescriptorFactory
import org.jetbrains.kotlin.resolve.OverridingUtil import org.jetbrains.kotlin.resolve.OverridingUtil
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.resolve.scopes.StaticScopeForKotlinClass import org.jetbrains.kotlin.resolve.scopes.StaticScopeForKotlinClass
import org.jetbrains.kotlin.serialization.Flags import org.jetbrains.kotlin.serialization.Flags
import org.jetbrains.kotlin.serialization.ProtoBuf import org.jetbrains.kotlin.serialization.ProtoBuf
@@ -96,7 +96,7 @@ public class DeserializedClassDescriptor(
override fun getAnnotations() = annotations override fun getAnnotations() = annotations
override fun getUnsubstitutedMemberScope(): KtScope = memberScope override fun getUnsubstitutedMemberScope(): MemberScope = memberScope
override fun getStaticScope() = staticScope override fun getStaticScope() = staticScope
@@ -189,7 +189,7 @@ public class DeserializedClassDescriptor(
private inner class DeserializedClassMemberScope : DeserializedMemberScope(c, classProto.functionList, classProto.propertyList) { private inner class DeserializedClassMemberScope : DeserializedMemberScope(c, classProto.functionList, classProto.propertyList) {
private val classDescriptor: DeserializedClassDescriptor get() = this@DeserializedClassDescriptor private val classDescriptor: DeserializedClassDescriptor get() = this@DeserializedClassDescriptor
private val allDescriptors = c.storageManager.createLazyValue { private val allDescriptors = c.storageManager.createLazyValue {
computeDescriptors(DescriptorKindFilter.ALL, KtScope.ALL_NAME_FILTER, NoLookupLocation.WHEN_GET_ALL_DESCRIPTORS) computeDescriptors(DescriptorKindFilter.ALL, MemberScope.ALL_NAME_FILTER, NoLookupLocation.WHEN_GET_ALL_DESCRIPTORS)
} }
override fun getDescriptors(kindFilter: DescriptorKindFilter, override fun getDescriptors(kindFilter: DescriptorKindFilter,
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.incremental.components.LookupLocation
import org.jetbrains.kotlin.incremental.record import org.jetbrains.kotlin.incremental.record
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.resolve.scopes.KtScopeImpl import org.jetbrains.kotlin.resolve.scopes.MemberScopeImpl
import org.jetbrains.kotlin.serialization.ProtoBuf import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.DeserializationContext import org.jetbrains.kotlin.serialization.deserialization.DeserializationContext
import org.jetbrains.kotlin.serialization.deserialization.receiverType import org.jetbrains.kotlin.serialization.deserialization.receiverType
@@ -34,7 +34,7 @@ public abstract class DeserializedMemberScope protected constructor(
protected val c: DeserializationContext, protected val c: DeserializationContext,
functionList: Collection<ProtoBuf.Function>, functionList: Collection<ProtoBuf.Function>,
propertyList: Collection<ProtoBuf.Property> propertyList: Collection<ProtoBuf.Property>
) : KtScopeImpl() { ) : MemberScopeImpl() {
private data class ProtoKey(val name: Name, val isExtension: Boolean) private data class ProtoKey(val name: Name, val isExtension: Boolean)
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.platform.JavaToKotlinClassMap import org.jetbrains.kotlin.platform.JavaToKotlinClassMap
import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.serialization.deserialization.findClassAcrossModuleDependencies import org.jetbrains.kotlin.serialization.deserialization.findClassAcrossModuleDependencies
import kotlin.reflect.KCallable import kotlin.reflect.KCallable
import kotlin.reflect.KClass import kotlin.reflect.KClass
@@ -55,9 +55,9 @@ internal class KClassImpl<T : Any>(override val jClass: Class<T>) : KDeclaration
private val classId: ClassId get() = RuntimeTypeMapper.mapJvmClassToKotlinClassId(jClass) private val classId: ClassId get() = RuntimeTypeMapper.mapJvmClassToKotlinClassId(jClass)
internal val memberScope: KtScope get() = descriptor.defaultType.memberScope internal val memberScope: MemberScope get() = descriptor.defaultType.memberScope
internal val staticScope: KtScope get() = descriptor.staticScope internal val staticScope: MemberScope get() = descriptor.staticScope
override val members: Collection<KCallable<*>> override val members: Collection<KCallable<*>>
get() = getMembers(memberScope, declaredOnly = false, nonExtensions = true, extensions = true) get() = getMembers(memberScope, declaredOnly = false, nonExtensions = true, extensions = true)
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.load.java.structure.reflect.safeClassLoader
import org.jetbrains.kotlin.load.kotlin.reflect.RuntimeModuleData import org.jetbrains.kotlin.load.kotlin.reflect.RuntimeModuleData
import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.serialization.ProtoBuf import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.NameResolver import org.jetbrains.kotlin.serialization.deserialization.NameResolver
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf
@@ -53,7 +53,7 @@ internal abstract class KDeclarationContainerImpl : ClassBasedDeclarationContain
abstract fun getFunctions(name: Name): Collection<FunctionDescriptor> abstract fun getFunctions(name: Name): Collection<FunctionDescriptor>
fun getMembers(scope: KtScope, declaredOnly: Boolean, nonExtensions: Boolean, extensions: Boolean): Sequence<KCallable<*>> { fun getMembers(scope: MemberScope, declaredOnly: Boolean, nonExtensions: Boolean, extensions: Boolean): Sequence<KCallable<*>> {
val visitor = object : DeclarationDescriptorVisitorEmptyBodies<KCallable<*>?, Unit>() { val visitor = object : DeclarationDescriptorVisitorEmptyBodies<KCallable<*>?, Unit>() {
private fun skipCallable(descriptor: CallableMemberDescriptor): Boolean { private fun skipCallable(descriptor: CallableMemberDescriptor): Boolean {
if (declaredOnly && !descriptor.getKind().isReal()) return true if (declaredOnly && !descriptor.getKind().isReal()) return true
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.incremental.components.NoLookupLocation import org.jetbrains.kotlin.incremental.components.NoLookupLocation
import org.jetbrains.kotlin.load.java.structure.reflect.classId import org.jetbrains.kotlin.load.java.structure.reflect.classId
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import kotlin.jvm.internal.KotlinPackage import kotlin.jvm.internal.KotlinPackage
import kotlin.reflect.KCallable import kotlin.reflect.KCallable
import kotlin.reflect.KPackage import kotlin.reflect.KPackage
@@ -35,7 +35,7 @@ internal class KPackageImpl(override val jClass: Class<*>, val moduleName: Strin
} }
} }
internal val scope: KtScope get() = descriptor().memberScope internal val scope: MemberScope get() = descriptor().memberScope
override val members: Collection<KCallable<*>> override val members: Collection<KCallable<*>>
get() = getMembers(scope, declaredOnly = false, nonExtensions = true, extensions = true).toList() get() = getMembers(scope, declaredOnly = false, nonExtensions = true, extensions = true).toList()
@@ -47,7 +47,7 @@ import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
import org.jetbrains.kotlin.resolve.lazy.ForceResolveUtil import org.jetbrains.kotlin.resolve.lazy.ForceResolveUtil
import org.jetbrains.kotlin.resolve.lazy.NoDescriptorForDeclarationException import org.jetbrains.kotlin.resolve.lazy.NoDescriptorForDeclarationException
import org.jetbrains.kotlin.resolve.lazy.ResolveSession import org.jetbrains.kotlin.resolve.lazy.ResolveSession
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.utils.sure import org.jetbrains.kotlin.utils.sure
import java.util.* import java.util.*
@@ -136,7 +136,7 @@ public class IDELightClassGenerationSupport(private val project: Project) : Ligh
} }
override fun getSubPackages(fqn: FqName, scope: GlobalSearchScope): Collection<FqName> { override fun getSubPackages(fqn: FqName, scope: GlobalSearchScope): Collection<FqName> {
return PackageIndexUtil.getSubPackageFqNames(fqn, kotlinSourceAndClassFiles(scope, project), project, KtScope.ALL_NAME_FILTER) return PackageIndexUtil.getSubPackageFqNames(fqn, kotlinSourceAndClassFiles(scope, project), project, MemberScope.ALL_NAME_FILTER)
} }
override fun getPsiClass(classOrObject: KtClassOrObject): PsiClass? { override fun getPsiClass(classOrObject: KtClassOrObject): PsiClass? {
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.load.java.structure.impl.*
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
private fun PsiElement.getJavaDescriptorResolver(): JavaDescriptorResolver? { private fun PsiElement.getJavaDescriptorResolver(): JavaDescriptorResolver? {
if (!ProjectRootsUtil.isInProjectOrLibraryClassFile(this)) return null if (!ProjectRootsUtil.isInProjectOrLibraryClassFile(this)) return null
@@ -78,7 +78,7 @@ public fun JavaDescriptorResolver.resolveField(field: JavaField): PropertyDescri
return getContainingScope(field)?.getProperties(field.name, NoLookupLocation.FROM_IDE)?.findByJavaElement(field) as? PropertyDescriptor return getContainingScope(field)?.getProperties(field.name, NoLookupLocation.FROM_IDE)?.findByJavaElement(field) as? PropertyDescriptor
} }
private fun JavaDescriptorResolver.getContainingScope(member: JavaMember): KtScope? { private fun JavaDescriptorResolver.getContainingScope(member: JavaMember): MemberScope? {
val containingClass = resolveClass(member.getContainingClass()) val containingClass = resolveClass(member.getContainingClass())
return if (member.isStatic()) return if (member.isStatic())
containingClass?.getStaticScope() containingClass?.getStaticScope()
@@ -24,8 +24,8 @@ import org.jetbrains.kotlin.descriptors.impl.PackageFragmentDescriptorImpl
import org.jetbrains.kotlin.incremental.components.LookupLocation import org.jetbrains.kotlin.incremental.components.LookupLocation
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.resolve.scopes.KtScopeImpl import org.jetbrains.kotlin.resolve.scopes.MemberScopeImpl
import org.jetbrains.kotlin.types.ErrorUtils.createErrorType import org.jetbrains.kotlin.types.ErrorUtils.createErrorType
import org.jetbrains.kotlin.types.TypeProjection import org.jetbrains.kotlin.types.TypeProjection
import org.jetbrains.kotlin.types.TypeSubstitution import org.jetbrains.kotlin.types.TypeSubstitution
@@ -35,12 +35,12 @@ import org.jetbrains.kotlin.utils.Printer
private class PackageFragmentWithMissingDependencies(override val fqName: FqName, moduleDescriptor: ModuleDescriptor) : private class PackageFragmentWithMissingDependencies(override val fqName: FqName, moduleDescriptor: ModuleDescriptor) :
PackageFragmentDescriptorImpl(moduleDescriptor, fqName) { PackageFragmentDescriptorImpl(moduleDescriptor, fqName) {
override fun getMemberScope(): KtScope { override fun getMemberScope(): MemberScope {
return ScopeWithMissingDependencies(fqName, this) return ScopeWithMissingDependencies(fqName, this)
} }
} }
private class ScopeWithMissingDependencies(val fqName: FqName, val containing: DeclarationDescriptor) : KtScopeImpl() { private class ScopeWithMissingDependencies(val fqName: FqName, val containing: DeclarationDescriptor) : MemberScopeImpl() {
override fun getContainingDeclaration(): DeclarationDescriptor { override fun getContainingDeclaration(): DeclarationDescriptor {
return containing return containing
} }
@@ -74,7 +74,7 @@ private class MissingDependencyErrorClassDescriptor(
val emptyConstructor = ConstructorDescriptorImpl.create(this, Annotations.EMPTY, true, SourceElement.NO_SOURCE) val emptyConstructor = ConstructorDescriptorImpl.create(this, Annotations.EMPTY, true, SourceElement.NO_SOURCE)
emptyConstructor.initialize(listOf(), listOf(), Visibilities.DEFAULT_VISIBILITY) emptyConstructor.initialize(listOf(), listOf(), Visibilities.DEFAULT_VISIBILITY)
emptyConstructor.setReturnType(createErrorType("<ERROR RETURN TYPE>")) emptyConstructor.setReturnType(createErrorType("<ERROR RETURN TYPE>"))
initialize(KtScope.empty(this), setOf(emptyConstructor), emptyConstructor) initialize(MemberScope.empty(this), setOf(emptyConstructor), emptyConstructor)
} }
override fun substitute(substitutor: TypeSubstitutor) = this override fun substitute(substitutor: TypeSubstitutor) = this
@@ -126,7 +126,7 @@ private fun resolveParamLink(fromDescriptor: DeclarationDescriptor, qualifiedNam
return getParamDescriptors(fromDescriptor).filter { it.getName().asString() == name } return getParamDescriptors(fromDescriptor).filter { it.getName().asString() == name }
} }
private fun getPackageInnerScope(descriptor: PackageFragmentDescriptor): KtScope { private fun getPackageInnerScope(descriptor: PackageFragmentDescriptor): MemberScope {
return descriptor.getContainingDeclaration().getPackage(descriptor.fqName).memberScope return descriptor.getContainingDeclaration().getPackage(descriptor.fqName).memberScope
} }
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.resolve.TargetPlatform
import org.jetbrains.kotlin.resolve.descriptorUtil.classId import org.jetbrains.kotlin.resolve.descriptorUtil.classId
import org.jetbrains.kotlin.resolve.descriptorUtil.module import org.jetbrains.kotlin.resolve.descriptorUtil.module
import org.jetbrains.kotlin.resolve.lazy.declarations.FileBasedDeclarationProviderFactory import org.jetbrains.kotlin.resolve.lazy.declarations.FileBasedDeclarationProviderFactory
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.serialization.deserialization.findClassAcrossModuleDependencies import org.jetbrains.kotlin.serialization.deserialization.findClassAcrossModuleDependencies
import java.io.File import java.io.File
import java.net.URL import java.net.URL
@@ -166,7 +166,7 @@ public class BuiltInsReferenceResolver(val project: Project, val startupManager:
return url != null && VfsUtilCore.isUnder(url, builtInDirUrls) return url != null && VfsUtilCore.isUnder(url, builtInDirUrls)
} }
private fun getMemberScope(parent: DeclarationDescriptor?): KtScope? = when(parent) { private fun getMemberScope(parent: DeclarationDescriptor?): MemberScope? = when(parent) {
is ClassDescriptor -> parent.getDefaultType().getMemberScope() is ClassDescriptor -> parent.getDefaultType().getMemberScope()
is PackageFragmentDescriptor -> parent.getMemberScope() is PackageFragmentDescriptor -> parent.getMemberScope()
else -> null else -> null
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.idea.project.ProjectStructureUtil
import org.jetbrains.kotlin.idea.resolve.ResolutionFacade import org.jetbrains.kotlin.idea.resolve.ResolutionFacade
import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.resolve.scopes.getDescriptorsFiltered import org.jetbrains.kotlin.resolve.scopes.getDescriptorsFiltered
class AllClassesCompletion(private val parameters: CompletionParameters, class AllClassesCompletion(private val parameters: CompletionParameters,
@@ -56,7 +56,7 @@ class AllClassesCompletion(private val parameters: CompletionParameters,
} }
} }
private fun collectClassesFromScope(scope: KtScope, collector: (ClassDescriptor) -> Unit) { private fun collectClassesFromScope(scope: MemberScope, collector: (ClassDescriptor) -> Unit) {
for (descriptor in scope.getDescriptorsFiltered(DescriptorKindFilter.CLASSIFIERS)) { for (descriptor in scope.getDescriptorsFiltered(DescriptorKindFilter.CLASSIFIERS)) {
if (descriptor is ClassDescriptor) { if (descriptor is ClassDescriptor) {
if (kindFilter(descriptor.kind) && prefixMatcher.prefixMatches(descriptor.name.asString())) { if (kindFilter(descriptor.kind) && prefixMatcher.prefixMatches(descriptor.name.asString())) {
@@ -47,7 +47,7 @@ import org.jetbrains.kotlin.resolve.bindingContextUtil.BindingContextUtilsKt;
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo; import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo;
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode; import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode;
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter; import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter;
import org.jetbrains.kotlin.resolve.scopes.KtScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.resolve.scopes.LexicalScope; import org.jetbrains.kotlin.resolve.scopes.LexicalScope;
import org.jetbrains.kotlin.resolve.scopes.utils.ScopeUtilsKt; import org.jetbrains.kotlin.resolve.scopes.utils.ScopeUtilsKt;
@@ -109,7 +109,7 @@ public abstract class BaseKotlinVariableMacro extends Macro {
private static Collection<DeclarationDescriptor> getAllVariables(LexicalScope scope) { private static Collection<DeclarationDescriptor> getAllVariables(LexicalScope scope) {
Collection<DeclarationDescriptor> result = ContainerUtil.newArrayList(); Collection<DeclarationDescriptor> result = ContainerUtil.newArrayList();
result.addAll(ScopeUtilsKt.collectDescriptorsFiltered(scope, DescriptorKindFilter.VARIABLES, KtScope.Companion.getALL_NAME_FILTER())); result.addAll(ScopeUtilsKt.collectDescriptorsFiltered(scope, DescriptorKindFilter.VARIABLES, MemberScope.Companion.getALL_NAME_FILTER()));
for (ReceiverParameterDescriptor implicitReceiver : ScopeUtilsKt.getImplicitReceiversHierarchy(scope)) { for (ReceiverParameterDescriptor implicitReceiver : ScopeUtilsKt.getImplicitReceiversHierarchy(scope)) {
result.addAll(DescriptorUtils.getAllDescriptors(implicitReceiver.getType().getMemberScope())); result.addAll(DescriptorUtils.getAllDescriptors(implicitReceiver.getType().getMemberScope()));
} }
@@ -38,7 +38,7 @@ import org.jetbrains.kotlin.resolve.ImportPath
import org.jetbrains.kotlin.resolve.descriptorUtil.getImportableDescriptor import org.jetbrains.kotlin.resolve.descriptorUtil.getImportableDescriptor
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.resolve.scopes.KtScope import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.resolve.scopes.LexicalScope import org.jetbrains.kotlin.resolve.scopes.LexicalScope
import org.jetbrains.kotlin.resolve.scopes.getDescriptorsFiltered import org.jetbrains.kotlin.resolve.scopes.getDescriptorsFiltered
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
@@ -265,7 +265,7 @@ public class ImportInsertHelperImpl(private val project: Project) : ImportInsert
return ImportDescriptorResult.IMPORT_ADDED return ImportDescriptorResult.IMPORT_ADDED
} }
private fun getMemberScope(fqName: FqName, moduleDescriptor: ModuleDescriptor): KtScope? { private fun getMemberScope(fqName: FqName, moduleDescriptor: ModuleDescriptor): MemberScope? {
val packageView = moduleDescriptor.getPackage(fqName) val packageView = moduleDescriptor.getPackage(fqName)
if (!packageView.isEmpty()) { if (!packageView.isEmpty()) {
return packageView.memberScope return packageView.memberScope

Some files were not shown because too many files have changed in this diff Show More