Use DescriptorToDeclarationUtil to get function declaration in JetChangeSignature

This commit is contained in:
Pavel V. Talanov
2013-11-11 16:00:32 +04:00
parent 53acd2c837
commit f4c8655fa2
2 changed files with 4 additions and 2 deletions
@@ -32,6 +32,7 @@ import java.util.*
import org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor.Kind.*
import org.jetbrains.jet.lang.resolve.BindingContextUtils.*
import org.jetbrains.annotations.TestOnly
import org.jetbrains.jet.plugin.codeInsight.DescriptorToDeclarationUtil
public trait JetChangeSignatureConfiguration {
fun configure(changeSignatureData: JetChangeSignatureData, bindingContext: BindingContext)
@@ -135,7 +136,7 @@ public class JetChangeSignature(val project: Project,
fun createChangeSignatureDialog(descriptorsForSignatureChange: Collection<FunctionDescriptor>): JetChangeSignatureDialog? {
val baseDescriptor = preferContainedInClass(descriptorsForSignatureChange)
val functionDeclaration = callableDescriptorToDeclaration(bindingContext, baseDescriptor)
val functionDeclaration = DescriptorToDeclarationUtil.getDeclaration(project, baseDescriptor, bindingContext)
if (functionDeclaration == null) {
LOG.error("Could not find declaration for $baseDescriptor")
return null
@@ -34,6 +34,7 @@ import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.resolve.BindingContextUtils;
import org.jetbrains.jet.lang.resolve.java.jetAsJava.JetClsMethod;
import org.jetbrains.jet.lang.types.JetType;
import org.jetbrains.jet.plugin.codeInsight.DescriptorToDeclarationUtil;
import org.jetbrains.jet.renderer.DescriptorRenderer;
import java.util.ArrayList;
@@ -110,7 +111,7 @@ public final class JetChangeSignatureData implements JetMethodDescriptor {
@NotNull
private Collection<PsiElement> computeHierarchyFrom(@NotNull FunctionDescriptor baseDescriptor) {
PsiElement declaration = BindingContextUtils.callableDescriptorToDeclaration(bindingContext, baseDescriptor);
PsiElement declaration = DescriptorToDeclarationUtil.getDeclaration(baseDeclaration.getProject(), baseDescriptor, bindingContext);
Set<PsiElement> result = Sets.newHashSet();
result.add(declaration);
if (!(declaration instanceof JetNamedFunction)) {