diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/AnnotationCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/AnnotationCodegen.java index fae82d8de22..aedc5477e98 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/AnnotationCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/AnnotationCodegen.java @@ -45,7 +45,7 @@ import java.lang.annotation.RetentionPolicy; import java.util.*; import static org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor.Kind.DELEGATION; -import static org.jetbrains.jet.lang.resolve.BindingContextUtils.descriptorToDeclaration; +import static org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils.descriptorToDeclaration; import static org.jetbrains.jet.lang.resolve.bindingContextUtil.BindingContextUtilPackage.getResolvedCall; public abstract class AnnotationCodegen { diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/DefaultParameterValueLoader.java b/compiler/backend/src/org/jetbrains/jet/codegen/DefaultParameterValueLoader.java index 9007697c0d6..2ef5330c0fc 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/DefaultParameterValueLoader.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/DefaultParameterValueLoader.java @@ -20,7 +20,7 @@ import org.jetbrains.org.objectweb.asm.Type; import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor; import org.jetbrains.jet.lang.psi.JetParameter; -import static org.jetbrains.jet.lang.resolve.BindingContextUtils.descriptorToDeclaration; +import static org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils.descriptorToDeclaration; public interface DefaultParameterValueLoader { diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java index 19c316ba033..fb372f3fadc 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java @@ -43,6 +43,7 @@ import org.jetbrains.jet.lang.evaluate.EvaluatePackage; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.calls.model.*; import org.jetbrains.jet.lang.resolve.calls.util.CallMaker; @@ -1620,7 +1621,7 @@ public class ExpressionCodegen extends JetVisitor implem } PsiElement element = bindingContext.get(LABEL_TARGET, expression.getTargetLabel()); - if (element != callableDescriptorToDeclaration(context.getContextDescriptor())) { + if (element != DescriptorToSourceUtils.callableDescriptorToDeclaration(context.getContextDescriptor())) { DeclarationDescriptor elementDescriptor = typeMapper.getBindingContext().get(DECLARATION_TO_DESCRIPTOR, element); assert element != null : "Expression should be not null " + expression.getText(); assert elementDescriptor != null : "Descriptor should be not null: " + element.getText(); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java index 8271c15d2fb..ba056e0c487 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java @@ -67,7 +67,7 @@ import static org.jetbrains.jet.codegen.AsmUtil.*; import static org.jetbrains.jet.codegen.JvmSerializationBindings.*; import static org.jetbrains.jet.codegen.binding.CodegenBinding.isLocalNamedFun; import static org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor.Kind.DECLARATION; -import static org.jetbrains.jet.lang.resolve.BindingContextUtils.callableDescriptorToDeclaration; +import static org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils.callableDescriptorToDeclaration; import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isFunctionLiteral; import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isTrait; import static org.jetbrains.jet.lang.resolve.java.AsmTypeConstants.OBJECT_TYPE; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java index 7beba57edfb..a1f3bdfff74 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java @@ -71,7 +71,7 @@ import static org.jetbrains.jet.codegen.AsmUtil.*; import static org.jetbrains.jet.codegen.JvmCodegenUtil.*; import static org.jetbrains.jet.codegen.binding.CodegenBinding.*; import static org.jetbrains.jet.descriptors.serialization.NameSerializationUtil.createNameResolver; -import static org.jetbrains.jet.lang.resolve.BindingContextUtils.descriptorToDeclaration; +import static org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils.descriptorToDeclaration; import static org.jetbrains.jet.lang.resolve.DescriptorUtils.*; import static org.jetbrains.jet.lang.resolve.java.AsmTypeConstants.*; import static org.jetbrains.jet.lang.resolve.java.JvmAnnotationNames.KotlinSyntheticClass; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/binding/PsiCodegenPredictor.java b/compiler/backend/src/org/jetbrains/jet/codegen/binding/PsiCodegenPredictor.java index 944b00f299a..a0441c48e7b 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/binding/PsiCodegenPredictor.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/binding/PsiCodegenPredictor.java @@ -42,7 +42,7 @@ import org.jetbrains.org.objectweb.asm.Type; import java.util.ArrayList; import java.util.Collection; -import static org.jetbrains.jet.lang.resolve.BindingContextUtils.descriptorToDeclaration; +import static org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils.descriptorToDeclaration; public final class PsiCodegenPredictor { private PsiCodegenPredictor() { diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegen.java index 922c9953fa4..c7b4876826f 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegen.java @@ -32,7 +32,7 @@ import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.descriptors.impl.AnonymousFunctionDescriptor; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; import org.jetbrains.jet.lang.resolve.java.AsmTypeConstants; @@ -126,7 +126,7 @@ public class InlineCodegen implements CallGenerator { } catch (Exception e) { boolean generateNodeText = !(e instanceof InlineException); - PsiElement element = BindingContextUtils.descriptorToDeclaration(this.codegen.getContext().getContextDescriptor()); + PsiElement element = DescriptorToSourceUtils.descriptorToDeclaration(this.codegen.getContext().getContextDescriptor()); throw new CompilationException("Couldn't inline method call '" + functionDescriptor.getName() + "' into \n" + (element != null ? element.getText() : "null psi element " + this.codegen.getContext().getContextDescriptor()) + @@ -165,7 +165,7 @@ public class InlineCodegen implements CallGenerator { } } else { - PsiElement element = BindingContextUtils.descriptorToDeclaration(functionDescriptor); + PsiElement element = DescriptorToSourceUtils.descriptorToDeclaration(functionDescriptor); if (element == null) { throw new RuntimeException("Couldn't find declaration for function " + descriptorName(functionDescriptor)); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegenUtil.java b/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegenUtil.java index 27c9f4595a2..0d2c33d0f69 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegenUtil.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegenUtil.java @@ -33,7 +33,7 @@ import org.jetbrains.jet.descriptors.serialization.ProtoBuf; import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedSimpleFunctionDescriptor; import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.psi.JetFile; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.java.JvmAbi; import org.jetbrains.jet.lang.resolve.java.PackageClassUtils; @@ -247,7 +247,7 @@ public class InlineCodegenUtil { @Nullable public static PsiFile getContainingFile(CodegenContext codegenContext) { DeclarationDescriptor contextDescriptor = codegenContext.getContextDescriptor(); - PsiElement psiElement = BindingContextUtils.descriptorToDeclaration(contextDescriptor); + PsiElement psiElement = DescriptorToSourceUtils.descriptorToDeclaration(contextDescriptor); if (psiElement != null) { return psiElement.getContainingFile(); } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/state/BuilderFactoryForDuplicateSignatureDiagnostics.kt b/compiler/backend/src/org/jetbrains/jet/codegen/state/BuilderFactoryForDuplicateSignatureDiagnostics.kt index 6bbefcc8091..2f1a68a5d16 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/state/BuilderFactoryForDuplicateSignatureDiagnostics.kt +++ b/compiler/backend/src/org/jetbrains/jet/codegen/state/BuilderFactoryForDuplicateSignatureDiagnostics.kt @@ -31,6 +31,7 @@ import org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor.Kind.FAKE_OVE import org.jetbrains.jet.utils.addIfNotNull import org.jetbrains.jet.codegen.ClassBuilderMode import org.jetbrains.jet.lang.resolve.java.descriptor.SamAdapterDescriptor +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils class BuilderFactoryForDuplicateSignatureDiagnostics( builderFactory: ClassBuilderFactory, @@ -79,9 +80,9 @@ class BuilderFactoryForDuplicateSignatureDiagnostics( if (member.getKind() != DELEGATION) { // Delegates don't have declarations in the code - memberElement = BindingContextUtils.callableDescriptorToDeclaration(member) + memberElement = DescriptorToSourceUtils.callableDescriptorToDeclaration(member) if (memberElement == null && member is PropertyAccessorDescriptor) { - memberElement = BindingContextUtils.callableDescriptorToDeclaration(member.getCorrespondingProperty()) + memberElement = DescriptorToSourceUtils.callableDescriptorToDeclaration(member.getCorrespondingProperty()) } } } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/state/JetTypeMapper.java b/compiler/backend/src/org/jetbrains/jet/codegen/state/JetTypeMapper.java index 9b12a386a8f..0864166afb0 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/state/JetTypeMapper.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/state/JetTypeMapper.java @@ -24,7 +24,6 @@ import org.jetbrains.jet.codegen.binding.CalculatedClosure; import org.jetbrains.jet.codegen.binding.CodegenBinding; import org.jetbrains.jet.codegen.context.CodegenContext; import org.jetbrains.jet.codegen.signature.BothSignatureWriter; -import org.jetbrains.jet.config.IncrementalCompilation; import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedCallableMemberDescriptor; import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.descriptors.annotations.Annotated; @@ -32,10 +31,7 @@ import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor; import org.jetbrains.jet.lang.descriptors.impl.AnonymousFunctionDescriptor; import org.jetbrains.jet.lang.psi.JetDelegatorToSuperCall; import org.jetbrains.jet.lang.psi.JetFile; -import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; -import org.jetbrains.jet.lang.resolve.DescriptorUtils; -import org.jetbrains.jet.lang.resolve.OverrideResolver; +import org.jetbrains.jet.lang.resolve.*; import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant; import org.jetbrains.jet.lang.resolve.constants.StringValue; import org.jetbrains.jet.lang.resolve.java.AsmTypeConstants; @@ -310,12 +306,12 @@ public class JetTypeMapper { @NotNull private String generateErrorMessageForErrorType(@NotNull JetType type, @NotNull DeclarationDescriptor descriptor) { - PsiElement declarationElement = BindingContextUtils.descriptorToDeclaration(descriptor); + PsiElement declarationElement = DescriptorToSourceUtils.descriptorToDeclaration(descriptor); PsiElement parentDeclarationElement = null; if (declarationElement != null) { DeclarationDescriptor containingDeclaration = descriptor.getContainingDeclaration(); if (containingDeclaration != null) { - parentDeclarationElement = BindingContextUtils.descriptorToDeclaration(containingDeclaration); + parentDeclarationElement = DescriptorToSourceUtils.descriptorToDeclaration(containingDeclaration); } } diff --git a/compiler/cli/src/org/jetbrains/jet/cli/common/messages/AnalyzerWithCompilerReport.java b/compiler/cli/src/org/jetbrains/jet/cli/common/messages/AnalyzerWithCompilerReport.java index 0609910fde7..edc0a3b19d1 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/common/messages/AnalyzerWithCompilerReport.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/common/messages/AnalyzerWithCompilerReport.java @@ -117,7 +117,7 @@ public final class AnalyzerWithCompilerReport { if (!descriptorsWithErrors.isEmpty()) { StringBuilder message = new StringBuilder("The following Java entities have annotations with wrong Kotlin signatures:\n"); for (DeclarationDescriptor descriptor : descriptorsWithErrors) { - PsiElement declaration = BindingContextUtils.descriptorToDeclaration(descriptor); + PsiElement declaration = DescriptorToSourceUtils.descriptorToDeclaration(descriptor); assert declaration instanceof PsiModifierListOwner; List errors = bc.get(JavaBindingContext.LOAD_FROM_JAVA_SIGNATURE_ERRORS, descriptor); diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CliLightClassGenerationSupport.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CliLightClassGenerationSupport.java index fcf27d8cd50..f7472d81c06 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CliLightClassGenerationSupport.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CliLightClassGenerationSupport.java @@ -38,10 +38,7 @@ import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.descriptors.PackageViewDescriptor; import org.jetbrains.jet.lang.descriptors.impl.ModuleDescriptorImpl; import org.jetbrains.jet.lang.psi.*; -import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; -import org.jetbrains.jet.lang.resolve.BindingTrace; -import org.jetbrains.jet.lang.resolve.BindingTraceContext; +import org.jetbrains.jet.lang.resolve.*; import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM; import org.jetbrains.jet.lang.resolve.java.JvmAbi; import org.jetbrains.jet.lang.resolve.name.FqName; @@ -125,7 +122,7 @@ public class CliLightClassGenerationSupport extends LightClassGenerationSupport public Collection findClassOrObjectDeclarations(@NotNull FqName fqName, @NotNull GlobalSearchScope searchScope) { ClassDescriptor classDescriptor = getTrace().get(BindingContext.FQNAME_TO_CLASS_DESCRIPTOR, fqName.toUnsafe()); if (classDescriptor != null) { - PsiElement element = BindingContextUtils.classDescriptorToDeclaration(classDescriptor); + PsiElement element = DescriptorToSourceUtils.classDescriptorToDeclaration(classDescriptor); if (element != null && PsiSearchScopeUtil.isInScope(searchScope, element)) { return Collections.singletonList((JetClassOrObject) element); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetFlowInformationProvider.java b/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetFlowInformationProvider.java index bcc2bb6d0e7..e286fb607a9 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetFlowInformationProvider.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetFlowInformationProvider.java @@ -48,10 +48,7 @@ import org.jetbrains.jet.lang.diagnostics.Diagnostic; import org.jetbrains.jet.lang.diagnostics.DiagnosticFactory; import org.jetbrains.jet.lang.diagnostics.Errors; import org.jetbrains.jet.lang.psi.*; -import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; -import org.jetbrains.jet.lang.resolve.BindingTrace; -import org.jetbrains.jet.lang.resolve.DescriptorUtils; +import org.jetbrains.jet.lang.resolve.*; import org.jetbrains.jet.lang.resolve.calls.TailRecursionKind; import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; import org.jetbrains.jet.lang.resolve.scopes.receivers.ExpressionReceiver; @@ -469,7 +466,7 @@ public class JetFlowInformationProvider { if (variableDescriptor instanceof PropertyDescriptor && !ctxt.enterInitState.isInitialized && ctxt.exitInitState.isInitialized) { if (!variableDescriptor.isVar()) return false; if (!trace.get(BindingContext.BACKING_FIELD_REQUIRED, (PropertyDescriptor) variableDescriptor)) return false; - PsiElement property = BindingContextUtils.descriptorToDeclaration(variableDescriptor); + PsiElement property = DescriptorToSourceUtils.descriptorToDeclaration(variableDescriptor); assert property instanceof JetProperty; if (((PropertyDescriptor) variableDescriptor).getModality() == Modality.FINAL && ((JetProperty) property).getSetter() == null) { return false; @@ -505,7 +502,7 @@ public class JetFlowInformationProvider { report(Errors.NOT_PROPERTY_BACKING_FIELD.on(element), cxtx); return true; } - PsiElement property = BindingContextUtils.descriptorToDeclaration(variableDescriptor); + PsiElement property = DescriptorToSourceUtils.descriptorToDeclaration(variableDescriptor); boolean insideSelfAccessors = PsiTreeUtil.isAncestor(property, element, false); if (!trace.get(BindingContext.BACKING_FIELD_REQUIRED, (PropertyDescriptor) variableDescriptor) && // not to generate error in accessors of abstract properties, there is one: declared accessor of abstract property diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/DiagnosticUtils.java b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/DiagnosticUtils.java index 390b720c134..7924e81b4c0 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/DiagnosticUtils.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/DiagnosticUtils.java @@ -28,8 +28,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.psi.JetExpression; -import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import java.util.Collection; import java.util.Collections; @@ -52,9 +51,9 @@ public class DiagnosticUtils { } public static String atLocation(DeclarationDescriptor descriptor) { - PsiElement element = BindingContextUtils.descriptorToDeclaration(descriptor); + PsiElement element = DescriptorToSourceUtils.descriptorToDeclaration(descriptor); if (element == null) { - element = BindingContextUtils.descriptorToDeclaration(descriptor.getOriginal()); + element = DescriptorToSourceUtils.descriptorToDeclaration(descriptor.getOriginal()); } if (element == null && descriptor instanceof ASTNode) { element = DiagnosticUtils.getClosestPsiElement((ASTNode) descriptor); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContext.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContext.java index 0073aaefca1..a7ebe6358f8 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContext.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContext.java @@ -156,7 +156,7 @@ public interface BindingContext { return false; } backingFieldRequired = valueNotFound ? false : backingFieldRequired; - PsiElement declarationPsiElement = BindingContextUtils.descriptorToDeclaration(propertyDescriptor); + PsiElement declarationPsiElement = DescriptorToSourceUtils.descriptorToDeclaration(propertyDescriptor); if (declarationPsiElement instanceof JetParameter) { JetParameter jetParameter = (JetParameter) declarationPsiElement; return jetParameter.hasValOrVarNode() || diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContextUtils.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContextUtils.java index 52f12d4d3e4..2a32d63790f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContextUtils.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContextUtils.java @@ -29,19 +29,14 @@ import org.jetbrains.jet.lang.resolve.bindingContextUtil.BindingContextUtilPacka import org.jetbrains.jet.lang.resolve.calls.autocasts.DataFlowInfo; import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; import org.jetbrains.jet.lang.resolve.calls.model.VariableAsFunctionResolvedCall; -import org.jetbrains.jet.lang.resolve.source.SourcePackage; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.JetTypeInfo; import org.jetbrains.jet.lang.types.TypeUtils; import org.jetbrains.jet.util.slicedmap.ReadOnlySlice; -import java.util.ArrayList; import java.util.Collection; -import java.util.List; -import java.util.Set; import static org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor.Kind.DECLARATION; -import static org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor.Kind.SYNTHESIZED; import static org.jetbrains.jet.lang.diagnostics.Errors.AMBIGUOUS_LABEL; import static org.jetbrains.jet.lang.resolve.BindingContext.*; @@ -74,7 +69,7 @@ public class BindingContextUtils { DeclarationDescriptor descriptor = findTopLevelParent(declarationDescriptor); if (descriptor == null) return null; - PsiElement declaration = descriptorToDeclaration(descriptor); + PsiElement declaration = DescriptorToSourceUtils.descriptorToDeclaration(descriptor); if (declaration == null) return null; PsiFile containingFile = declaration.getContainingFile(); @@ -94,77 +89,6 @@ public class BindingContextUtils { return descriptor; } - @Nullable - private static PsiElement doGetDescriptorToDeclaration(@NotNull DeclarationDescriptor descriptor) { - DeclarationDescriptor original = descriptor.getOriginal(); - if (!(original instanceof DeclarationDescriptorWithSource)) { - return null; - } - return SourcePackage.getPsi(((DeclarationDescriptorWithSource) original).getSource()); - } - - // NOTE this is also used by KDoc - @Nullable - public static PsiElement descriptorToDeclaration(@NotNull DeclarationDescriptor descriptor) { - if (descriptor instanceof CallableMemberDescriptor) { - return callableDescriptorToDeclaration((CallableMemberDescriptor) descriptor); - } - else if (descriptor instanceof ClassDescriptor) { - return classDescriptorToDeclaration((ClassDescriptor) descriptor); - } - else { - return doGetDescriptorToDeclaration(descriptor); - } - } - - @NotNull - public static List descriptorToDeclarations(@NotNull DeclarationDescriptor descriptor) { - if (descriptor instanceof CallableMemberDescriptor) { - return callableDescriptorToDeclarations((CallableMemberDescriptor) descriptor); - } - else { - PsiElement psiElement = descriptorToDeclaration(descriptor); - if (psiElement != null) { - return Lists.newArrayList(psiElement); - } else { - return Lists.newArrayList(); - } - } - } - - @Nullable - public static PsiElement callableDescriptorToDeclaration(@NotNull CallableMemberDescriptor callable) { - if (callable.getKind() == DECLARATION || callable.getKind() == SYNTHESIZED) { - return doGetDescriptorToDeclaration(callable); - } - //TODO: should not use this method for fake_override and delegation - Set overriddenDescriptors = callable.getOverriddenDescriptors(); - if (overriddenDescriptors.size() == 1) { - return callableDescriptorToDeclaration(overriddenDescriptors.iterator().next()); - } - return null; - } - - @NotNull - public static List callableDescriptorToDeclarations(@NotNull CallableMemberDescriptor callable) { - if (callable.getKind() == DECLARATION || callable.getKind() == SYNTHESIZED) { - PsiElement psiElement = doGetDescriptorToDeclaration(callable); - return psiElement != null ? Lists.newArrayList(psiElement) : Lists.newArrayList(); - } - - List r = new ArrayList(); - Set overriddenDescriptors = callable.getOverriddenDescriptors(); - for (CallableMemberDescriptor overridden : overriddenDescriptors) { - r.addAll(callableDescriptorToDeclarations(overridden)); - } - return r; - } - - @Nullable - public static PsiElement classDescriptorToDeclaration(@NotNull ClassDescriptor clazz) { - return doGetDescriptorToDeclaration(clazz); - } - public static void recordFunctionDeclarationToDescriptor(@NotNull BindingTrace trace, @NotNull PsiElement psiElement, @NotNull SimpleFunctionDescriptor function) { @@ -221,7 +145,7 @@ public class BindingContextUtils { ) { Collection targets = Lists.newArrayList(); for (DeclarationDescriptor descriptor : declarationsByLabel) { - PsiElement element = descriptorToDeclaration(descriptor); + PsiElement element = DescriptorToSourceUtils.descriptorToDeclaration(descriptor); assert element != null : "Label can only point to something in the same lexical scope"; targets.add(element); } @@ -281,10 +205,11 @@ public class BindingContextUtils { ) { FunctionDescriptor containingFunctionDescriptor = DescriptorUtils.getParentOfType(startDescriptor, FunctionDescriptor.class, strict); PsiElement containingFunction = - containingFunctionDescriptor != null ? callableDescriptorToDeclaration(containingFunctionDescriptor) : null; + containingFunctionDescriptor != null ? DescriptorToSourceUtils.callableDescriptorToDeclaration(containingFunctionDescriptor) : null; while (containingFunction instanceof JetFunctionLiteral) { containingFunctionDescriptor = DescriptorUtils.getParentOfType(containingFunctionDescriptor, FunctionDescriptor.class); - containingFunction = containingFunctionDescriptor != null ? callableDescriptorToDeclaration(containingFunctionDescriptor) : null; + containingFunction = containingFunctionDescriptor != null ? DescriptorToSourceUtils + .callableDescriptorToDeclaration(containingFunctionDescriptor) : null; } return new Pair(containingFunctionDescriptor, containingFunction); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationResolver.java index acf5dd633d0..16edbfa14d5 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationResolver.java @@ -330,7 +330,7 @@ public class DeclarationResolver { }); } else { - declarations = Collections.singletonList(BindingContextUtils.descriptorToDeclaration(declarationDescriptor)); + declarations = Collections.singletonList(DescriptorToSourceUtils.descriptorToDeclaration(declarationDescriptor)); } return declarations; } @@ -379,11 +379,11 @@ public class DeclarationResolver { } redeclarations.add(Pair.create( - BindingContextUtils.classDescriptorToDeclaration((ClassDescriptor) descriptor), descriptor.getName() + DescriptorToSourceUtils.classDescriptorToDeclaration((ClassDescriptor) descriptor), descriptor.getName() )); if (descriptor2 instanceof PropertyDescriptor) { redeclarations.add(Pair.create( - BindingContextUtils.descriptorToDeclaration(descriptor2), descriptor2.getName() + DescriptorToSourceUtils.descriptorToDeclaration(descriptor2), descriptor2.getName() )); } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationsChecker.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationsChecker.java index fe7261d8e8c..eac79e4b8d3 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationsChecker.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationsChecker.java @@ -203,7 +203,7 @@ public class DeclarationsChecker { if (conflictingTypes.size() > 1) { DeclarationDescriptor containingDeclaration = typeParameterDescriptor.getContainingDeclaration(); assert containingDeclaration instanceof ClassDescriptor : containingDeclaration; - JetClassOrObject psiElement = (JetClassOrObject) BindingContextUtils.classDescriptorToDeclaration(classDescriptor); + JetClassOrObject psiElement = (JetClassOrObject) DescriptorToSourceUtils.classDescriptorToDeclaration(classDescriptor); JetDelegationSpecifierList delegationSpecifierList = psiElement.getDelegationSpecifierList(); assert delegationSpecifierList != null; // trace.getErrorHandler().genericError(delegationSpecifierList.getNode(), "Type parameter " + typeParameterDescriptor.getName() + " of " + containingDeclaration.getName() + " has inconsistent values: " + conflictingTypes); @@ -321,7 +321,7 @@ public class DeclarationsChecker { private void checkOpenMembers(ClassDescriptorWithResolutionScopes classDescriptor) { for (CallableMemberDescriptor memberDescriptor : classDescriptor.getDeclaredCallableMembers()) { if (memberDescriptor.getKind() != CallableMemberDescriptor.Kind.DECLARATION) continue; - JetNamedDeclaration member = (JetNamedDeclaration) BindingContextUtils.descriptorToDeclaration(memberDescriptor); + JetNamedDeclaration member = (JetNamedDeclaration) DescriptorToSourceUtils.descriptorToDeclaration(memberDescriptor); if (member != null && classDescriptor.getModality() == Modality.FINAL && member.hasModifier(JetTokens.OPEN_KEYWORD)) { trace.report(NON_FINAL_MEMBER_IN_FINAL_CLASS.on(member)); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorToSourceUtils.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorToSourceUtils.java new file mode 100644 index 00000000000..931a63c9457 --- /dev/null +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorToSourceUtils.java @@ -0,0 +1,112 @@ +/* + * Copyright 2010-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.jet.lang.resolve; + +import com.google.common.collect.Lists; +import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor; +import org.jetbrains.jet.lang.descriptors.ClassDescriptor; +import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; +import org.jetbrains.jet.lang.descriptors.DeclarationDescriptorWithSource; +import org.jetbrains.jet.lang.resolve.source.SourcePackage; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import static org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor.Kind.DECLARATION; +import static org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor.Kind.SYNTHESIZED; + +public final class DescriptorToSourceUtils { + + @Nullable + private static PsiElement doGetDescriptorToDeclaration(@NotNull DeclarationDescriptor descriptor) { + DeclarationDescriptor original = descriptor.getOriginal(); + if (!(original instanceof DeclarationDescriptorWithSource)) { + return null; + } + return SourcePackage.getPsi(((DeclarationDescriptorWithSource) original).getSource()); + } + + // NOTE this is also used by KDoc + @Nullable + public static PsiElement descriptorToDeclaration(@NotNull DeclarationDescriptor descriptor) { + if (descriptor instanceof CallableMemberDescriptor) { + return callableDescriptorToDeclaration((CallableMemberDescriptor) descriptor); + } + else if (descriptor instanceof ClassDescriptor) { + return classDescriptorToDeclaration((ClassDescriptor) descriptor); + } + else { + return doGetDescriptorToDeclaration(descriptor); + } + } + + @NotNull + public static List descriptorToDeclarations(@NotNull DeclarationDescriptor descriptor) { + if (descriptor instanceof CallableMemberDescriptor) { + return callableDescriptorToDeclarations((CallableMemberDescriptor) descriptor); + } + else { + PsiElement psiElement = descriptorToDeclaration(descriptor); + if (psiElement != null) { + return Lists.newArrayList(psiElement); + } else { + return Lists.newArrayList(); + } + } + } + + @Nullable + public static PsiElement callableDescriptorToDeclaration(@NotNull CallableMemberDescriptor callable) { + if (callable.getKind() == DECLARATION || callable.getKind() == SYNTHESIZED) { + return doGetDescriptorToDeclaration(callable); + } + //TODO: should not use this method for fake_override and delegation + Set overriddenDescriptors = callable.getOverriddenDescriptors(); + if (overriddenDescriptors.size() == 1) { + return callableDescriptorToDeclaration(overriddenDescriptors.iterator().next()); + } + return null; + } + + @NotNull + public static List callableDescriptorToDeclarations(@NotNull CallableMemberDescriptor callable) { + if (callable.getKind() == DECLARATION || callable.getKind() == SYNTHESIZED) { + PsiElement psiElement = doGetDescriptorToDeclaration(callable); + return psiElement != null ? Lists.newArrayList(psiElement) : Lists.newArrayList(); + } + + List r = new ArrayList(); + Set overriddenDescriptors = callable.getOverriddenDescriptors(); + for (CallableMemberDescriptor overridden : overriddenDescriptors) { + r.addAll(callableDescriptorToDeclarations(overridden)); + } + return r; + } + + @Nullable + public static PsiElement classDescriptorToDeclaration(@NotNull ClassDescriptor clazz) { + return doGetDescriptorToDeclaration(clazz); + } + + private DescriptorToSourceUtils() {} +} + + diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/InlineDescriptorUtils.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/InlineDescriptorUtils.java index f0911d4fee1..2220bbe5f17 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/InlineDescriptorUtils.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/InlineDescriptorUtils.java @@ -70,7 +70,7 @@ public class InlineDescriptorUtils { containingFunctionDescriptor = getContainingClassOrFunctionDescriptor(containingFunctionDescriptor, true); containingFunction = containingFunctionDescriptor != null - ? BindingContextUtils.descriptorToDeclaration(containingFunctionDescriptor) + ? DescriptorToSourceUtils.descriptorToDeclaration(containingFunctionDescriptor) : null; } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/LibrarySourceHacks.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/LibrarySourceHacks.java index c73e93cc6b7..01fc5b2a56c 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/LibrarySourceHacks.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/LibrarySourceHacks.java @@ -27,7 +27,7 @@ import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor; import java.util.Collection; import java.util.List; -import static org.jetbrains.jet.lang.resolve.BindingContextUtils.callableDescriptorToDeclaration; +import static org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils.callableDescriptorToDeclaration; public class LibrarySourceHacks { private LibrarySourceHacks() { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverloadResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverloadResolver.java index c3712d3f643..ae8f9834541 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverloadResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverloadResolver.java @@ -170,7 +170,7 @@ public class OverloadResolver { OverloadUtil.OverloadCompatibilityInfo overloadable = OverloadUtil.isOverloadable(member, member2); if (!overloadable.isSuccess()) { - JetDeclaration jetDeclaration = (JetDeclaration) BindingContextUtils.descriptorToDeclaration(member); + JetDeclaration jetDeclaration = (JetDeclaration) DescriptorToSourceUtils.descriptorToDeclaration(member); if (jetDeclaration != null) { redeclarations.add(Pair.create(jetDeclaration, member)); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverrideResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverrideResolver.java index bab26931534..4ffe1b2db0b 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverrideResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverrideResolver.java @@ -110,7 +110,7 @@ public class OverrideResolver { } } - JetClassOrObject classOrObject = (JetClassOrObject) BindingContextUtils.classDescriptorToDeclaration(classDescriptor); + JetClassOrObject classOrObject = (JetClassOrObject) DescriptorToSourceUtils.classDescriptorToDeclaration(classDescriptor); if (classOrObject != null) { DelegationResolver.generateDelegatesInAClass(classDescriptor, trace, classOrObject); } @@ -154,7 +154,7 @@ public class OverrideResolver { @Override public void conflict(@NotNull CallableMemberDescriptor fromSuper, @NotNull CallableMemberDescriptor fromCurrent) { - JetDeclaration declaration = (JetDeclaration) BindingContextUtils.descriptorToDeclaration(fromCurrent); + JetDeclaration declaration = (JetDeclaration) DescriptorToSourceUtils.descriptorToDeclaration(fromCurrent); //noinspection ConstantConditions trace.report(CONFLICTING_OVERLOADS.on(declaration, fromCurrent, fromCurrent.getContainingDeclaration().getName().asString())); } @@ -188,7 +188,7 @@ public class OverrideResolver { reportOn = descriptor; } //noinspection ConstantConditions - PsiElement element = BindingContextUtils.descriptorToDeclaration(reportOn); + PsiElement element = DescriptorToSourceUtils.descriptorToDeclaration(reportOn); if (element instanceof JetDeclaration) { trace.report(CANNOT_INFER_VISIBILITY.on((JetDeclaration) element, descriptor)); } @@ -609,7 +609,7 @@ public class OverrideResolver { return; } - final JetNamedDeclaration member = (JetNamedDeclaration) BindingContextUtils.descriptorToDeclaration(declared); + final JetNamedDeclaration member = (JetNamedDeclaration) DescriptorToSourceUtils.descriptorToDeclaration(declared); if (member == null) { throw new IllegalStateException("declared descriptor is not resolved to declaration: " + declared); } @@ -862,7 +862,7 @@ public class OverrideResolver { boolean isDeclaration = declared.getKind() == CallableMemberDescriptor.Kind.DECLARATION; if (isDeclaration) { // No check if the function is not marked as 'override' - JetModifierListOwner declaration = (JetModifierListOwner) BindingContextUtils.descriptorToDeclaration(declared); + JetModifierListOwner declaration = (JetModifierListOwner) DescriptorToSourceUtils.descriptorToDeclaration(declared); if (declaration != null && !declaration.hasModifier(JetTokens.OVERRIDE_KEYWORD)) { return; } @@ -892,7 +892,7 @@ public class OverrideResolver { } private void checkNameAndDefaultForDeclaredParameter(@NotNull ValueParameterDescriptor descriptor, boolean multipleDefaultsInSuper) { - JetParameter parameter = (JetParameter) BindingContextUtils.descriptorToDeclaration(descriptor); + JetParameter parameter = (JetParameter) DescriptorToSourceUtils.descriptorToDeclaration(descriptor); assert parameter != null : "Declaration not found for parameter: " + descriptor; if (descriptor.declaresDefaultValue()) { @@ -921,7 +921,7 @@ public class OverrideResolver { boolean multipleDefaultsInSuper ) { DeclarationDescriptor containingClass = containingFunction.getContainingDeclaration(); - JetClassOrObject classElement = (JetClassOrObject) BindingContextUtils.descriptorToDeclaration(containingClass); + JetClassOrObject classElement = (JetClassOrObject) DescriptorToSourceUtils.descriptorToDeclaration(containingClass); assert classElement != null : "Declaration not found for class: " + containingClass; if (multipleDefaultsInSuper) { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TraceBasedRedeclarationHandler.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TraceBasedRedeclarationHandler.java index 5462f05230a..ea27d901ac1 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TraceBasedRedeclarationHandler.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TraceBasedRedeclarationHandler.java @@ -37,7 +37,7 @@ public class TraceBasedRedeclarationHandler implements RedeclarationHandler { } private void report(DeclarationDescriptor descriptor) { - PsiElement firstElement = BindingContextUtils.descriptorToDeclaration(descriptor); + PsiElement firstElement = DescriptorToSourceUtils.descriptorToDeclaration(descriptor); if (firstElement != null) { trace.report(REDECLARATION.on(firstElement, descriptor.getName().asString())); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeHierarchyResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeHierarchyResolver.java index 95641146c76..34184de6cc4 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeHierarchyResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeHierarchyResolver.java @@ -284,7 +284,7 @@ public class TypeHierarchyResolver { @NotNull ClassDescriptor classDescriptor, @NotNull ClassDescriptor superclass ) { - PsiElement psiElement = BindingContextUtils.classDescriptorToDeclaration(classDescriptor); + PsiElement psiElement = DescriptorToSourceUtils.classDescriptorToDeclaration(classDescriptor); PsiElement elementToMark = null; if (psiElement instanceof JetClassOrObject) { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyClassMemberScope.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyClassMemberScope.java index fe74cb84698..10650fff537 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyClassMemberScope.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyClassMemberScope.java @@ -121,7 +121,7 @@ public class LazyClassMemberScope extends AbstractLazyMemberScope implements CachedValueProvider { diff --git a/compiler/tests/org/jetbrains/jet/resolve/ExpectedResolveData.java b/compiler/tests/org/jetbrains/jet/resolve/ExpectedResolveData.java index 2cbfa5c677f..a307673c3df 100644 --- a/compiler/tests/org/jetbrains/jet/resolve/ExpectedResolveData.java +++ b/compiler/tests/org/jetbrains/jet/resolve/ExpectedResolveData.java @@ -32,7 +32,7 @@ import org.jetbrains.jet.lang.diagnostics.DiagnosticUtils; import org.jetbrains.jet.lang.diagnostics.Errors; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.resolve.lazy.JvmResolveUtil; import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.Name; @@ -279,7 +279,7 @@ public abstract class ExpectedResolveData { PsiElement actual = referenceTarget == null ? bindingContext.get(BindingContext.LABEL_TARGET, referenceExpression) - : BindingContextUtils.descriptorToDeclaration(referenceTarget); + : DescriptorToSourceUtils.descriptorToDeclaration(referenceTarget); if (actual instanceof JetSimpleNameExpression) { actual = ((JetSimpleNameExpression)actual).getIdentifier(); } diff --git a/compiler/tests/org/jetbrains/jet/resolve/constraintSystem/MyDeclarations.kt b/compiler/tests/org/jetbrains/jet/resolve/constraintSystem/MyDeclarations.kt index 3683d26a0ec..cd61efd11f1 100644 --- a/compiler/tests/org/jetbrains/jet/resolve/constraintSystem/MyDeclarations.kt +++ b/compiler/tests/org/jetbrains/jet/resolve/constraintSystem/MyDeclarations.kt @@ -40,7 +40,7 @@ public class MyDeclarations( { val functions = context.getSliceContents(BindingContext.FUNCTION) functionFoo = findFunctionByName(functions.values(), "foo") - val function = BindingContextUtils.descriptorToDeclaration(functionFoo) as JetFunction + val function = DescriptorToSourceUtils.descriptorToDeclaration(functionFoo) as JetFunction val fooBody = function.getBodyExpression() scopeToResolveTypeParameters = context.get(BindingContext.RESOLUTION_SCOPE, fooBody)!! } diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/DescriptorToDeclarationUtil.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/DescriptorToDeclarationUtil.java index a547b6fe807..24878e803d2 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/DescriptorToDeclarationUtil.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/DescriptorToDeclarationUtil.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.psi.JetDeclaration; import org.jetbrains.jet.lang.psi.JetFile; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.plugin.libraries.DecompiledNavigationUtils; import org.jetbrains.jet.plugin.references.BuiltInsReferenceResolver; @@ -41,7 +41,7 @@ public final class DescriptorToDeclarationUtil { @Nullable public static PsiElement getDeclaration(@NotNull Project project, @NotNull DeclarationDescriptor descriptor) { - Collection elements = BindingContextUtils.descriptorToDeclarations(descriptor); + Collection elements = DescriptorToSourceUtils.descriptorToDeclarations(descriptor); if (elements.isEmpty()) { elements = findDecompiledAndBuiltInDeclarations(project, descriptor); } diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/GotoSuperActionHandler.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/GotoSuperActionHandler.java index 20d49f300f8..fc44577423e 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/GotoSuperActionHandler.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/GotoSuperActionHandler.java @@ -35,7 +35,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.resolve.OverrideResolver; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; @@ -102,7 +102,7 @@ public class GotoSuperActionHandler implements CodeInsightActionHandler { if (KotlinBuiltIns.getInstance().getAny() == descriptor) { return null; } - return BindingContextUtils.descriptorToDeclaration(descriptor); + return DescriptorToSourceUtils.descriptorToDeclaration(descriptor); } }); if (superDeclarations.isEmpty()) return; diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/JetTypeDeclarationProvider.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/JetTypeDeclarationProvider.java index e672bc8943d..47a9d1da449 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/JetTypeDeclarationProvider.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/JetTypeDeclarationProvider.java @@ -24,7 +24,7 @@ import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.psi.JetElement; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage; @@ -40,7 +40,7 @@ public class JetTypeDeclarationProvider implements TypeDeclarationProvider { if (type != null) { ClassifierDescriptor classifierDescriptor = type.getConstructor().getDeclarationDescriptor(); if (classifierDescriptor != null) { - PsiElement typeElement = BindingContextUtils.descriptorToDeclaration(classifierDescriptor); + PsiElement typeElement = DescriptorToSourceUtils.descriptorToDeclaration(classifierDescriptor); if (typeElement != null) { return new PsiElement[] {typeElement}; } diff --git a/idea/src/org/jetbrains/jet/plugin/completion/DescriptorLookupConverter.java b/idea/src/org/jetbrains/jet/plugin/completion/DescriptorLookupConverter.java index 5509aafa6f8..abf9c3813f6 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/DescriptorLookupConverter.java +++ b/idea/src/org/jetbrains/jet/plugin/completion/DescriptorLookupConverter.java @@ -25,8 +25,7 @@ import com.intellij.psi.PsiElement; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.*; -import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.lazy.KotlinCodeAnalyzer; import org.jetbrains.jet.lang.types.JetType; @@ -126,7 +125,7 @@ public final class DescriptorLookupConverter { if (descriptor instanceof CallableMemberDescriptor) { descriptor = DescriptorUtils.unwrapFakeOverride((CallableMemberDescriptor) descriptor); } - return createLookupElement(analyzer, descriptor, BindingContextUtils.descriptorToDeclaration(descriptor)); + return createLookupElement(analyzer, descriptor, DescriptorToSourceUtils.descriptorToDeclaration(descriptor)); } public static LookupElement[] collectLookupElements( diff --git a/idea/src/org/jetbrains/jet/plugin/completion/smart/ThisItems.kt b/idea/src/org/jetbrains/jet/plugin/completion/smart/ThisItems.kt index df04be700e0..ab54a2ed1b7 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/smart/ThisItems.kt +++ b/idea/src/org/jetbrains/jet/plugin/completion/smart/ThisItems.kt @@ -35,6 +35,7 @@ import org.jetbrains.jet.lang.psi.JetSimpleNameExpression import org.jetbrains.jet.lang.resolve.BindingContext import org.jetbrains.jet.plugin.completion.ExpectedInfo import org.jetbrains.jet.plugin.util.makeNotNullable +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils class ThisItems(val bindingContext: BindingContext) { public fun addToCollection(collection: MutableCollection, context: JetExpression, expectedInfos: Collection) { @@ -68,7 +69,7 @@ class ThisItems(val bindingContext: BindingContext) { val name: Name = descriptor.getName() if (!name.isSpecial()) return name.asString() - val psiElement = BindingContextUtils.descriptorToDeclaration(descriptor) + val psiElement = DescriptorToSourceUtils.descriptorToDeclaration(descriptor) val expression: JetExpression? = when (psiElement) { is JetFunctionLiteral -> psiElement.getParent() as? JetFunctionLiteralExpression is JetObjectDeclaration -> psiElement.getParent() as? JetObjectLiteralExpression diff --git a/idea/src/org/jetbrains/jet/plugin/debugger/KotlinSmartStepIntoHandler.kt b/idea/src/org/jetbrains/jet/plugin/debugger/KotlinSmartStepIntoHandler.kt index 25609b21152..492def218ed 100644 --- a/idea/src/org/jetbrains/jet/plugin/debugger/KotlinSmartStepIntoHandler.kt +++ b/idea/src/org/jetbrains/jet/plugin/debugger/KotlinSmartStepIntoHandler.kt @@ -39,6 +39,7 @@ import com.intellij.psi.PsiMethod import org.jetbrains.jet.plugin.codeInsight.CodeInsightUtils import com.intellij.psi.PsiDocumentManager import org.jetbrains.jet.lang.resolve.bindingContextUtil.getResolvedCall +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils public class KotlinSmartStepIntoHandler : JvmSmartStepIntoHandler() { @@ -131,7 +132,7 @@ public class KotlinSmartStepIntoHandler : JvmSmartStepIntoHandler() { if (getterDescriptor != null && !getterDescriptor.isDefault()) { val delegatedResolvedCall = bindingContext[BindingContext.DELEGATED_PROPERTY_RESOLVED_CALL, getterDescriptor] if (delegatedResolvedCall == null) { - val getter = BindingContextUtils.callableDescriptorToDeclaration(getterDescriptor) + val getter = DescriptorToSourceUtils.callableDescriptorToDeclaration(getterDescriptor) if (getter is JetPropertyAccessor && (getter.getBodyExpression() != null || getter.getEqualsToken() != null)) { val psiMethod = LightClassUtil.getLightClassAccessorMethod(getter) if (psiMethod != null) { @@ -142,7 +143,7 @@ public class KotlinSmartStepIntoHandler : JvmSmartStepIntoHandler() { else { val delegatedPropertyGetterDescriptor = delegatedResolvedCall.getResultingDescriptor() if (delegatedPropertyGetterDescriptor is CallableMemberDescriptor) { - val function = BindingContextUtils.callableDescriptorToDeclaration(delegatedPropertyGetterDescriptor) + val function = DescriptorToSourceUtils.callableDescriptorToDeclaration(delegatedPropertyGetterDescriptor) if (function is JetNamedFunction) { val psiMethod = LightClassUtil.getLightClassMethod(function) if (psiMethod != null) { @@ -163,7 +164,7 @@ public class KotlinSmartStepIntoHandler : JvmSmartStepIntoHandler() { val descriptor = resolvedCall.getResultingDescriptor() if (descriptor is CallableMemberDescriptor) { - val function = BindingContextUtils.callableDescriptorToDeclaration(descriptor) + val function = DescriptorToSourceUtils.callableDescriptorToDeclaration(descriptor) if (function is JetNamedFunction) { val psiMethod = LightClassUtil.getLightClassMethod(function) if (psiMethod != null) { diff --git a/idea/src/org/jetbrains/jet/plugin/hierarchy/calls/CalleeReferenceVisitorBase.java b/idea/src/org/jetbrains/jet/plugin/hierarchy/calls/CalleeReferenceVisitorBase.java index 4be32a776a9..36b9194b75d 100644 --- a/idea/src/org/jetbrains/jet/plugin/hierarchy/calls/CalleeReferenceVisitorBase.java +++ b/idea/src/org/jetbrains/jet/plugin/hierarchy/calls/CalleeReferenceVisitorBase.java @@ -25,7 +25,7 @@ import org.jetbrains.jet.lang.descriptors.FunctionDescriptor; import org.jetbrains.jet.lang.descriptors.PropertyDescriptor; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; public abstract class CalleeReferenceVisitorBase extends JetTreeVisitorVoid { private final BindingContext bindingContext; @@ -50,7 +50,7 @@ public abstract class CalleeReferenceVisitorBase extends JetTreeVisitorVoid { DeclarationDescriptor descriptor = bindingContext.get(BindingContext.REFERENCE_TARGET, expression); if (descriptor == null) return; - PsiElement declaration = BindingContextUtils.descriptorToDeclaration(descriptor); + PsiElement declaration = DescriptorToSourceUtils.descriptorToDeclaration(descriptor); if (declaration == null) return; if (isProperty(descriptor, declaration) || isCallable(descriptor, declaration, expression)) { diff --git a/idea/src/org/jetbrains/jet/plugin/highlighter/JetLineMarkerProvider.java b/idea/src/org/jetbrains/jet/plugin/highlighter/JetLineMarkerProvider.java index 59570267712..eaf24a85c1b 100644 --- a/idea/src/org/jetbrains/jet/plugin/highlighter/JetLineMarkerProvider.java +++ b/idea/src/org/jetbrains/jet/plugin/highlighter/JetLineMarkerProvider.java @@ -57,7 +57,7 @@ import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.descriptors.Modality; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.resolve.OverrideResolver; import org.jetbrains.jet.lexer.JetTokens; import org.jetbrains.jet.plugin.JetBundle; @@ -299,7 +299,7 @@ public class JetLineMarkerProvider implements LineMarkerProvider { if (overriddenMembers.isEmpty()) return; List list = Lists.newArrayList(); for (CallableMemberDescriptor overriddenMember : overriddenMembers) { - PsiElement declarationPsiElement = BindingContextUtils.descriptorToDeclaration(overriddenMember); + PsiElement declarationPsiElement = DescriptorToSourceUtils.descriptorToDeclaration(overriddenMember); list.add(declarationPsiElement); } if (list.isEmpty()) { diff --git a/idea/src/org/jetbrains/jet/plugin/intentions/ReplaceExplicitFunctionLiteralParamWithItIntention.kt b/idea/src/org/jetbrains/jet/plugin/intentions/ReplaceExplicitFunctionLiteralParamWithItIntention.kt index c4140e6a6e6..8348537f6ff 100644 --- a/idea/src/org/jetbrains/jet/plugin/intentions/ReplaceExplicitFunctionLiteralParamWithItIntention.kt +++ b/idea/src/org/jetbrains/jet/plugin/intentions/ReplaceExplicitFunctionLiteralParamWithItIntention.kt @@ -31,6 +31,7 @@ import org.jetbrains.jet.lang.descriptors.impl.AnonymousFunctionDescriptor import org.jetbrains.jet.lang.resolve.BindingContextUtils import org.jetbrains.jet.plugin.references.JetReference import org.jetbrains.jet.lang.descriptors.VariableDescriptor +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils public class ReplaceExplicitFunctionLiteralParamWithItIntention() : PsiElementBaseIntentionAction() { override fun invoke(project: Project, editor: Editor, element: PsiElement) { @@ -78,7 +79,7 @@ public class ReplaceExplicitFunctionLiteralParamWithItIntention() : PsiElementBa if (variableDescriptor != null) { val containingDescriptor = variableDescriptor.getContainingDeclaration() if (containingDescriptor is AnonymousFunctionDescriptor) { - return BindingContextUtils.descriptorToDeclaration(containingDescriptor) as? JetFunctionLiteral + return DescriptorToSourceUtils.descriptorToDeclaration(containingDescriptor) as? JetFunctionLiteral } } diff --git a/idea/src/org/jetbrains/jet/plugin/intentions/ReplaceItWithExplicitFunctionLiteralParamIntention.kt b/idea/src/org/jetbrains/jet/plugin/intentions/ReplaceItWithExplicitFunctionLiteralParamIntention.kt index 864bd6472e3..32d042e8ce4 100644 --- a/idea/src/org/jetbrains/jet/plugin/intentions/ReplaceItWithExplicitFunctionLiteralParamIntention.kt +++ b/idea/src/org/jetbrains/jet/plugin/intentions/ReplaceItWithExplicitFunctionLiteralParamIntention.kt @@ -33,6 +33,7 @@ import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor import org.jetbrains.jet.lang.resolve.BindingContextUtils import org.jetbrains.jet.lang.psi.JetFunctionLiteral import org.jetbrains.jet.plugin.references.JetReference +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils public class ReplaceItWithExplicitFunctionLiteralParamIntention() : PsiElementBaseIntentionAction() { override fun invoke(project: Project, editor: Editor, element: PsiElement) { @@ -41,7 +42,7 @@ public class ReplaceItWithExplicitFunctionLiteralParamIntention() : PsiElementBa val simpleNameReference = simpleNameExpression.getReference() as JetReference? val target = simpleNameReference?.resolveToDescriptors()?.first()!! - val funcExpr = BindingContextUtils.descriptorToDeclaration(target.getContainingDeclaration()!!) as JetFunctionLiteral + val funcExpr = DescriptorToSourceUtils.descriptorToDeclaration(target.getContainingDeclaration()!!) as JetFunctionLiteral val newExpr = JetPsiFactory.createExpression(project, "{ it -> 42 }") as JetFunctionLiteralExpression funcExpr.addRangeAfter(newExpr.getFunctionLiteral().getValueParameterList(), diff --git a/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/BaseJetVariableMacro.java b/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/BaseJetVariableMacro.java index ac59bcab6e0..bd9e3c4988b 100644 --- a/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/BaseJetVariableMacro.java +++ b/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/BaseJetVariableMacro.java @@ -34,7 +34,7 @@ import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.descriptors.VariableDescriptor; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents; import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage; @@ -83,7 +83,7 @@ public abstract class BaseJetVariableMacro extends Macro { List declarations = new ArrayList(); for (DeclarationDescriptor declarationDescriptor : TipsManager.excludeNotCallableExtensions(filteredDescriptors, scope)) { - PsiElement declaration = BindingContextUtils.descriptorToDeclaration(declarationDescriptor); + PsiElement declaration = DescriptorToSourceUtils.descriptorToDeclaration(declarationDescriptor); assert declaration == null || declaration instanceof PsiNamedElement; if (declaration instanceof JetProperty || declaration instanceof JetParameter) { diff --git a/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/JetAnonymousSuperMacro.java b/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/JetAnonymousSuperMacro.java index f2ffc7755b1..d5e11605953 100644 --- a/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/JetAnonymousSuperMacro.java +++ b/idea/src/org/jetbrains/jet/plugin/liveTemplates/macro/JetAnonymousSuperMacro.java @@ -36,7 +36,7 @@ import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.psi.JetExpression; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.plugin.JetBundle; import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache; @@ -102,7 +102,7 @@ public class JetAnonymousSuperMacro extends Macro { if (!classDescriptor.getModality().isOverridable()) continue; ClassKind kind = classDescriptor.getKind(); if (kind == ClassKind.TRAIT || kind == ClassKind.CLASS) { - PsiElement declaration = BindingContextUtils.descriptorToDeclaration(descriptor); + PsiElement declaration = DescriptorToSourceUtils.descriptorToDeclaration(descriptor); if (declaration != null) { result.add((PsiNamedElement) declaration); } diff --git a/idea/src/org/jetbrains/jet/plugin/parameterInfo/JetFunctionParameterInfoHandler.java b/idea/src/org/jetbrains/jet/plugin/parameterInfo/JetFunctionParameterInfoHandler.java index 7613ceddfa4..673974c6ba6 100644 --- a/idea/src/org/jetbrains/jet/plugin/parameterInfo/JetFunctionParameterInfoHandler.java +++ b/idea/src/org/jetbrains/jet/plugin/parameterInfo/JetFunctionParameterInfoHandler.java @@ -36,7 +36,7 @@ import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.psi.psiUtil.PsiUtilPackage; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.resolve.JetVisibilityChecker; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.scopes.JetScope; @@ -161,7 +161,7 @@ public class JetFunctionParameterInfoHandler implements ParameterInfoHandlerWith .append(": ") .append(DescriptorRenderer.SHORT_NAMES_IN_TYPES.renderType(getActualParameterType(parameter))); if (parameter.hasDefaultValue()) { - PsiElement parameterDeclaration = BindingContextUtils.descriptorToDeclaration(parameter); + PsiElement parameterDeclaration = DescriptorToSourceUtils.descriptorToDeclaration(parameter); builder.append(" = ").append(getDefaultExpressionString(parameterDeclaration)); } if (named) builder.append("]"); diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionReturnTypeFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionReturnTypeFix.java index 77de3a0334c..1ecfa45d06a 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionReturnTypeFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionReturnTypeFix.java @@ -31,8 +31,8 @@ import org.jetbrains.jet.lang.descriptors.SimpleFunctionDescriptor; import org.jetbrains.jet.lang.diagnostics.Diagnostic; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; import org.jetbrains.jet.lang.resolve.DescriptorResolver; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.resolve.bindingContextUtil.BindingContextUtilPackage; import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; import org.jetbrains.jet.lang.resolve.name.FqName; @@ -145,7 +145,8 @@ public class ChangeFunctionReturnTypeFix extends JetIntentionAction BindingContext context = ResolvePackage.getBindingContext((JetFile) entry.getContainingFile().getContainingFile()); ResolvedCall resolvedCall = context.get(BindingContext.COMPONENT_RESOLVED_CALL, entry); if (resolvedCall == null) return null; - JetFunction componentFunction = (JetFunction) BindingContextUtils.descriptorToDeclaration(resolvedCall.getCandidateDescriptor()); + JetFunction componentFunction = (JetFunction) DescriptorToSourceUtils + .descriptorToDeclaration(resolvedCall.getCandidateDescriptor()); JetType expectedType = context.get(BindingContext.TYPE, entry.getTypeRef()); if (componentFunction != null && expectedType != null) { return new ChangeFunctionReturnTypeFix(componentFunction, expectedType); @@ -166,7 +167,8 @@ public class ChangeFunctionReturnTypeFix extends JetIntentionAction BindingContext context = ResolvePackage.getBindingContext(expression.getContainingJetFile()); ResolvedCall resolvedCall = context.get(BindingContext.LOOP_RANGE_HAS_NEXT_RESOLVED_CALL, expression); if (resolvedCall == null) return null; - JetFunction hasNextFunction = (JetFunction) BindingContextUtils.descriptorToDeclaration(resolvedCall.getCandidateDescriptor()); + JetFunction hasNextFunction = (JetFunction) DescriptorToSourceUtils + .descriptorToDeclaration(resolvedCall.getCandidateDescriptor()); if (hasNextFunction != null) { return new ChangeFunctionReturnTypeFix(hasNextFunction, KotlinBuiltIns.getInstance().getBooleanType()); } @@ -186,7 +188,7 @@ public class ChangeFunctionReturnTypeFix extends JetIntentionAction BindingContext context = ResolvePackage.getBindingContext(expression.getContainingJetFile()); ResolvedCall resolvedCall = BindingContextUtilPackage.getResolvedCall(expression, context); if (resolvedCall == null) return null; - PsiElement compareTo = BindingContextUtils.descriptorToDeclaration(resolvedCall.getCandidateDescriptor()); + PsiElement compareTo = DescriptorToSourceUtils.descriptorToDeclaration(resolvedCall.getCandidateDescriptor()); if (!(compareTo instanceof JetFunction)) return null; return new ChangeFunctionReturnTypeFix((JetFunction) compareTo, KotlinBuiltIns.getInstance().getIntType()); } @@ -224,7 +226,8 @@ public class ChangeFunctionReturnTypeFix extends JetIntentionAction } if (overriddenMismatchingFunctions.size() == 1) { - PsiElement overriddenFunction = BindingContextUtils.descriptorToDeclaration(overriddenMismatchingFunctions.get(0)); + PsiElement overriddenFunction = DescriptorToSourceUtils + .descriptorToDeclaration(overriddenMismatchingFunctions.get(0)); if (overriddenFunction instanceof JetFunction) { actions.add(new ChangeFunctionReturnTypeFix((JetFunction) overriddenFunction, functionType)); } diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionSignatureFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionSignatureFix.java index 21853167c83..47995fb3609 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionSignatureFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionSignatureFix.java @@ -33,7 +33,7 @@ import org.jetbrains.jet.lang.diagnostics.DiagnosticWithParameters2; import org.jetbrains.jet.lang.diagnostics.Errors; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.checker.JetTypeChecker; import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; @@ -79,7 +79,7 @@ public abstract class ChangeFunctionSignatureFix extends JetIntentionAction declarations = BindingContextUtils.callableDescriptorToDeclarations(functionDescriptor); + List declarations = DescriptorToSourceUtils.callableDescriptorToDeclarations(functionDescriptor); if (declarations.isEmpty()) { return false; } diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVariableMutabilityFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVariableMutabilityFix.java index e10a09660e8..b2d4ebcacfd 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVariableMutabilityFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVariableMutabilityFix.java @@ -31,6 +31,7 @@ import org.jetbrains.jet.lang.psi.JetPsiFactory; import org.jetbrains.jet.lang.psi.JetSimpleNameExpression; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.plugin.JetBundle; import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage; @@ -73,7 +74,7 @@ public class ChangeVariableMutabilityFix implements IntentionAction { BindingContext bindingContext = ResolvePackage.getBindingContext(file); VariableDescriptor descriptor = BindingContextUtils.extractVariableDescriptorIfAny(bindingContext, simpleNameExpression, true); if (descriptor != null) { - PsiElement declaration = BindingContextUtils.descriptorToDeclaration(descriptor); + PsiElement declaration = DescriptorToSourceUtils.descriptorToDeclaration(descriptor); if (declaration instanceof JetProperty) { return (JetProperty) declaration; } diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVariableTypeFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVariableTypeFix.java index ddb86264a91..607a52af3ca 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVariableTypeFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVariableTypeFix.java @@ -31,7 +31,7 @@ import org.jetbrains.jet.lang.descriptors.PropertyDescriptor; import org.jetbrains.jet.lang.diagnostics.Diagnostic; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.types.ErrorUtils; @@ -112,7 +112,8 @@ public class ChangeVariableTypeFix extends JetIntentionAction resolvedCall = context.get(BindingContext.COMPONENT_RESOLVED_CALL, entry); if (resolvedCall == null) return null; - JetFunction componentFunction = (JetFunction) BindingContextUtils.descriptorToDeclaration(resolvedCall.getCandidateDescriptor()); + JetFunction componentFunction = (JetFunction) DescriptorToSourceUtils + .descriptorToDeclaration(resolvedCall.getCandidateDescriptor()); if (componentFunction == null) return null; JetType expectedType = resolvedCall.getCandidateDescriptor().getReturnType(); return expectedType == null ? null : new ChangeVariableTypeFix(entry, expectedType); @@ -168,7 +169,8 @@ public class ChangeVariableTypeFix extends JetIntentionAction { diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java b/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java index c11eae51e90..1f126b39444 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java @@ -32,7 +32,7 @@ import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor; import org.jetbrains.jet.lang.diagnostics.Diagnostic; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.resolve.bindingContextUtil.BindingContextUtilPackage; import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; import org.jetbrains.jet.lang.types.DeferredType; @@ -122,7 +122,7 @@ public class QuickFixUtil { @Nullable public static PsiElement safeGetDeclaration(@NotNull ResolvedCall resolvedCall) { - List declarations = BindingContextUtils.descriptorToDeclarations(resolvedCall.getResultingDescriptor()); + List declarations = DescriptorToSourceUtils.descriptorToDeclarations(resolvedCall.getResultingDescriptor()); //do not create fix if descriptor has more than one overridden declaration if (declarations.size() == 1) { return declarations.iterator().next(); diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringUtil.java b/idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringUtil.java index f4437b73ba5..f089e29246e 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringUtil.java +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringUtil.java @@ -44,7 +44,7 @@ import org.jetbrains.jet.lang.descriptors.impl.LocalVariableDescriptor; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.psi.psiUtil.PsiUtilPackage; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.resolve.OverrideResolver; import org.jetbrains.jet.lang.resolve.java.jetAsJava.KotlinLightMethod; import org.jetbrains.jet.lang.types.JetType; @@ -221,7 +221,7 @@ public class JetRefactoringUtil { @NotNull public static String formatClass(@NotNull DeclarationDescriptor classDescriptor, boolean inCode) { - PsiElement element = BindingContextUtils.descriptorToDeclaration(classDescriptor); + PsiElement element = DescriptorToSourceUtils.descriptorToDeclaration(classDescriptor); if (element instanceof PsiClass) { return formatPsiClass((PsiClass) element, false, inCode); } @@ -231,7 +231,7 @@ public class JetRefactoringUtil { @NotNull public static String formatFunction(@NotNull DeclarationDescriptor functionDescriptor, boolean inCode) { - PsiElement element = BindingContextUtils.descriptorToDeclaration(functionDescriptor); + PsiElement element = DescriptorToSourceUtils.descriptorToDeclaration(functionDescriptor); if (element instanceof PsiMethod) { return formatPsiMethod((PsiMethod) element, false, inCode); } diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/changeSignature/JetChangeSignatureUsageProcessor.java b/idea/src/org/jetbrains/jet/plugin/refactoring/changeSignature/JetChangeSignatureUsageProcessor.java index 1e0aa750955..d3ff0255c10 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/changeSignature/JetChangeSignatureUsageProcessor.java +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/changeSignature/JetChangeSignatureUsageProcessor.java @@ -37,7 +37,7 @@ import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.descriptors.impl.FunctionDescriptorImpl; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.lang.types.JetType; @@ -146,7 +146,7 @@ public class JetChangeSignatureUsageProcessor implements ChangeSignatureUsagePro if (!changeInfo.isConstructor() && functionScope != null && !info.getNewName().isEmpty()) { for (FunctionDescriptor conflict : functionScope.getFunctions(Name.identifier(info.getNewName()))) { if (conflict != oldDescriptor && getFunctionParameterTypes(conflict).equals(getFunctionParameterTypes(oldDescriptor))) { - PsiElement conflictElement = BindingContextUtils.descriptorToDeclaration(conflict); + PsiElement conflictElement = DescriptorToSourceUtils.descriptorToDeclaration(conflict); result.putValue(conflictElement, "Function already exists: '" + DescriptorRenderer.SHORT_NAMES_IN_TYPES.render(conflict) + "'"); break; } @@ -163,7 +163,7 @@ public class JetChangeSignatureUsageProcessor implements ChangeSignatureUsagePro if (parametersScope != null) { if (changeInfo.isConstructor() && valOrVar != JetValVar.None) { for (VariableDescriptor property : parametersScope.getProperties(Name.identifier(parameterName))) { - PsiElement propertyDeclaration = BindingContextUtils.descriptorToDeclaration(property); + PsiElement propertyDeclaration = DescriptorToSourceUtils.descriptorToDeclaration(property); if (propertyDeclaration != null && !(propertyDeclaration.getParent() instanceof JetParameterList)) { result.putValue(propertyDeclaration, "Duplicating property '" + parameterName + "'"); @@ -175,7 +175,7 @@ public class JetChangeSignatureUsageProcessor implements ChangeSignatureUsagePro VariableDescriptor variable = parametersScope.getLocalVariable(Name.identifier(parameterName)); if (variable != null && !(variable instanceof ValueParameterDescriptor)) { - PsiElement conflictElement = BindingContextUtils.descriptorToDeclaration(variable); + PsiElement conflictElement = DescriptorToSourceUtils.descriptorToDeclaration(variable); result.putValue(conflictElement, "Duplicating local variable '" + parameterName + "'"); } } @@ -190,7 +190,7 @@ public class JetChangeSignatureUsageProcessor implements ChangeSignatureUsagePro if (containingDeclaration instanceof ClassDescriptor) return ((ClassDescriptor) containingDeclaration).getMemberScope(ContainerUtil.emptyList()); else if (containingDeclaration instanceof FunctionDescriptorImpl) { - PsiElement container = BindingContextUtils.descriptorToDeclaration(containingDeclaration); + PsiElement container = DescriptorToSourceUtils.descriptorToDeclaration(containingDeclaration); if (container instanceof JetFunction) return getFunctionBodyScope((JetFunction) container, bindingContext); diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractionData.kt b/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractionData.kt index 90172b4c5c0..4ca0f834bb1 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractionData.kt +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractionData.kt @@ -50,6 +50,7 @@ import org.jetbrains.jet.lang.psi.JetPsiFactory import org.jetbrains.jet.lang.resolve.BindingContextUtils import org.jetbrains.jet.lang.psi.JetFunctionLiteral import org.jetbrains.jet.lang.resolve.bindingContextUtil.getResolvedCall +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils data class ExtractionOptions(val inferUnitTypeForUnusedValues: Boolean) { class object { @@ -105,7 +106,7 @@ class ExtractionData( val refOffsetToDeclaration by Delegates.lazy { fun isExtractableIt(descriptor: DeclarationDescriptor, context: BindingContext): Boolean { if (!(descriptor is ValueParameterDescriptor && (context[BindingContext.AUTO_CREATED_IT, descriptor] ?: false))) return false - val function = BindingContextUtils.descriptorToDeclaration(descriptor.getContainingDeclaration()) as? JetFunctionLiteral + val function = DescriptorToSourceUtils.descriptorToDeclaration(descriptor.getContainingDeclaration()) as? JetFunctionLiteral return function == null || !function.isInsideOf(originalElements) } diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/extractFunctionUtils.kt b/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/extractFunctionUtils.kt index 59a6da9f30a..e399b061a25 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/extractFunctionUtils.kt +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/extractFunctionUtils.kt @@ -65,6 +65,7 @@ import org.jetbrains.jet.lang.cfg.pseudocodeTraverser.TraversalOrder import org.jetbrains.jet.lang.resolve.bindingContextUtil.getTargetFunctionDescriptor import com.intellij.psi.PsiWhiteSpace import org.jetbrains.jet.lang.resolve.OverridingUtil +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils private val DEFAULT_FUNCTION_NAME = "myFun" private val DEFAULT_RETURN_TYPE = KotlinBuiltIns.getInstance().getUnitType() @@ -291,7 +292,7 @@ private fun JetType.processTypeIfExtractable( return collectReferencedTypes(processTypeArguments).fold(true) { (extractable, typeToCheck) -> val parameterTypeDescriptor = typeToCheck.getConstructor().getDeclarationDescriptor() as? TypeParameterDescriptor val typeParameter = parameterTypeDescriptor?.let { - BindingContextUtils.descriptorToDeclaration(it) + DescriptorToSourceUtils.descriptorToDeclaration(it) } as? JetTypeParameter when { diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/rename/RenameKotlinPropertyProcessor.kt b/idea/src/org/jetbrains/jet/plugin/refactoring/rename/RenameKotlinPropertyProcessor.kt index cb7e811c49f..308ae82638f 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/rename/RenameKotlinPropertyProcessor.kt +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/rename/RenameKotlinPropertyProcessor.kt @@ -44,6 +44,7 @@ import org.jetbrains.jet.lang.resolve.OverridingUtil import org.jetbrains.jet.lang.descriptors.PropertyDescriptor import org.jetbrains.jet.asJava.namedUnwrappedElement import org.jetbrains.jet.lang.resolve.OverrideResolver +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils public class RenameKotlinPropertyProcessor : RenamePsiElementProcessor() { override fun canProcessElement(element: PsiElement): Boolean = element.namedUnwrappedElement is JetProperty @@ -185,7 +186,7 @@ public class RenameKotlinPropertyProcessor : RenamePsiElementProcessor() { // Take one of supers for now - API doesn't support substitute to several elements (IDEA-48796) val deepest = supers.first() if (deepest != descriptor) { - val superPsiElement = BindingContextUtils.descriptorToDeclaration(deepest) + val superPsiElement = DescriptorToSourceUtils.descriptorToDeclaration(deepest) return superPsiElement as? JetProperty } } diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/safeDelete/KotlinJavaSafeDeleteDelegate.kt b/idea/src/org/jetbrains/jet/plugin/refactoring/safeDelete/KotlinJavaSafeDeleteDelegate.kt index bd7148e6338..5dc6fae8bc6 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/safeDelete/KotlinJavaSafeDeleteDelegate.kt +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/safeDelete/KotlinJavaSafeDeleteDelegate.kt @@ -34,6 +34,7 @@ import org.jetbrains.jet.plugin.references.JetReference import org.jetbrains.jet.lang.psi.psiUtil.getParentByType import org.jetbrains.jet.lang.psi.psiUtil.isAncestor import org.jetbrains.jet.lang.psi.psiUtil.parameterIndex +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils public class KotlinJavaSafeDeleteDelegate : JavaSafeDeleteDelegate { override fun createUsageInfoForParameter( @@ -57,7 +58,7 @@ public class KotlinJavaSafeDeleteDelegate : JavaSafeDeleteDelegate { val originalDeclaration = method.unwrapped if (originalDeclaration !is PsiMethod && originalDeclaration !is JetDeclaration) return - if (originalDeclaration != BindingContextUtils.descriptorToDeclaration(descriptor)) return + if (originalDeclaration != DescriptorToSourceUtils.descriptorToDeclaration(descriptor)) return val args = callExpression.getValueArguments() diff --git a/idea/src/org/jetbrains/jet/plugin/references/BuiltInsReferenceResolver.java b/idea/src/org/jetbrains/jet/plugin/references/BuiltInsReferenceResolver.java index 8611fb2ed2e..c3010051e71 100644 --- a/idea/src/org/jetbrains/jet/plugin/references/BuiltInsReferenceResolver.java +++ b/idea/src/org/jetbrains/jet/plugin/references/BuiltInsReferenceResolver.java @@ -233,7 +233,7 @@ public class BuiltInsReferenceResolver extends AbstractProjectComponent { public Collection resolveBuiltInSymbol(@NotNull DeclarationDescriptor declarationDescriptor) { DeclarationDescriptor descriptor = findCurrentDescriptor(declarationDescriptor.getOriginal()); if (descriptor != null) { - return BindingContextUtils.descriptorToDeclarations(descriptor); + return DescriptorToSourceUtils.descriptorToDeclarations(descriptor); } return Collections.emptyList(); } diff --git a/idea/src/org/jetbrains/jet/plugin/references/JetReference.kt b/idea/src/org/jetbrains/jet/plugin/references/JetReference.kt index 5fa1a0e0a0d..7e7a95b5978 100644 --- a/idea/src/org/jetbrains/jet/plugin/references/JetReference.kt +++ b/idea/src/org/jetbrains/jet/plugin/references/JetReference.kt @@ -40,6 +40,7 @@ import org.jetbrains.jet.lang.psi.JetElement import org.jetbrains.jet.utils.keysToMap import com.intellij.psi.PsiMethod import org.jetbrains.jet.plugin.search.allScope +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils public trait JetReference : PsiPolyVariantReference { public fun resolveToDescriptors(): Collection @@ -114,7 +115,7 @@ abstract class AbstractJetReference(element: T) private fun resolveToPsiElements(targetDescriptor: DeclarationDescriptor): Collection { val result = HashSet() val project = expression.getProject() - result.addAll(BindingContextUtils.descriptorToDeclarations(targetDescriptor)) + result.addAll(DescriptorToSourceUtils.descriptorToDeclarations(targetDescriptor)) result.addAll(DescriptorToDeclarationUtil.findDecompiledAndBuiltInDeclarations(project, targetDescriptor)) if (targetDescriptor is PackageViewDescriptor) { diff --git a/idea/src/org/jetbrains/jet/plugin/search/usagesSearch/utils.kt b/idea/src/org/jetbrains/jet/plugin/search/usagesSearch/utils.kt index cb34f761517..40d915cba0a 100644 --- a/idea/src/org/jetbrains/jet/plugin/search/usagesSearch/utils.kt +++ b/idea/src/org/jetbrains/jet/plugin/search/usagesSearch/utils.kt @@ -37,6 +37,7 @@ import org.jetbrains.jet.lang.descriptors.PropertyDescriptor import org.jetbrains.jet.lang.resolve.java.jetAsJava.KotlinLightMethod import org.jetbrains.jet.asJava.unwrapped import org.jetbrains.jet.lang.resolve.OverrideResolver +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils // Navigation element of the resolved reference // For property accessor return enclosing property @@ -103,7 +104,7 @@ fun PsiReference.isConstructorUsage(jetClassOrObject: JetClassOrObject): Boolean val descriptor = getCallDescriptor(bindingContext) if (descriptor !is ConstructorDescriptor) return false - return BindingContextUtils.descriptorToDeclaration(descriptor.getContainingDeclaration()) == jetClassOrObject + return DescriptorToSourceUtils.descriptorToDeclaration(descriptor.getContainingDeclaration()) == jetClassOrObject } checkJavaUsage() || checkKotlinUsage() diff --git a/idea/tests/org/jetbrains/jet/plugin/refactoring/rename/AbstractRenameTest.kt b/idea/tests/org/jetbrains/jet/plugin/refactoring/rename/AbstractRenameTest.kt index a3d8d45d073..d72d6480b71 100644 --- a/idea/tests/org/jetbrains/jet/plugin/refactoring/rename/AbstractRenameTest.kt +++ b/idea/tests/org/jetbrains/jet/plugin/refactoring/rename/AbstractRenameTest.kt @@ -47,6 +47,7 @@ import org.jetbrains.jet.getString import org.jetbrains.jet.getNullableString import org.jetbrains.jet.plugin.search.allScope import org.jetbrains.jet.plugin.caches.resolve.getBindingContext +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils private enum class RenameType { JAVA_CLASS @@ -190,7 +191,7 @@ public abstract class AbstractRenameTest : MultiFileTestCase() { val bindingContext = jetFile.getBindingContext() val classDescriptor = bindingContext.get(BindingContext.FQNAME_TO_CLASS_DESCRIPTOR, classFqName)!! - val psiElement = BindingContextUtils.descriptorToDeclaration(findDescriptorToRename(classDescriptor))!! + val psiElement = DescriptorToSourceUtils.descriptorToDeclaration(findDescriptorToRename(classDescriptor))!! val substitution = RenamePsiElementProcessor.forElement(psiElement).substituteElementToRename(psiElement, null) diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/context/StaticContext.java b/js/js.translator/src/org/jetbrains/k2js/translate/context/StaticContext.java index a9016c8626e..7f5d99535af 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/context/StaticContext.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/context/StaticContext.java @@ -36,7 +36,7 @@ import org.jetbrains.k2js.translate.utils.JsAstUtils; import java.util.Map; -import static org.jetbrains.jet.lang.resolve.BindingContextUtils.descriptorToDeclaration; +import static org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils.descriptorToDeclaration; import static org.jetbrains.k2js.translate.utils.AnnotationsUtils.getNameForAnnotatedObjectWithOverrides; import static org.jetbrains.k2js.translate.utils.AnnotationsUtils.isLibraryObject; import static org.jetbrains.k2js.translate.utils.JsDescriptorUtils.*; diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/utils/BindingUtils.java b/js/js.translator/src/org/jetbrains/k2js/translate/utils/BindingUtils.java index 827713ae145..0406f6c63ad 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/utils/BindingUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/utils/BindingUtils.java @@ -23,6 +23,7 @@ import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.BindingContextUtils; +import org.jetbrains.jet.lang.resolve.DescriptorToSourceUtils; import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant; @@ -76,14 +77,14 @@ public final class BindingUtils { @NotNull public static JetFunction getFunctionForDescriptor(@NotNull SimpleFunctionDescriptor descriptor) { - PsiElement result = BindingContextUtils.callableDescriptorToDeclaration(descriptor); + PsiElement result = DescriptorToSourceUtils.callableDescriptorToDeclaration(descriptor); assert result instanceof JetFunction : message(descriptor, "SimpleFunctionDescriptor should have declaration of type JetFunction"); return (JetFunction) result; } @NotNull private static JetParameter getParameterForDescriptor(@NotNull ValueParameterDescriptor descriptor) { - PsiElement result = BindingContextUtils.descriptorToDeclaration(descriptor); + PsiElement result = DescriptorToSourceUtils.descriptorToDeclaration(descriptor); assert result instanceof JetParameter : message(descriptor, "ValueParameterDescriptor should have corresponding JetParameter"); return (JetParameter) result; }