more descriptorToDeclaration utils
* custom versions * normalization code moved out of norializer * hide DESCRIPTOR_TO_DECLARATION (make package local)
This commit is contained in:
@@ -39,15 +39,10 @@ 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.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
|
||||
import org.jetbrains.jet.lang.resolve.java.CompilerDependencies;
|
||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor;
|
||||
import org.jetbrains.jet.lang.types.JetType;
|
||||
import org.jetbrains.jet.plugin.project.AnalyzeSingleFileUtil;
|
||||
import org.jetbrains.jet.plugin.project.AnalyzerFacadeProvider;
|
||||
import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade;
|
||||
import org.jetbrains.jet.resolve.DescriptorRenderer;
|
||||
import org.jetbrains.jet.util.slicedmap.ReadOnlySlice;
|
||||
|
||||
@@ -101,9 +96,11 @@ public class JetSourceNavigationHelper {
|
||||
public static JetClass getSourceClass(@NotNull JetClass decompiledClass) {
|
||||
Tuple2<BindingContext, ClassDescriptor> bindingContextAndClassDescriptor = getBindingContextAndClassDescriptor(decompiledClass);
|
||||
if (bindingContextAndClassDescriptor == null) return null;
|
||||
PsiElement declaration = BindingContextUtils.descriptorToDeclaration(
|
||||
PsiElement declaration = BindingContextUtils.classDescriptorToDeclaration(
|
||||
bindingContextAndClassDescriptor._1, bindingContextAndClassDescriptor._2);
|
||||
assert declaration instanceof JetClass;
|
||||
if (declaration == null) {
|
||||
throw new IllegalStateException("class not found by " + bindingContextAndClassDescriptor._2);
|
||||
}
|
||||
return (JetClass) declaration;
|
||||
}
|
||||
|
||||
|
||||
@@ -77,9 +77,9 @@ class JetArrayAccessReference extends JetPsiReference implements MultiRangeRefer
|
||||
if (getFunction == null || setFunction == null) {
|
||||
return new ResolveResult[0];
|
||||
}
|
||||
PsiElement getFunctionElement = BindingContextUtils.descriptorToDeclaration(bindingContext, getFunction.getResultingDescriptor());
|
||||
PsiElement getFunctionElement = BindingContextUtils.callableDescriptorToDeclaration(bindingContext, getFunction.getResultingDescriptor());
|
||||
assert getFunctionElement != null;
|
||||
PsiElement setFunctionElement = BindingContextUtils.descriptorToDeclaration(bindingContext, setFunction.getResultingDescriptor());
|
||||
PsiElement setFunctionElement = BindingContextUtils.callableDescriptorToDeclaration(bindingContext, setFunction.getResultingDescriptor());
|
||||
assert setFunctionElement != null;
|
||||
return new ResolveResult[] {new PsiElementResolveResult(getFunctionElement, true), new PsiElementResolveResult(setFunctionElement, true)};
|
||||
}
|
||||
|
||||
@@ -35,7 +35,6 @@ import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
import static org.jetbrains.jet.lang.resolve.BindingContext.AMBIGUOUS_REFERENCE_TARGET;
|
||||
import static org.jetbrains.jet.lang.resolve.BindingContext.DESCRIPTOR_TO_DECLARATION;
|
||||
|
||||
public abstract class JetPsiReference implements PsiPolyVariantReference {
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.intellij.refactoring.MultiFileTestCase;
|
||||
import com.intellij.refactoring.rename.RenameProcessor;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.JetClassOrObject;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContextUtils;
|
||||
import org.jetbrains.jet.lang.resolve.FqName;
|
||||
@@ -70,7 +71,7 @@ public class RenameInKotlinTest extends MultiFileTestCase {
|
||||
|
||||
assertNotNull(classDescriptor);
|
||||
|
||||
PsiElement psiElement = BindingContextUtils.descriptorToDeclaration(bindingContext, classDescriptor);
|
||||
PsiElement psiElement = BindingContextUtils.classDescriptorToDeclaration(bindingContext, classDescriptor);
|
||||
|
||||
assertNotNull(psiElement);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user