diff --git a/compiler/backend-common/src/org/jetbrains/kotlin/backend/common/CodegenUtil.java b/compiler/backend-common/src/org/jetbrains/kotlin/backend/common/CodegenUtil.java index bc1b121275e..41f9378c67f 100644 --- a/compiler/backend-common/src/org/jetbrains/kotlin/backend/common/CodegenUtil.java +++ b/compiler/backend-common/src/org/jetbrains/kotlin/backend/common/CodegenUtil.java @@ -31,7 +31,7 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils; import org.jetbrains.kotlin.resolve.calls.callResolverUtil.CallResolverUtilPackage; import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilPackage; import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.types.JetType; import org.jetbrains.kotlin.types.TypeUtils; import org.jetbrains.kotlin.types.checker.JetTypeChecker; @@ -60,7 +60,7 @@ public class CodegenUtil { @NotNull ClassifierDescriptor returnedClassifier, @NotNull ClassifierDescriptor... valueParameterClassifiers ) { - Collection functions = owner.getDefaultType().getMemberScope().getFunctions(name, Location.NOWHERE); + Collection functions = owner.getDefaultType().getMemberScope().getFunctions(name, UsageLocation.NO_LOCATION); for (FunctionDescriptor function : functions) { if (!CallResolverUtilPackage.isOrOverridesSynthesized(function) && function.getTypeParameters().isEmpty() diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ClosureCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ClosureCodegen.java index 52d914cb291..6e7f44080bb 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ClosureCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ClosureCodegen.java @@ -36,7 +36,7 @@ import org.jetbrains.kotlin.load.kotlin.PackageClassUtils; import org.jetbrains.kotlin.psi.JetElement; import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.resolve.DescriptorUtils; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.types.JetType; import org.jetbrains.kotlin.types.expressions.OperatorConventions; import org.jetbrains.kotlin.utils.UtilsPackage; @@ -453,6 +453,6 @@ public class ClosureCodegen extends MemberCodegen { ClassDescriptor elementClass = elementDescriptor.getExtensionReceiverParameter() == null ? getBuiltIns(elementDescriptor).getFunction(arity) : getBuiltIns(elementDescriptor).getExtensionFunction(arity); - return elementClass.getDefaultType().getMemberScope().getFunctions(OperatorConventions.INVOKE, Location.NOWHERE).iterator().next(); + return elementClass.getDefaultType().getMemberScope().getFunctions(OperatorConventions.INVOKE, UsageLocation.NO_LOCATION).iterator().next(); } } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java index 75ccf144724..6bb752c0ffb 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java @@ -75,7 +75,7 @@ import org.jetbrains.kotlin.resolve.inline.InlineUtil; import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodParameterKind; import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodParameterSignature; import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodSignature; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.resolve.scopes.receivers.*; import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor; import org.jetbrains.kotlin.types.JetType; @@ -1076,7 +1076,7 @@ public class ExpressionCodegen extends JetVisitor implem Type asmLoopRangeType = asmType(loopRangeType); Collection incrementProp = - loopRangeType.getMemberScope().getProperties(Name.identifier("increment"), Location.NOWHERE); + loopRangeType.getMemberScope().getProperties(Name.identifier("increment"), UsageLocation.NO_LOCATION); assert incrementProp.size() == 1 : loopRangeType + " " + incrementProp.size(); incrementType = asmType(incrementProp.iterator().next().getType()); diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java index ad90defef51..11c5dad9b9d 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java @@ -62,7 +62,7 @@ import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmClassSignature; import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodParameterKind; import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodParameterSignature; import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodSignature; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.resolve.scopes.receivers.ExtensionReceiver; import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue; import org.jetbrains.kotlin.resolve.scopes.receivers.ThisReceiver; @@ -403,7 +403,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { private boolean isGenericToArrayPresent() { Collection functions = - descriptor.getDefaultType().getMemberScope().getFunctions(Name.identifier("toArray"), Location.NOWHERE); + descriptor.getDefaultType().getMemberScope().getFunctions(Name.identifier("toArray"), UsageLocation.NO_LOCATION); for (FunctionDescriptor function : functions) { if (CallResolverUtilPackage.isOrOverridesSynthesized(function)) { continue; @@ -817,7 +817,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { Type type = typeMapper.mapType(getBuiltIns(descriptor).getArrayType(INVARIANT, descriptor.getDefaultType())); FunctionDescriptor valuesFunction = - KotlinPackage.single(descriptor.getStaticScope().getFunctions(ENUM_VALUES, Location.NOWHERE), new Function1() { + KotlinPackage.single(descriptor.getStaticScope().getFunctions(ENUM_VALUES, UsageLocation.NO_LOCATION), new Function1() { @Override public Boolean invoke(FunctionDescriptor descriptor) { return CodegenUtil.isEnumValuesMethod(descriptor); @@ -837,7 +837,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { private void generateEnumValueOfMethod() { FunctionDescriptor valueOfFunction = - KotlinPackage.single(descriptor.getStaticScope().getFunctions(ENUM_VALUE_OF, Location.NOWHERE), new Function1() { + KotlinPackage.single(descriptor.getStaticScope().getFunctions(ENUM_VALUE_OF, UsageLocation.NO_LOCATION), new Function1() { @Override public Boolean invoke(FunctionDescriptor descriptor) { return CodegenUtil.isEnumValueOfMethod(descriptor); diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/SamWrapperCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/SamWrapperCodegen.java index fb7f2ff3654..b3a1c00a842 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/SamWrapperCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/SamWrapperCodegen.java @@ -30,7 +30,7 @@ import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.psi.JetFile; import org.jetbrains.kotlin.resolve.DescriptorUtils; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.types.JetType; import org.jetbrains.kotlin.types.expressions.OperatorConventions; import org.jetbrains.org.objectweb.asm.MethodVisitor; @@ -149,7 +149,7 @@ public class SamWrapperCodegen { (ClassDescriptor) erasedInterfaceFunction.getContainingDeclaration(), OwnerKind.IMPLEMENTATION, state), cv, state, parentCodegen); FunctionDescriptor invokeFunction = - functionJetType.getMemberScope().getFunctions(OperatorConventions.INVOKE, Location.NOWHERE).iterator().next().getOriginal(); + functionJetType.getMemberScope().getFunctions(OperatorConventions.INVOKE, UsageLocation.NO_LOCATION).iterator().next().getOriginal(); StackValue functionField = StackValue.field(functionType, ownerType, FUNCTION_FIELD_NAME, false, StackValue.none()); codegen.genDelegate(erasedInterfaceFunction, invokeFunction, functionField); diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/kotlinSignature/SignaturesPropagationData.java b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/kotlinSignature/SignaturesPropagationData.java index 8e704e4c916..5a4e45f5780 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/kotlinSignature/SignaturesPropagationData.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/kotlinSignature/SignaturesPropagationData.java @@ -44,7 +44,7 @@ import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodSignature; import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmSignaturePackage; import org.jetbrains.kotlin.resolve.jvm.jvmSignature.KotlinToJvmSignatureMapper; import org.jetbrains.kotlin.resolve.scopes.JetScope; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.types.*; import java.util.*; @@ -303,7 +303,7 @@ public class SignaturesPropagationData { Name name = method.getName(); JvmMethodSignature autoSignature = SIGNATURE_MAPPER.mapToJvmMethodSignature(autoMethodDescriptor); for (JetType supertype : containingClass.getTypeConstructor().getSupertypes()) { - Collection superFunctionCandidates = supertype.getMemberScope().getFunctions(name, Location.NOWHERE); + Collection superFunctionCandidates = supertype.getMemberScope().getFunctions(name, UsageLocation.NO_LOCATION); for (FunctionDescriptor candidate : superFunctionCandidates) { JvmMethodSignature candidateSignature = SIGNATURE_MAPPER.mapToJvmMethodSignature(candidate); if (JvmSignaturePackage.erasedSignaturesEqualIgnoringReturnTypes(autoSignature, candidateSignature)) { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/AllUnderImportsScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/AllUnderImportsScope.kt index 6f8f1c2d5fe..733dc6b358c 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/AllUnderImportsScope.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/AllUnderImportsScope.kt @@ -20,7 +20,7 @@ import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.JetScope -import org.jetbrains.kotlin.resolve.scopes.Location +import org.jetbrains.kotlin.resolve.scopes.UsageLocation import org.jetbrains.kotlin.types.JetType import org.jetbrains.kotlin.utils.Printer import java.util.ArrayList @@ -42,15 +42,15 @@ class AllUnderImportsScope : JetScope { return scopes.flatMap { it.getDescriptors(kindFilter, nameFilter) } } - override fun getClassifier(name: Name, location: Location): ClassifierDescriptor? { + override fun getClassifier(name: Name, location: UsageLocation): ClassifierDescriptor? { return scopes.asSequence().map { it.getClassifier(name) }.filterNotNull().singleOrNull() } - override fun getProperties(name: Name, location: Location): Collection { + override fun getProperties(name: Name, location: UsageLocation): Collection { return scopes.flatMap { it.getProperties(name) } } - override fun getFunctions(name: Name, location: Location): Collection { + override fun getFunctions(name: Name, location: UsageLocation): Collection { return scopes.flatMap { it.getFunctions(name) } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java index aa13eded01d..044c8149153 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java @@ -525,7 +525,7 @@ public class DescriptorResolver { Name name = nameExpression.getReferencedNameAsName(); - ClassifierDescriptor classifier = scope.getClassifier(name, Location.NOWHERE); + ClassifierDescriptor classifier = scope.getClassifier(name, UsageLocation.NO_LOCATION); if (classifier instanceof TypeParameterDescriptor && classifier.getContainingDeclaration() == descriptor) continue; if (classifier != null) { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/OverrideResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/OverrideResolver.java index 98f08d1ff9b..70fb934364e 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/OverrideResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/OverrideResolver.java @@ -37,7 +37,7 @@ import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.resolve.calls.callResolverUtil.CallResolverUtilPackage; import org.jetbrains.kotlin.resolve.dataClassUtils.DataClassUtilsPackage; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue; import org.jetbrains.kotlin.types.*; import org.jetbrains.kotlin.types.checker.JetTypeChecker; @@ -734,9 +734,9 @@ public class OverrideResolver { ) { for (JetType supertype : declaringClass.getTypeConstructor().getSupertypes()) { Set all = Sets.newLinkedHashSet(); - all.addAll(supertype.getMemberScope().getFunctions(declared.getName(), Location.NOWHERE)); + all.addAll(supertype.getMemberScope().getFunctions(declared.getName(), UsageLocation.NO_LOCATION)); //noinspection unchecked - all.addAll((Collection) supertype.getMemberScope().getProperties(declared.getName(), Location.NOWHERE)); + all.addAll((Collection) supertype.getMemberScope().getProperties(declared.getName(), UsageLocation.NO_LOCATION)); for (CallableMemberDescriptor fromSuper : all) { if (OverridingUtil.DEFAULT.isOverridableBy(fromSuper, declared).getResult() == OVERRIDABLE) { if (Visibilities.isVisible(ReceiverValue.IRRELEVANT_RECEIVER, fromSuper, declared)) { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/QualifiedExpressionResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/QualifiedExpressionResolver.java index 91adbadf01b..bac3d3f5c75 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/QualifiedExpressionResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/QualifiedExpressionResolver.java @@ -30,6 +30,7 @@ import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.resolve.scopes.AbstractScopeAdapter; import org.jetbrains.kotlin.resolve.scopes.JetScope; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue; import org.jetbrains.kotlin.resolve.validation.SymbolUsageValidator; @@ -228,14 +229,14 @@ public class QualifiedExpressionResolver { descriptors.add(packageDescriptor); } - ClassifierDescriptor classifierDescriptor = outerScope.getClassifier(referencedName, Location.NOWHERE); + ClassifierDescriptor classifierDescriptor = outerScope.getClassifier(referencedName, UsageLocation.NO_LOCATION); if (classifierDescriptor != null) { descriptors.add(classifierDescriptor); } if (lookupMode == LookupMode.EVERYTHING) { - descriptors.addAll(outerScope.getFunctions(referencedName, Location.NOWHERE)); - descriptors.addAll(outerScope.getProperties(referencedName, Location.NOWHERE)); + descriptors.addAll(outerScope.getFunctions(referencedName, UsageLocation.NO_LOCATION)); + descriptors.addAll(outerScope.getProperties(referencedName, UsageLocation.NO_LOCATION)); VariableDescriptor localVariable = outerScope.getLocalVariable(referencedName); if (localVariable != null) { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/SingleImportScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/SingleImportScope.kt index a9593bb3a30..8d52ece02cb 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/SingleImportScope.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/SingleImportScope.kt @@ -20,20 +20,20 @@ import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.JetScopeImpl -import org.jetbrains.kotlin.resolve.scopes.Location +import org.jetbrains.kotlin.resolve.scopes.UsageLocation import org.jetbrains.kotlin.utils.Printer class SingleImportScope(private val aliasName: Name, private val descriptors: Collection) : JetScopeImpl() { - override fun getClassifier(name: Name, location: Location) + override fun getClassifier(name: Name, location: UsageLocation) = if (name == aliasName) descriptors.filterIsInstance().singleOrNull() else null override fun getPackage(name: Name) = if (name == aliasName) descriptors.filterIsInstance().singleOrNull() else null - override fun getProperties(name: Name, location: Location) + override fun getProperties(name: Name, location: UsageLocation) = if (name == aliasName) descriptors.filterIsInstance() else emptyList() - override fun getFunctions(name: Name, location: Location) + override fun getFunctions(name: Name, location: UsageLocation) = if (name == aliasName) descriptors.filterIsInstance() else emptyList() override fun getContainingDeclaration(): DeclarationDescriptor = throw UnsupportedOperationException() diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tasks/dynamicCalls.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tasks/dynamicCalls.kt index 688e1406c60..fcfb9d660b2 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tasks/dynamicCalls.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tasks/dynamicCalls.kt @@ -29,7 +29,7 @@ import org.jetbrains.kotlin.resolve.calls.tasks.collectors.CallableDescriptorCol import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns import org.jetbrains.kotlin.resolve.scopes.JetScope import org.jetbrains.kotlin.resolve.scopes.JetScopeImpl -import org.jetbrains.kotlin.resolve.scopes.Location +import org.jetbrains.kotlin.resolve.scopes.UsageLocation import org.jetbrains.kotlin.resolve.scopes.receivers.TransientReceiver import org.jetbrains.kotlin.types.DynamicType import org.jetbrains.kotlin.types.JetType @@ -49,7 +49,7 @@ object DynamicCallableDescriptors { p.println(javaClass.getSimpleName(), ": dynamic candidates for " + call) } - override fun getFunctions(name: Name, location: Location): Collection { + override fun getFunctions(name: Name, location: UsageLocation): Collection { if (isAugmentedAssignmentConvention(name)) return listOf() if (call.getCallType() == Call.CallType.INVOKE && call.getValueArgumentList() == null && call.getFunctionLiteralArguments().isEmpty()) { @@ -77,7 +77,7 @@ object DynamicCallableDescriptors { return false } - override fun getProperties(name: Name, location: Location): Collection { + override fun getProperties(name: Name, location: UsageLocation): Collection { return if (call.getValueArgumentList() == null && call.getValueArguments().isEmpty()) { listOf(createDynamicProperty(owner, name, call)) } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/LazyDeclarationResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/LazyDeclarationResolver.java index 7b1c10b41e3..aab3d995600 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/LazyDeclarationResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/LazyDeclarationResolver.java @@ -30,7 +30,7 @@ import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.resolve.BindingTrace; import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyPackageDescriptor; import org.jetbrains.kotlin.resolve.scopes.JetScope; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.storage.LockBasedLazyResolveStorageManager; import javax.inject.Inject; @@ -70,7 +70,7 @@ public class LazyDeclarationResolver { // class A {} class A { fun foo(): A} // and if we find the class by name only, we may b-not get the right one. // This call is only needed to make sure the classes are written to trace - ClassifierDescriptor scopeDescriptor = resolutionScope.getClassifier(classOrObject.getNameAsSafeName(), Location.NOWHERE); + ClassifierDescriptor scopeDescriptor = resolutionScope.getClassifier(classOrObject.getNameAsSafeName(), UsageLocation.NO_LOCATION); DeclarationDescriptor descriptor = getBindingContext().get(BindingContext.DECLARATION_TO_DESCRIPTOR, classOrObject); if (descriptor == null) { @@ -134,7 +134,7 @@ public class LazyDeclarationResolver { @Override public DeclarationDescriptor visitNamedFunction(@NotNull JetNamedFunction function, Void data) { JetScope scopeForDeclaration = resolutionScopeToResolveDeclaration(function); - scopeForDeclaration.getFunctions(function.getNameAsSafeName(), Location.NOWHERE); + scopeForDeclaration.getFunctions(function.getNameAsSafeName(), UsageLocation.NO_LOCATION); return getBindingContext().get(BindingContext.DECLARATION_TO_DESCRIPTOR, function); } @@ -146,7 +146,7 @@ public class LazyDeclarationResolver { // This is a primary constructor parameter ClassDescriptor classDescriptor = getClassDescriptor(jetClass); if (parameter.hasValOrVar()) { - classDescriptor.getDefaultType().getMemberScope().getProperties(parameter.getNameAsSafeName(), Location.NOWHERE); + classDescriptor.getDefaultType().getMemberScope().getProperties(parameter.getNameAsSafeName(), UsageLocation.NO_LOCATION); return getBindingContext().get(BindingContext.PRIMARY_CONSTRUCTOR_PARAMETER, parameter); } else { @@ -189,7 +189,7 @@ public class LazyDeclarationResolver { @Override public DeclarationDescriptor visitProperty(@NotNull JetProperty property, Void data) { JetScope scopeForDeclaration = resolutionScopeToResolveDeclaration(property); - scopeForDeclaration.getProperties(property.getNameAsSafeName(), Location.NOWHERE); + scopeForDeclaration.getProperties(property.getNameAsSafeName(), UsageLocation.NO_LOCATION); return getBindingContext().get(BindingContext.DECLARATION_TO_DESCRIPTOR, property); } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/LazyImportScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/LazyImportScope.kt index 4ac5549a8f1..19a57427152 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/LazyImportScope.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/LazyImportScope.kt @@ -29,7 +29,7 @@ import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver.LookupMode import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.JetScope -import org.jetbrains.kotlin.resolve.scopes.Location +import org.jetbrains.kotlin.resolve.scopes.UsageLocation import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.types.JetType @@ -234,7 +234,7 @@ class LazyImportScope( return Visibilities.isVisible(ReceiverValue.IRRELEVANT_RECEIVER, descriptor, importResolver.moduleDescriptor) == includeVisible } - override fun getClassifier(name: Name, location: Location): ClassifierDescriptor? { + override fun getClassifier(name: Name, location: UsageLocation): ClassifierDescriptor? { return importResolver.selectSingleFromImports(name, LookupMode.ONLY_CLASSES_AND_PACKAGES) { scope, name -> val descriptor = scope.getClassifier(name) if (descriptor != null && isClassVisible(descriptor as ClassDescriptor/*no type parameter can be imported*/)) descriptor else null @@ -246,14 +246,14 @@ class LazyImportScope( return importResolver.selectSingleFromImports(name, LookupMode.ONLY_CLASSES_AND_PACKAGES) { scope, name -> scope.getPackage(name) } } - override fun getProperties(name: Name, location: Location): Collection { + override fun getProperties(name: Name, location: UsageLocation): Collection { if (filteringKind == FilteringKind.INVISIBLE_CLASSES) return listOf() return importResolver.collectFromImports(name, LookupMode.EVERYTHING) { scope, name -> scope.getProperties(name) } } override fun getLocalVariable(name: Name) = null - override fun getFunctions(name: Name, location: Location): Collection { + override fun getFunctions(name: Name, location: UsageLocation): Collection { if (filteringKind == FilteringKind.INVISIBLE_CLASSES) return listOf() return importResolver.collectFromImports(name, LookupMode.EVERYTHING) { scope, name -> scope.getFunctions(name) } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSession.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSession.java index 0feb54c2c5d..53ee9abfed4 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSession.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSession.java @@ -40,7 +40,7 @@ import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyAnnotationsContextImpl; import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyPackageDescriptor; import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyScriptDescriptor; import org.jetbrains.kotlin.resolve.scopes.JetScope; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.storage.*; import javax.inject.Inject; @@ -282,7 +282,7 @@ public class ResolveSession implements KotlinCodeAnalyzer, LazyClassContext { public ClassDescriptor getClassDescriptorForScript(@NotNull JetScript script) { JetScope resolutionScope = lazyDeclarationResolver.resolutionScopeToResolveDeclaration(script); FqName fqName = ScriptNameUtil.classNameForScript(script); - ClassifierDescriptor classifier = resolutionScope.getClassifier(fqName.shortName(), Location.NOWHERE); + ClassifierDescriptor classifier = resolutionScope.getClassifier(fqName.shortName(), UsageLocation.NO_LOCATION); assert classifier != null : "No descriptor for " + fqName + " in file " + script.getContainingFile(); return (ClassDescriptor) classifier; } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSessionUtils.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSessionUtils.java index becd0b36fec..3c9f2b8ba12 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSessionUtils.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSessionUtils.java @@ -31,7 +31,7 @@ import org.jetbrains.kotlin.name.SpecialNames; import org.jetbrains.kotlin.psi.JetNamedDeclaration; import org.jetbrains.kotlin.psi.JetNamedDeclarationUtil; import org.jetbrains.kotlin.resolve.scopes.JetScope; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import java.util.ArrayList; import java.util.Collection; @@ -84,7 +84,7 @@ public class ResolveSessionUtils { JetScope scope = outerScope; for (Name name : path.pathSegments()) { - ClassifierDescriptor classifier = scope.getClassifier(name, Location.NOWHERE); + ClassifierDescriptor classifier = scope.getClassifier(name, UsageLocation.NO_LOCATION); if (!(classifier instanceof ClassDescriptor)) return null; scope = ((ClassDescriptor) classifier).getUnsubstitutedInnerClassesScope(); } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/AbstractLazyMemberScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/AbstractLazyMemberScope.kt index b65d8136cf9..0b37a8dfa48 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/AbstractLazyMemberScope.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/AbstractLazyMemberScope.kt @@ -29,7 +29,7 @@ import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProvider import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.JetScope import org.jetbrains.kotlin.resolve.scopes.JetScopeImpl -import org.jetbrains.kotlin.resolve.scopes.Location +import org.jetbrains.kotlin.resolve.scopes.UsageLocation import org.jetbrains.kotlin.storage.MemoizedFunctionToNotNull import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.types.JetType @@ -62,9 +62,9 @@ protected constructor( override fun getContainingDeclaration() = thisDescriptor - override fun getClassifier(name: Name, location: Location): ClassDescriptor? = classDescriptors(name).firstOrNull() + override fun getClassifier(name: Name, location: UsageLocation): ClassDescriptor? = classDescriptors(name).firstOrNull() - override fun getFunctions(name: Name, location: Location): Collection = functionDescriptors(name) + override fun getFunctions(name: Name, location: UsageLocation): Collection = functionDescriptors(name) private fun doGetFunctions(name: Name): Collection { val result = Sets.newLinkedHashSet() @@ -89,7 +89,7 @@ protected constructor( protected abstract fun getNonDeclaredFunctions(name: Name, result: MutableSet) - override fun getProperties(name: Name, location: Location): Collection = propertyDescriptors(name) + override fun getProperties(name: Name, location: UsageLocation): Collection = propertyDescriptors(name) public fun doGetProperties(name: Name): Collection { val result = LinkedHashSet() diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassDescriptor.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassDescriptor.java index a7b30da5929..850de3414b5 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassDescriptor.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassDescriptor.java @@ -349,7 +349,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes } Name name = ((JetClassOrObjectInfo) companionObjectInfo).getName(); assert name != null; - getUnsubstitutedMemberScope().getClassifier(name, Location.NOWHERE); + getUnsubstitutedMemberScope().getClassifier(name, UsageLocation.NO_LOCATION); ClassDescriptor companionObjectDescriptor = c.getTrace().get(BindingContext.CLASS, companionObject); if (companionObjectDescriptor instanceof LazyClassDescriptor) { assert DescriptorUtils.isCompanionObject(companionObjectDescriptor) : "Not a companion object: " + companionObjectDescriptor; diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassMemberScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassMemberScope.kt index b963760bb33..2ad16affb4e 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassMemberScope.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassMemberScope.kt @@ -34,7 +34,7 @@ import org.jetbrains.kotlin.resolve.lazy.LazyClassContext import org.jetbrains.kotlin.resolve.lazy.declarations.ClassMemberDeclarationProvider import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.JetScope -import org.jetbrains.kotlin.resolve.scopes.Location +import org.jetbrains.kotlin.resolve.scopes.UsageLocation import org.jetbrains.kotlin.resolve.varianceChecker.VarianceChecker import org.jetbrains.kotlin.storage.NotNullLazyValue import org.jetbrains.kotlin.storage.NullableLazyValue @@ -115,7 +115,7 @@ public open class LazyClassMemberScope( OverrideResolver.resolveUnknownVisibilities(result, trace) } - override fun getFunctions(name: Name, location: Location): Collection { + override fun getFunctions(name: Name, location: UsageLocation): Collection { // TODO: this should be handled by lazy function descriptors val functions = super.getFunctions(name) resolveUnknownVisibilitiesForMembers(functions) @@ -173,7 +173,7 @@ public open class LazyClassMemberScope( } } - override fun getProperties(name: Name, location: Location): Collection { + override fun getProperties(name: Name, location: UsageLocation): Collection { // TODO: this should be handled by lazy property descriptors val properties = super.getProperties(name) resolveUnknownVisibilitiesForMembers(properties as Collection) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/WritableScopeImpl.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/WritableScopeImpl.kt index 341f134a4cb..cf7d157ecc0 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/WritableScopeImpl.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/scopes/WritableScopeImpl.kt @@ -156,7 +156,7 @@ public class WritableScopeImpl @jvmOverloads constructor( functionsByName!![name] = functionsByName!![name] + descriptorIndex } - override fun getFunctions(name: Name, location: Location): Collection { + override fun getFunctions(name: Name, location: UsageLocation): Collection { checkMayRead() return concatInOrder(functionsByName(name), workerScope.getFunctions(name)) @@ -166,7 +166,7 @@ public class WritableScopeImpl @jvmOverloads constructor( addVariableOrClassDescriptor(classifierDescriptor) } - override fun getClassifier(name: Name, location: Location): ClassifierDescriptor? { + override fun getClassifier(name: Name, location: UsageLocation): ClassifierDescriptor? { checkMayRead() return variableOrClassDescriptorByName(name) as? ClassifierDescriptor @@ -270,13 +270,13 @@ public class WritableScopeImpl @jvmOverloads constructor( return workerScope.getLocalVariable(name) } - override fun getFunctions(name: Name, location: Location): Collection { + override fun getFunctions(name: Name, location: UsageLocation): Collection { checkMayRead() return concatInOrder(functionsByName(name, descriptorLimit), workerScope.getFunctions(name)) } - override fun getClassifier(name: Name, location: Location): ClassifierDescriptor? { + override fun getClassifier(name: Name, location: UsageLocation): ClassifierDescriptor? { checkMayRead() return variableOrClassDescriptorByName(name, descriptorLimit) as? ClassifierDescriptor diff --git a/compiler/tests/org/jetbrains/kotlin/resolve/annotation/AbstractAnnotationDescriptorResolveTest.java b/compiler/tests/org/jetbrains/kotlin/resolve/annotation/AbstractAnnotationDescriptorResolveTest.java index 8f18262b572..c3eff66246d 100644 --- a/compiler/tests/org/jetbrains/kotlin/resolve/annotation/AbstractAnnotationDescriptorResolveTest.java +++ b/compiler/tests/org/jetbrains/kotlin/resolve/annotation/AbstractAnnotationDescriptorResolveTest.java @@ -37,7 +37,7 @@ import org.jetbrains.kotlin.renderer.DescriptorRendererOptions; import org.jetbrains.kotlin.renderer.NameShortness; import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.resolve.scopes.JetScope; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.test.JetLiteFixture; import org.jetbrains.kotlin.test.JetTestUtils; import org.jetbrains.kotlin.types.TypeProjection; @@ -153,7 +153,7 @@ public abstract class AbstractAnnotationDescriptorResolveTest extends JetLiteFix protected static FunctionDescriptor getFunctionDescriptor(@NotNull PackageFragmentDescriptor packageView, @NotNull String name) { Name functionName = Name.identifier(name); JetScope memberScope = packageView.getMemberScope(); - Collection functions = memberScope.getFunctions(functionName, Location.NOWHERE); + Collection functions = memberScope.getFunctions(functionName, UsageLocation.NO_LOCATION); assert functions.size() == 1 : "Failed to find function " + functionName + " in class" + "." + packageView.getName(); return functions.iterator().next(); } @@ -162,7 +162,7 @@ public abstract class AbstractAnnotationDescriptorResolveTest extends JetLiteFix private static FunctionDescriptor getFunctionDescriptor(@NotNull ClassDescriptor classDescriptor, @NotNull String name) { Name functionName = Name.identifier(name); JetScope memberScope = classDescriptor.getMemberScope(Collections.emptyList()); - Collection functions = memberScope.getFunctions(functionName, Location.NOWHERE); + Collection functions = memberScope.getFunctions(functionName, UsageLocation.NO_LOCATION); assert functions.size() == 1 : "Failed to find function " + functionName + " in class" + "." + classDescriptor.getName(); return functions.iterator().next(); } @@ -171,13 +171,13 @@ public abstract class AbstractAnnotationDescriptorResolveTest extends JetLiteFix protected static PropertyDescriptor getPropertyDescriptor(@NotNull PackageFragmentDescriptor packageView, @NotNull String name, boolean failOnMissing) { Name propertyName = Name.identifier(name); JetScope memberScope = packageView.getMemberScope(); - Collection properties = memberScope.getProperties(propertyName, Location.NOWHERE); + Collection properties = memberScope.getProperties(propertyName, UsageLocation.NO_LOCATION); if (properties.isEmpty()) { for (DeclarationDescriptor descriptor : memberScope.getAllDescriptors()) { if (descriptor instanceof ClassDescriptor) { Collection classProperties = ((ClassDescriptor) descriptor).getMemberScope(Collections.emptyList()) - .getProperties(propertyName, Location.NOWHERE); + .getProperties(propertyName, UsageLocation.NO_LOCATION); if (!classProperties.isEmpty()) { properties = classProperties; break; @@ -198,7 +198,7 @@ public abstract class AbstractAnnotationDescriptorResolveTest extends JetLiteFix private static PropertyDescriptor getPropertyDescriptor(@NotNull ClassDescriptor classDescriptor, @NotNull String name) { Name propertyName = Name.identifier(name); JetScope memberScope = classDescriptor.getMemberScope(Collections.emptyList()); - Collection properties = memberScope.getProperties(propertyName, Location.NOWHERE); + Collection properties = memberScope.getProperties(propertyName, UsageLocation.NO_LOCATION); assert properties.size() == 1 : "Failed to find property " + propertyName + " in class " + classDescriptor.getName(); return (PropertyDescriptor) properties.iterator().next(); } @@ -206,7 +206,7 @@ public abstract class AbstractAnnotationDescriptorResolveTest extends JetLiteFix @NotNull protected static ClassDescriptor getClassDescriptor(@NotNull PackageFragmentDescriptor packageView, @NotNull String name) { Name className = Name.identifier(name); - ClassifierDescriptor aClass = packageView.getMemberScope().getClassifier(className, Location.NOWHERE); + ClassifierDescriptor aClass = packageView.getMemberScope().getClassifier(className, UsageLocation.NO_LOCATION); assertNotNull("Failed to find class: " + packageView.getName() + "." + className, aClass); assert aClass instanceof ClassDescriptor : "Not a class: " + aClass; return (ClassDescriptor) aClass; @@ -216,7 +216,7 @@ public abstract class AbstractAnnotationDescriptorResolveTest extends JetLiteFix private static ClassDescriptor getInnerClassDescriptor(@NotNull ClassDescriptor classDescriptor, @NotNull String name) { Name propertyName = Name.identifier(name); JetScope memberScope = classDescriptor.getMemberScope(Collections.emptyList()); - ClassifierDescriptor innerClass = memberScope.getClassifier(propertyName, Location.NOWHERE); + ClassifierDescriptor innerClass = memberScope.getClassifier(propertyName, UsageLocation.NO_LOCATION); assert innerClass instanceof ClassDescriptor : "Failed to find inner class " + propertyName + " in class " + diff --git a/compiler/tests/org/jetbrains/kotlin/test/util/DescriptorValidator.java b/compiler/tests/org/jetbrains/kotlin/test/util/DescriptorValidator.java index b3f7e6b6668..6a4600a66dc 100644 --- a/compiler/tests/org/jetbrains/kotlin/test/util/DescriptorValidator.java +++ b/compiler/tests/org/jetbrains/kotlin/test/util/DescriptorValidator.java @@ -24,6 +24,7 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.builtins.KotlinBuiltIns; import org.jetbrains.kotlin.descriptors.*; import org.jetbrains.kotlin.resolve.scopes.JetScope; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.types.JetType; import org.junit.Assert; @@ -410,7 +411,7 @@ public class DescriptorValidator { public Void visitVariableDescriptor( VariableDescriptor descriptor, JetScope scope ) { - assertFound(scope, descriptor, scope.getProperties(descriptor.getName(), Location.NOWHERE)); + assertFound(scope, descriptor, scope.getProperties(descriptor.getName(), UsageLocation.NO_LOCATION)); return null; } @@ -418,7 +419,7 @@ public class DescriptorValidator { public Void visitFunctionDescriptor( FunctionDescriptor descriptor, JetScope scope ) { - assertFound(scope, descriptor, scope.getFunctions(descriptor.getName(), Location.NOWHERE)); + assertFound(scope, descriptor, scope.getFunctions(descriptor.getName(), UsageLocation.NO_LOCATION)); return null; } @@ -426,7 +427,7 @@ public class DescriptorValidator { public Void visitTypeParameterDescriptor( TypeParameterDescriptor descriptor, JetScope scope ) { - assertFound(scope, descriptor, scope.getClassifier(descriptor.getName(), Location.NOWHERE), true); + assertFound(scope, descriptor, scope.getClassifier(descriptor.getName(), UsageLocation.NO_LOCATION), true); return null; } @@ -434,7 +435,7 @@ public class DescriptorValidator { public Void visitClassDescriptor( ClassDescriptor descriptor, JetScope scope ) { - assertFound(scope, descriptor, scope.getClassifier(descriptor.getName(), Location.NOWHERE), true); + assertFound(scope, descriptor, scope.getClassifier(descriptor.getName(), UsageLocation.NO_LOCATION), true); return null; } diff --git a/compiler/tests/org/jetbrains/kotlin/types/BoundsSubstitutorTest.java b/compiler/tests/org/jetbrains/kotlin/types/BoundsSubstitutorTest.java index 5fd26d08e31..34be53481ca 100644 --- a/compiler/tests/org/jetbrains/kotlin/types/BoundsSubstitutorTest.java +++ b/compiler/tests/org/jetbrains/kotlin/types/BoundsSubstitutorTest.java @@ -26,7 +26,7 @@ import org.jetbrains.kotlin.psi.JetFile; import org.jetbrains.kotlin.renderer.DescriptorRenderer; import org.jetbrains.kotlin.resolve.lazy.KotlinTestWithEnvironment; import org.jetbrains.kotlin.resolve.lazy.LazyResolveTestUtil; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.test.ConfigurationKind; import java.util.Collection; @@ -74,7 +74,7 @@ public class BoundsSubstitutorTest extends KotlinTestWithEnvironment { JetFile jetFile = JetPsiFactory(getProject()).createFile("fun.kt", text); ModuleDescriptor module = LazyResolveTestUtil.resolveLazily(Collections.singletonList(jetFile), getEnvironment()); Collection functions = - module.getPackage(FqName.ROOT).getMemberScope().getFunctions(Name.identifier("f"), Location.NOWHERE); + module.getPackage(FqName.ROOT).getMemberScope().getFunctions(Name.identifier("f"), UsageLocation.NO_LOCATION); assert functions.size() == 1 : "Many functions defined"; FunctionDescriptor function = ContainerUtil.getFirstItem(functions); diff --git a/compiler/tests/org/jetbrains/kotlin/types/JetTypeCheckerTest.java b/compiler/tests/org/jetbrains/kotlin/types/JetTypeCheckerTest.java index ed86e795109..53a299d37cd 100644 --- a/compiler/tests/org/jetbrains/kotlin/types/JetTypeCheckerTest.java +++ b/compiler/tests/org/jetbrains/kotlin/types/JetTypeCheckerTest.java @@ -623,7 +623,7 @@ public class JetTypeCheckerTest extends JetLiteFixture { else { Name shortName = fqName.shortName(); assert shortName.equals(defaultImport.getImportedName()); - writableScope.addClassifierDescriptor(module.getPackage(fqName.parent()).getMemberScope().getClassifier(shortName, Location.NOWHERE)); + writableScope.addClassifierDescriptor(module.getPackage(fqName.parent()).getMemberScope().getClassifier(shortName, UsageLocation.NO_LOCATION)); } } scopeChain.add(module.getPackage(FqName.ROOT).getMemberScope()); diff --git a/compiler/tests/org/jetbrains/kotlin/types/TypeSubstitutorTest.java b/compiler/tests/org/jetbrains/kotlin/types/TypeSubstitutorTest.java index a1c46cc2448..c17ddbab4a9 100644 --- a/compiler/tests/org/jetbrains/kotlin/types/TypeSubstitutorTest.java +++ b/compiler/tests/org/jetbrains/kotlin/types/TypeSubstitutorTest.java @@ -85,7 +85,7 @@ public class TypeSubstitutorTest extends KotlinTestWithEnvironment { JetFile jetFile = JetPsiFactory(getProject()).createFile(text); ModuleDescriptor module = LazyResolveTestUtil.resolveLazily(Collections.singletonList(jetFile), getEnvironment()); JetScope topLevelDeclarations = module.getPackage(FqName.ROOT).getMemberScope(); - ClassifierDescriptor contextClass = topLevelDeclarations.getClassifier(Name.identifier("___Context"), Location.NOWHERE); + ClassifierDescriptor contextClass = topLevelDeclarations.getClassifier(Name.identifier("___Context"), UsageLocation.NO_LOCATION); assert contextClass instanceof ClassDescriptor; WritableScopeImpl typeParameters = new WritableScopeImpl(JetScope.Empty.INSTANCE$, module, RedeclarationHandler.THROW_EXCEPTION, "Type parameter scope"); @@ -124,7 +124,7 @@ public class TypeSubstitutorTest extends KotlinTestWithEnvironment { String typeParameterName = pair.first; String replacementProjectionString = pair.second; - ClassifierDescriptor classifier = scope.getClassifier(Name.identifier(typeParameterName), Location.NOWHERE); + ClassifierDescriptor classifier = scope.getClassifier(Name.identifier(typeParameterName), UsageLocation.NO_LOCATION); assertNotNull("No type parameter named " + typeParameterName, classifier); assertTrue(typeParameterName + " is not a type parameter: " + classifier, classifier instanceof TypeParameterDescriptor); diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt index b711eb60811..b7d1d100c1f 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt @@ -40,7 +40,7 @@ import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.DescriptorFactory import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter -import org.jetbrains.kotlin.resolve.scopes.Location +import org.jetbrains.kotlin.resolve.scopes.UsageLocation import org.jetbrains.kotlin.types.JetType import org.jetbrains.kotlin.types.TypeUtils import org.jetbrains.kotlin.utils.* @@ -285,7 +285,7 @@ public class LazyJavaClassMemberScope( override fun getDispatchReceiverParameter(): ReceiverParameterDescriptor? = DescriptorUtils.getDispatchReceiverParameterIfNeeded(getContainingDeclaration()) - override fun getClassifier(name: Name, location: Location): ClassifierDescriptor? = nestedClasses(name) + override fun getClassifier(name: Name, location: UsageLocation): ClassifierDescriptor? = nestedClasses(name) override fun getClassNames(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean): Collection = nestedClassIndex().keySet() + enumEntryIndex().keySet() diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaMemberScope.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaMemberScope.kt index 106b86e8c21..814c0ef8638 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaMemberScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaMemberScope.kt @@ -40,7 +40,7 @@ import org.jetbrains.kotlin.resolve.scopes.DescriptorKindExclude.NonExtensions import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.JetScope import org.jetbrains.kotlin.resolve.scopes.JetScopeImpl -import org.jetbrains.kotlin.resolve.scopes.Location +import org.jetbrains.kotlin.resolve.scopes.UsageLocation import org.jetbrains.kotlin.storage.NotNullLazyValue import org.jetbrains.kotlin.types.JetType import org.jetbrains.kotlin.types.TypeUtils @@ -218,7 +218,7 @@ public abstract class LazyJavaMemberScope( return ResolvedValueParameters(descriptors, synthesizedNames) } - override fun getFunctions(name: Name, location: Location) = functions(name) + override fun getFunctions(name: Name, location: UsageLocation) = functions(name) protected open fun getFunctionNames(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean): Collection = memberIndex().getMethodNames(nameFilter) @@ -297,7 +297,7 @@ public abstract class LazyJavaMemberScope( return propertyType } - override fun getProperties(name: Name, location: Location): Collection = properties(name) + override fun getProperties(name: Name, location: UsageLocation): Collection = properties(name) override fun getOwnDeclaredDescriptors() = getDescriptors() diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaStaticClassScope.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaStaticClassScope.kt index c705ff59a4c..e2fb400041f 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaStaticClassScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaStaticClassScope.kt @@ -26,7 +26,7 @@ import org.jetbrains.kotlin.resolve.DescriptorFactory.createEnumValueOfMethod import org.jetbrains.kotlin.resolve.DescriptorFactory.createEnumValuesMethod import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter -import org.jetbrains.kotlin.resolve.scopes.Location +import org.jetbrains.kotlin.resolve.scopes.UsageLocation import org.jetbrains.kotlin.utils.addIfNotNull public class LazyJavaStaticClassScope( @@ -58,7 +58,7 @@ public class LazyJavaStaticClassScope( memberIndex().getAllFieldNames() override fun getClassNames(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean): Collection = listOf() - override fun getClassifier(name: Name, location: Location): ClassifierDescriptor? = null + override fun getClassifier(name: Name, location: UsageLocation): ClassifierDescriptor? = null override fun getSubPackages(): Collection = listOf() diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyPackageFragmentScopeForJavaPackage.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyPackageFragmentScopeForJavaPackage.kt index a36369fe860..ba5990b5d1a 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyPackageFragmentScopeForJavaPackage.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyPackageFragmentScopeForJavaPackage.kt @@ -32,7 +32,7 @@ import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.SpecialNames import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.JetScope -import org.jetbrains.kotlin.resolve.scopes.Location +import org.jetbrains.kotlin.resolve.scopes.UsageLocation import org.jetbrains.kotlin.utils.addIfNotNull public class LazyPackageFragmentScopeForJavaPackage( @@ -70,10 +70,10 @@ public class LazyPackageFragmentScopeForJavaPackage( } } - override fun getClassifier(name: Name, location: Location): ClassifierDescriptor? = classes(name) + override fun getClassifier(name: Name, location: UsageLocation): ClassifierDescriptor? = classes(name) - override fun getProperties(name: Name, location: Location) = deserializedPackageScope().getProperties(name) - override fun getFunctions(name: Name, location: Location) = deserializedPackageScope().getFunctions(name) + super.getFunctions(name) + override fun getProperties(name: Name, location: UsageLocation) = deserializedPackageScope().getProperties(name) + override fun getFunctions(name: Name, location: UsageLocation) = deserializedPackageScope().getFunctions(name) + super.getFunctions(name) override fun addExtraDescriptors(result: MutableSet, kindFilter: DescriptorKindFilter, diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java b/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java index f5f11a4c43e..4acc58de32d 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java +++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java @@ -34,7 +34,7 @@ import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.resolve.DescriptorUtils; import org.jetbrains.kotlin.resolve.constants.ConstantValue; import org.jetbrains.kotlin.resolve.scopes.JetScope; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.storage.LockBasedStorageManager; import org.jetbrains.kotlin.types.*; import org.jetbrains.kotlin.types.checker.JetTypeChecker; @@ -252,7 +252,7 @@ public class KotlinBuiltIns { @Nullable public ClassDescriptor getBuiltInClassByNameNullable(@NotNull Name simpleName) { - ClassifierDescriptor classifier = getBuiltInsPackageFragment().getMemberScope().getClassifier(simpleName, Location.NOWHERE); + ClassifierDescriptor classifier = getBuiltInsPackageFragment().getMemberScope().getClassifier(simpleName, UsageLocation.NO_LOCATION); assert classifier == null || classifier instanceof ClassDescriptor : "Must be a class descriptor " + simpleName + ", but was " + classifier; return (ClassDescriptor) classifier; @@ -1019,6 +1019,6 @@ public class KotlinBuiltIns { @NotNull public FunctionDescriptor getIdentityEquals() { - return KotlinPackage.first(getBuiltInsPackageFragment().getMemberScope().getFunctions(Name.identifier("identityEquals"), Location.NOWHERE)); + return KotlinPackage.first(getBuiltInsPackageFragment().getMemberScope().getFunctions(Name.identifier("identityEquals"), UsageLocation.NO_LOCATION)); } } diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/functions/FunctionClassScope.kt b/core/descriptors/src/org/jetbrains/kotlin/builtins/functions/FunctionClassScope.kt index b8d2a928121..f0162d11eca 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/functions/FunctionClassScope.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/functions/FunctionClassScope.kt @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.OverridingUtil import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.JetScopeImpl -import org.jetbrains.kotlin.resolve.scopes.Location +import org.jetbrains.kotlin.resolve.scopes.UsageLocation import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.utils.Printer import org.jetbrains.kotlin.utils.toReadOnlyList @@ -48,11 +48,11 @@ class FunctionClassScope( return allDescriptors() } - override fun getFunctions(name: Name, location: Location): Collection { + override fun getFunctions(name: Name, location: UsageLocation): Collection { return allDescriptors().filterIsInstance().filter { it.getName() == name } } - override fun getProperties(name: Name, location: Location): Collection { + override fun getProperties(name: Name, location: UsageLocation): Collection { return allDescriptors().filterIsInstance().filter { it.getName() == name } } diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/EnumEntrySyntheticClassDescriptor.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/EnumEntrySyntheticClassDescriptor.java index 07ebebab7b4..afaa27cd8d1 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/EnumEntrySyntheticClassDescriptor.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/EnumEntrySyntheticClassDescriptor.java @@ -192,25 +192,25 @@ public class EnumEntrySyntheticClassDescriptor extends ClassDescriptorBase { @NotNull @Override @SuppressWarnings("unchecked") - public Collection getProperties(@NotNull Name name, @NotNull Location location) { + public Collection getProperties(@NotNull Name name, @NotNull UsageLocation location) { return (Collection) properties.invoke(name); } @NotNull @SuppressWarnings("unchecked") private Collection computeProperties(@NotNull Name name) { - return resolveFakeOverrides(name, (Collection) getSupertypeScope().getProperties(name, Location.NOWHERE)); + return resolveFakeOverrides(name, (Collection) getSupertypeScope().getProperties(name, UsageLocation.NO_LOCATION)); } @NotNull @Override - public Collection getFunctions(@NotNull Name name, @NotNull Location location) { + public Collection getFunctions(@NotNull Name name, @NotNull UsageLocation location) { return functions.invoke(name); } @NotNull private Collection computeFunctions(@NotNull Name name) { - return resolveFakeOverrides(name, getSupertypeScope().getFunctions(name, Location.NOWHERE)); + return resolveFakeOverrides(name, getSupertypeScope().getFunctions(name, UsageLocation.NO_LOCATION)); } @NotNull @@ -266,8 +266,8 @@ public class EnumEntrySyntheticClassDescriptor extends ClassDescriptorBase { private Collection computeAllDeclarations() { Collection result = new HashSet(); for (Name name : enumMemberNames.invoke()) { - result.addAll(getFunctions(name, Location.NOWHERE)); - result.addAll(getProperties(name, Location.NOWHERE)); + result.addAll(getFunctions(name, UsageLocation.NO_LOCATION)); + result.addAll(getProperties(name, UsageLocation.NO_LOCATION)); } return result; } diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java index 407bf43e7f3..3f9fb979e0f 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java @@ -31,7 +31,7 @@ import org.jetbrains.kotlin.name.SpecialNames; import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter; import org.jetbrains.kotlin.resolve.scopes.FilteringScope; import org.jetbrains.kotlin.resolve.scopes.JetScope; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.types.ErrorUtils; import org.jetbrains.kotlin.types.JetType; import org.jetbrains.kotlin.types.LazyType; @@ -389,7 +389,7 @@ public class DescriptorUtils { @Nullable public static ClassDescriptor getInnerClassByName(@NotNull ClassDescriptor classDescriptor, @NotNull String innerClassName) { ClassifierDescriptor classifier = - classDescriptor.getDefaultType().getMemberScope().getClassifier(Name.identifier(innerClassName), Location.NOWHERE); + classDescriptor.getDefaultType().getMemberScope().getClassifier(Name.identifier(innerClassName), UsageLocation.NO_LOCATION); assert classifier instanceof ClassDescriptor : "Inner class " + innerClassName + " in " + classDescriptor + " should be instance of ClassDescriptor, but was: " + (classifier == null ? "null" : classifier.getClass()); diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/AbstractScopeAdapter.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/AbstractScopeAdapter.kt index 3c8c18af272..ef8171e1839 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/AbstractScopeAdapter.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/AbstractScopeAdapter.kt @@ -31,7 +31,7 @@ public abstract class AbstractScopeAdapter : JetScope { return workerScope.getImplicitReceiversHierarchy() } - override fun getFunctions(name: Name, location: Location): Collection { + override fun getFunctions(name: Name, location: UsageLocation): Collection { return workerScope.getFunctions(name) } @@ -39,11 +39,11 @@ public abstract class AbstractScopeAdapter : JetScope { return workerScope.getPackage(name) } - override fun getClassifier(name: Name, location: Location): ClassifierDescriptor? { + override fun getClassifier(name: Name, location: UsageLocation): ClassifierDescriptor? { return workerScope.getClassifier(name) } - override fun getProperties(name: Name, location: Location): Collection { + override fun getProperties(name: Name, location: UsageLocation): Collection { return workerScope.getProperties(name) } diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/ChainedScope.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/ChainedScope.kt index f454fbf7eb6..3f241c00ec1 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/ChainedScope.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/ChainedScope.kt @@ -50,19 +50,19 @@ public open class ChainedScope( return result ?: emptySet() } - override fun getClassifier(name: Name, location: Location): ClassifierDescriptor? + override fun getClassifier(name: Name, location: UsageLocation): ClassifierDescriptor? = getFirstMatch { it.getClassifier(name) } override fun getPackage(name: Name): PackageViewDescriptor? = getFirstMatch { it.getPackage(name) } - override fun getProperties(name: Name, location: Location): Collection + override fun getProperties(name: Name, location: UsageLocation): Collection = getFromAllScopes { it.getProperties(name) } override fun getLocalVariable(name: Name): VariableDescriptor? = getFirstMatch { it.getLocalVariable(name) } - override fun getFunctions(name: Name, location: Location): Collection + override fun getFunctions(name: Name, location: UsageLocation): Collection = getFromAllScopes { it.getFunctions(name) } override fun getSyntheticExtensionProperties(receiverTypes: Collection, name: Name): Collection diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/ExplicitImportsScope.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/ExplicitImportsScope.kt index 06afd636c10..2bb663ec79b 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/ExplicitImportsScope.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/ExplicitImportsScope.kt @@ -23,13 +23,13 @@ import org.jetbrains.kotlin.utils.Printer import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull public class ExplicitImportsScope(private val descriptors: Collection) : JetScopeImpl() { - override fun getClassifier(name: Name, location: Location) = descriptors.filter { it.getName() == name }.firstIsInstanceOrNull() + override fun getClassifier(name: Name, location: UsageLocation) = descriptors.filter { it.getName() == name }.firstIsInstanceOrNull() override fun getPackage(name: Name)= descriptors.filter { it.getName() == name }.firstIsInstanceOrNull() - override fun getProperties(name: Name, location: Location) = descriptors.filter { it.getName() == name }.filterIsInstance() + override fun getProperties(name: Name, location: UsageLocation) = descriptors.filter { it.getName() == name }.filterIsInstance() - override fun getFunctions(name: Name, location: Location) = descriptors.filter { it.getName() == name }.filterIsInstance() + override fun getFunctions(name: Name, location: UsageLocation) = descriptors.filter { it.getName() == name }.filterIsInstance() override fun getContainingDeclaration() = throw UnsupportedOperationException() diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/FilteringScope.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/FilteringScope.kt index fd00ba19ddd..94365eae88f 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/FilteringScope.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/FilteringScope.kt @@ -24,7 +24,7 @@ import org.jetbrains.kotlin.utils.Printer public class FilteringScope(private val workerScope: JetScope, private val predicate: (DeclarationDescriptor) -> Boolean) : JetScope { - override fun getFunctions(name: Name, location: Location) = workerScope.getFunctions(name).filter(predicate) + override fun getFunctions(name: Name, location: UsageLocation) = workerScope.getFunctions(name).filter(predicate) override fun getContainingDeclaration() = workerScope.getContainingDeclaration() @@ -33,9 +33,9 @@ public class FilteringScope(private val workerScope: JetScope, private val predi override fun getPackage(name: Name) = filterDescriptor(workerScope.getPackage(name)) - override fun getClassifier(name: Name, location: Location) = filterDescriptor(workerScope.getClassifier(name)) + override fun getClassifier(name: Name, location: UsageLocation) = filterDescriptor(workerScope.getClassifier(name)) - override fun getProperties(name: Name, location: Location) = workerScope.getProperties(name).filter(predicate) + override fun getProperties(name: Name, location: UsageLocation) = workerScope.getProperties(name).filter(predicate) override fun getSyntheticExtensionProperties(receiverTypes: Collection, name: Name): Collection = workerScope.getSyntheticExtensionProperties(receiverTypes, name).filter(predicate) diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/InnerClassesScopeWrapper.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/InnerClassesScopeWrapper.kt index 8987f3d8aec..6b04971c577 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/InnerClassesScopeWrapper.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/InnerClassesScopeWrapper.kt @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.descriptors.ReceiverParameterDescriptor import org.jetbrains.kotlin.name.Name public class InnerClassesScopeWrapper(override val workerScope: JetScope) : AbstractScopeAdapter() { - override fun getClassifier(name: Name, location: Location) = workerScope.getClassifier(name) as? ClassDescriptor + override fun getClassifier(name: Name, location: UsageLocation) = workerScope.getClassifier(name) as? ClassDescriptor override fun getDeclarationsByLabel(labelName: Name) = workerScope.getDeclarationsByLabel(labelName).filterIsInstance() diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/JetScope.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/JetScope.kt index 2a5cde44eeb..8c03d7b4bc6 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/JetScope.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/JetScope.kt @@ -25,15 +25,15 @@ import java.lang.reflect.Modifier public interface JetScope { - public fun getClassifier(name: Name, location: Location = Location.NOWHERE): ClassifierDescriptor? + public fun getClassifier(name: Name, location: UsageLocation = UsageLocation.NO_LOCATION): ClassifierDescriptor? public fun getPackage(name: Name): PackageViewDescriptor? - public fun getProperties(name: Name, location: Location = Location.NOWHERE): Collection + public fun getProperties(name: Name, location: UsageLocation = UsageLocation.NO_LOCATION): Collection public fun getLocalVariable(name: Name): VariableDescriptor? - public fun getFunctions(name: Name, location: Location = Location.NOWHERE): Collection + public fun getFunctions(name: Name, location: UsageLocation = UsageLocation.NO_LOCATION): Collection public fun getSyntheticExtensionProperties(receiverTypes: Collection, name: Name): Collection @@ -244,8 +244,8 @@ public interface DescriptorKindExclude { } } -public interface Location { +public interface UsageLocation { companion object { - val NOWHERE = object : Location {} + val NO_LOCATION = object : UsageLocation {} } } diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/JetScopeImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/JetScopeImpl.kt index 92600deefda..1b151377372 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/JetScopeImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/JetScopeImpl.kt @@ -22,15 +22,15 @@ import org.jetbrains.kotlin.types.JetType import org.jetbrains.kotlin.utils.Printer public abstract class JetScopeImpl : JetScope { - override fun getClassifier(name: Name, location: Location): ClassifierDescriptor? = null + override fun getClassifier(name: Name, location: UsageLocation): ClassifierDescriptor? = null - override fun getProperties(name: Name, location: Location): Collection = setOf() + override fun getProperties(name: Name, location: UsageLocation): Collection = setOf() override fun getLocalVariable(name: Name): VariableDescriptor? = null override fun getPackage(name: Name): PackageViewDescriptor? = null - override fun getFunctions(name: Name, location: Location): Collection = setOf() + override fun getFunctions(name: Name, location: UsageLocation): Collection = setOf() override fun getSyntheticExtensionProperties(receiverTypes: Collection, name: Name): Collection = listOf() diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/StaticScopeForKotlinClass.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/StaticScopeForKotlinClass.kt index f4ac59ea1c1..9392130e446 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/StaticScopeForKotlinClass.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/StaticScopeForKotlinClass.kt @@ -28,7 +28,7 @@ import java.util.ArrayList public class StaticScopeForKotlinClass( private val containingClass: ClassDescriptor ) : JetScopeImpl() { - override fun getClassifier(name: Name, location: Location) = null // TODO + override fun getClassifier(name: Name, location: UsageLocation) = null // TODO private val functions: List by lazy { if (containingClass.getKind() != ClassKind.ENUM_CLASS) { @@ -44,7 +44,7 @@ public class StaticScopeForKotlinClass( override fun getOwnDeclaredDescriptors() = functions - override fun getFunctions(name: Name, location: Location) = functions.filterTo(ArrayList(2)) { it.getName() == name } + override fun getFunctions(name: Name, location: UsageLocation) = functions.filterTo(ArrayList(2)) { it.getName() == name } override fun getContainingDeclaration() = containingClass diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/SubstitutingScope.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/SubstitutingScope.kt index 41244b9bb1b..1afed73ab9e 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/SubstitutingScope.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/SubstitutingScope.kt @@ -61,13 +61,13 @@ public class SubstitutingScope(private val workerScope: JetScope, private val su return result } - override fun getProperties(name: Name, location: Location) = substitute(workerScope.getProperties(name)) + override fun getProperties(name: Name, location: UsageLocation) = substitute(workerScope.getProperties(name)) override fun getLocalVariable(name: Name) = substitute(workerScope.getLocalVariable(name)) - override fun getClassifier(name: Name, location: Location) = substitute(workerScope.getClassifier(name)) + override fun getClassifier(name: Name, location: UsageLocation) = substitute(workerScope.getClassifier(name)) - override fun getFunctions(name: Name, location: Location) = substitute(workerScope.getFunctions(name)) + override fun getFunctions(name: Name, location: UsageLocation) = substitute(workerScope.getFunctions(name)) override fun getSyntheticExtensionProperties(receiverTypes: Collection, name: Name): Collection = substitute(workerScope.getSyntheticExtensionProperties(receiverTypes, name)) diff --git a/core/descriptors/src/org/jetbrains/kotlin/types/ErrorUtils.java b/core/descriptors/src/org/jetbrains/kotlin/types/ErrorUtils.java index 03be18d80f8..caaa8bd4074 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/types/ErrorUtils.java +++ b/core/descriptors/src/org/jetbrains/kotlin/types/ErrorUtils.java @@ -26,7 +26,7 @@ import org.jetbrains.kotlin.descriptors.impl.*; import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter; import org.jetbrains.kotlin.resolve.scopes.JetScope; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.storage.LockBasedStorageManager; import org.jetbrains.kotlin.types.error.ErrorSimpleFunctionDescriptorImpl; import org.jetbrains.kotlin.utils.Printer; @@ -83,13 +83,13 @@ public class ErrorUtils { @Nullable @Override - public ClassifierDescriptor getClassifier(@NotNull Name name, @NotNull Location location) { + public ClassifierDescriptor getClassifier(@NotNull Name name, @NotNull UsageLocation location) { return createErrorClass(name.asString()); } @NotNull @Override - public Set getProperties(@NotNull Name name, @NotNull Location location) { + public Set getProperties(@NotNull Name name, @NotNull UsageLocation location) { return ERROR_VARIABLE_GROUP; } @@ -125,7 +125,7 @@ public class ErrorUtils { @NotNull @Override - public Set getFunctions(@NotNull Name name, @NotNull Location location) { + public Set getFunctions(@NotNull Name name, @NotNull UsageLocation location) { return Collections.singleton(createErrorFunction(this)); } @@ -181,7 +181,7 @@ public class ErrorUtils { @Nullable @Override - public ClassifierDescriptor getClassifier(@NotNull Name name, @NotNull Location location) { + public ClassifierDescriptor getClassifier(@NotNull Name name, @NotNull UsageLocation location) { throw new IllegalStateException(); } @@ -193,7 +193,7 @@ public class ErrorUtils { @NotNull @Override - public Collection getProperties(@NotNull Name name, @NotNull Location location) { + public Collection getProperties(@NotNull Name name, @NotNull UsageLocation location) { throw new IllegalStateException(); } @@ -205,7 +205,7 @@ public class ErrorUtils { @NotNull @Override - public Collection getFunctions(@NotNull Name name, @NotNull Location location) { + public Collection getFunctions(@NotNull Name name, @NotNull UsageLocation location) { throw new IllegalStateException(); } diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedMemberScope.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedMemberScope.kt index 3d1a171cbd3..ede3d8eef7c 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedMemberScope.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedMemberScope.kt @@ -20,7 +20,7 @@ import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.JetScopeImpl -import org.jetbrains.kotlin.resolve.scopes.Location +import org.jetbrains.kotlin.resolve.scopes.UsageLocation import org.jetbrains.kotlin.serialization.Flags import org.jetbrains.kotlin.serialization.ProtoBuf import org.jetbrains.kotlin.serialization.ProtoBuf.Callable.CallableKind @@ -93,7 +93,7 @@ public abstract class DeserializedMemberScope protected constructor( protected open fun computeNonDeclaredFunctions(name: Name, functions: MutableCollection) { } - override fun getFunctions(name: Name, location: Location): Collection = functions(name) + override fun getFunctions(name: Name, location: UsageLocation): Collection = functions(name) private fun computeProperties(name: Name): Collection { val descriptors = computeMembers(name, Kind.PROPERTY) @@ -104,9 +104,9 @@ public abstract class DeserializedMemberScope protected constructor( protected open fun computeNonDeclaredProperties(name: Name, descriptors: MutableCollection) { } - override fun getProperties(name: Name, location: Location): Collection = properties.invoke(name) + override fun getProperties(name: Name, location: UsageLocation): Collection = properties.invoke(name) - override fun getClassifier(name: Name, location: Location) = getClassDescriptor(name) + override fun getClassifier(name: Name, location: UsageLocation) = getClassDescriptor(name) protected abstract fun getClassDescriptor(name: Name): ClassifierDescriptor? diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.java index e785e6f8392..025da1b6156 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDELightClassGenerationSupport.java @@ -60,7 +60,7 @@ import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode; import org.jetbrains.kotlin.resolve.lazy.ForceResolveUtil; import org.jetbrains.kotlin.resolve.lazy.KotlinCodeAnalyzer; import org.jetbrains.kotlin.resolve.scopes.JetScope; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import java.io.IOException; import java.util.*; @@ -140,7 +140,7 @@ public class IDELightClassGenerationSupport extends LightClassGenerationSupport if (declaration instanceof JetFunction) { JetFunction jetFunction = (JetFunction) declaration; Name name = jetFunction.getNameAsSafeName(); - Collection functions = packageDescriptor.getMemberScope().getFunctions(name, Location.NOWHERE); + Collection functions = packageDescriptor.getMemberScope().getFunctions(name, UsageLocation.NO_LOCATION); for (FunctionDescriptor descriptor : functions) { ForceResolveUtil.forceResolveAllContents(descriptor); } @@ -148,7 +148,7 @@ public class IDELightClassGenerationSupport extends LightClassGenerationSupport else if (declaration instanceof JetProperty) { JetProperty jetProperty = (JetProperty) declaration; Name name = jetProperty.getNameAsSafeName(); - Collection properties = packageDescriptor.getMemberScope().getProperties(name, Location.NOWHERE); + Collection properties = packageDescriptor.getMemberScope().getProperties(name, UsageLocation.NO_LOCATION); for (VariableDescriptor descriptor : properties) { ForceResolveUtil.forceResolveAllContents(descriptor); } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/missingDependencies.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/missingDependencies.kt index 08427d768dd..a7184bf234c 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/missingDependencies.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/missingDependencies.kt @@ -25,7 +25,7 @@ import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.scopes.JetScope import org.jetbrains.kotlin.resolve.scopes.JetScopeImpl -import org.jetbrains.kotlin.resolve.scopes.Location +import org.jetbrains.kotlin.resolve.scopes.UsageLocation import org.jetbrains.kotlin.types.ErrorUtils.createErrorType import org.jetbrains.kotlin.types.TypeProjection import org.jetbrains.kotlin.types.TypeSubstitutor @@ -48,7 +48,7 @@ private class ScopeWithMissingDependencies(val fqName: FqName, val containing: D p.println("Special scope for decompiler, containing class with any name") } - override fun getClassifier(name: Name, location: Location): ClassifierDescriptor? { + override fun getClassifier(name: Name, location: UsageLocation): ClassifierDescriptor? { return MissingDependencyErrorClassDescriptor(getContainingDeclaration(), fqName.child(name)) } } diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/HeuristicSignatures.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/HeuristicSignatures.kt index 53c508d5e12..d085495ac27 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/HeuristicSignatures.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/HeuristicSignatures.kt @@ -30,7 +30,7 @@ import org.jetbrains.kotlin.resolve.BindingTraceContext import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.scopes.ChainedScope import org.jetbrains.kotlin.resolve.scopes.JetScope -import org.jetbrains.kotlin.resolve.scopes.Location +import org.jetbrains.kotlin.resolve.scopes.UsageLocation import org.jetbrains.kotlin.types.JetType import org.jetbrains.kotlin.types.SubstitutionUtils import org.jetbrains.kotlin.types.TypeUtils @@ -110,6 +110,6 @@ public object HeuristicSignatures { private class TypeParametersScope(params: Collection) : JetScope by JetScope.Empty { private val paramsByName = params.map { it.getName() to it }.toMap() - override fun getClassifier(name: Name, location: Location) = paramsByName[name] + override fun getClassifier(name: Name, location: UsageLocation) = paramsByName[name] } } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeMemberFunctionSignatureFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeMemberFunctionSignatureFix.java index 978c4caf017..d0e2eda2224 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeMemberFunctionSignatureFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeMemberFunctionSignatureFix.java @@ -54,7 +54,7 @@ import org.jetbrains.kotlin.renderer.NameShortness; import org.jetbrains.kotlin.resolve.FunctionDescriptorUtil; import org.jetbrains.kotlin.resolve.VisibilityUtil; import org.jetbrains.kotlin.resolve.scopes.JetScope; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import org.jetbrains.kotlin.types.JetType; import org.jetbrains.kotlin.types.TypeUtils; import org.jetbrains.kotlin.types.checker.JetTypeChecker; @@ -268,7 +268,7 @@ public class ChangeMemberFunctionSignatureFix extends JetHintAction conflicts = oldDescriptor instanceof FunctionDescriptor - ? callableScope.getFunctions(newName, Location.NOWHERE) - : callableScope.getProperties(newName, Location.NOWHERE); + ? callableScope.getFunctions(newName, UsageLocation.NO_LOCATION) + : callableScope.getProperties(newName, UsageLocation.NO_LOCATION); for (CallableDescriptor conflict : conflicts) { if (conflict == oldDescriptor) continue; @@ -603,7 +603,7 @@ public class JetChangeSignatureUsageProcessor implements ChangeSignatureUsagePro } if (parametersScope != null) { if (kind == JetMethodDescriptor.Kind.PRIMARY_CONSTRUCTOR && valOrVar != JetValVar.None) { - for (VariableDescriptor property : parametersScope.getProperties(Name.identifier(parameterName), Location.NOWHERE)) { + for (VariableDescriptor property : parametersScope.getProperties(Name.identifier(parameterName), UsageLocation.NO_LOCATION)) { PsiElement propertyDeclaration = DescriptorToSourceUtils.descriptorToDeclaration(property); if (propertyDeclaration != null && !(propertyDeclaration.getParent() instanceof JetParameterList)) { diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/ManglingUtils.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/ManglingUtils.java index e828d2f6bd5..49a0193ebeb 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/ManglingUtils.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/ManglingUtils.java @@ -31,7 +31,7 @@ import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.resolve.DescriptorUtils; import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter; import org.jetbrains.kotlin.resolve.scopes.JetScope; -import org.jetbrains.kotlin.resolve.scopes.Location; +import org.jetbrains.kotlin.resolve.scopes.UsageLocation; import java.util.*; @@ -249,7 +249,7 @@ public class ManglingUtils { @NotNull public static String getStableMangledNameForDescriptor(@NotNull ClassDescriptor descriptor, @NotNull String functionName) { Collection functions = - descriptor.getDefaultType().getMemberScope().getFunctions(Name.identifier(functionName), Location.NOWHERE); + descriptor.getDefaultType().getMemberScope().getFunctions(Name.identifier(functionName), UsageLocation.NO_LOCATION); assert functions.size() == 1 : "Can't select a single function: " + functionName + " in " + descriptor; return getSuggestedName((DeclarationDescriptor) functions.iterator().next()); }