Refactor: extract JavaBaseScope getResolver() method
This commit is contained in:
+9
-3
@@ -25,6 +25,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jet.lang.descriptors.*;
|
import org.jetbrains.jet.lang.descriptors.*;
|
||||||
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
||||||
|
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.java.JavaSemanticServices;
|
import org.jetbrains.jet.lang.resolve.java.JavaSemanticServices;
|
||||||
import org.jetbrains.jet.lang.resolve.java.descriptor.JavaNamespaceDescriptor;
|
import org.jetbrains.jet.lang.resolve.java.descriptor.JavaNamespaceDescriptor;
|
||||||
import org.jetbrains.jet.lang.resolve.java.provider.*;
|
import org.jetbrains.jet.lang.resolve.java.provider.*;
|
||||||
@@ -89,7 +90,7 @@ public abstract class JavaBaseScope extends JetScopeImpl {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private Set<VariableDescriptor> computePropertyDescriptors(@NotNull Name name) {
|
private Set<VariableDescriptor> computePropertyDescriptors(@NotNull Name name) {
|
||||||
return semanticServices.getDescriptorResolver().resolveFieldGroupByName(name, declarationProvider, descriptor);
|
return getResolver().resolveFieldGroupByName(name, declarationProvider, descriptor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -158,11 +159,16 @@ public abstract class JavaBaseScope extends JetScopeImpl {
|
|||||||
) {
|
) {
|
||||||
// TODO: Trying to hack the situation when we produce namespace descriptor for java class and still want to see inner classes
|
// TODO: Trying to hack the situation when we produce namespace descriptor for java class and still want to see inner classes
|
||||||
if (descriptor instanceof JavaNamespaceDescriptor) {
|
if (descriptor instanceof JavaNamespaceDescriptor) {
|
||||||
result.addAll(semanticServices.getDescriptorResolver().resolveInnerClasses(descriptor, psiClass, false));
|
result.addAll(getResolver().resolveInnerClasses(descriptor, psiClass, false));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
result.addAll(semanticServices.getDescriptorResolver().resolveInnerClasses(
|
result.addAll(getResolver().resolveInnerClasses(
|
||||||
descriptor, psiClass, ((ClassPsiDeclarationProviderImpl) declarationProvider).isStaticMembers()));
|
descriptor, psiClass, ((ClassPsiDeclarationProviderImpl) declarationProvider).isStaticMembers()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
protected JavaDescriptorResolver getResolver() {
|
||||||
|
return semanticServices.getDescriptorResolver();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-8
@@ -32,11 +32,6 @@ import java.util.Collection;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
|
||||||
* Class static of instance members.
|
|
||||||
*
|
|
||||||
* @author abreslav
|
|
||||||
*/
|
|
||||||
public abstract class JavaClassMembersScope extends JavaBaseScope {
|
public abstract class JavaClassMembersScope extends JavaBaseScope {
|
||||||
@NotNull
|
@NotNull
|
||||||
private final Map<Name, ClassifierDescriptor> classifiers = Maps.newHashMap();
|
private final Map<Name, ClassifierDescriptor> classifiers = Maps.newHashMap();
|
||||||
@@ -73,7 +68,7 @@ public abstract class JavaClassMembersScope extends JavaBaseScope {
|
|||||||
for (PsiClass innerClass : classPsiDeclarationProvider.getPsiClass().getAllInnerClasses()) {
|
for (PsiClass innerClass : classPsiDeclarationProvider.getPsiClass().getAllInnerClasses()) {
|
||||||
if (name.getName().equals(innerClass.getName())) {
|
if (name.getName().equals(innerClass.getName())) {
|
||||||
if (innerClass.hasModifierProperty(PsiModifier.STATIC) != classPsiDeclarationProvider.isStaticMembers()) return null;
|
if (innerClass.hasModifierProperty(PsiModifier.STATIC) != classPsiDeclarationProvider.isStaticMembers()) return null;
|
||||||
ClassDescriptor classDescriptor = semanticServices.getDescriptorResolver()
|
ClassDescriptor classDescriptor = getResolver()
|
||||||
.resolveClass(new FqName(innerClass.getQualifiedName()), DescriptorSearchRule.IGNORE_IF_FOUND_IN_KOTLIN);
|
.resolveClass(new FqName(innerClass.getQualifiedName()), DescriptorSearchRule.IGNORE_IF_FOUND_IN_KOTLIN);
|
||||||
if (classDescriptor != null) {
|
if (classDescriptor != null) {
|
||||||
return classDescriptor;
|
return classDescriptor;
|
||||||
@@ -86,7 +81,6 @@ public abstract class JavaClassMembersScope extends JavaBaseScope {
|
|||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
protected Set<FunctionDescriptor> computeFunctionDescriptor(@NotNull Name name) {
|
protected Set<FunctionDescriptor> computeFunctionDescriptor(@NotNull Name name) {
|
||||||
return semanticServices.getDescriptorResolver()
|
return getResolver().resolveFunctionGroup(name, classPsiDeclarationProvider, descriptor);
|
||||||
.resolveFunctionGroup(name, classPsiDeclarationProvider, descriptor);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-2
@@ -43,7 +43,6 @@ public final class JavaClassStaticMembersScope extends JavaPackageScope {
|
|||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
protected Set<FunctionDescriptor> computeFunctionDescriptor(@NotNull Name name) {
|
protected Set<FunctionDescriptor> computeFunctionDescriptor(@NotNull Name name) {
|
||||||
return semanticServices.getDescriptorResolver()
|
return getResolver().resolveFunctionGroup(name, declarationProvider, descriptor);
|
||||||
.resolveFunctionGroup(name, declarationProvider, descriptor);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -52,18 +52,18 @@ public abstract class JavaPackageScope extends JavaBaseScope {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ClassifierDescriptor getClassifier(@NotNull Name name) {
|
public ClassifierDescriptor getClassifier(@NotNull Name name) {
|
||||||
return semanticServices.getDescriptorResolver().resolveClass(packageFQN.child(name), DescriptorSearchRule.IGNORE_IF_FOUND_IN_KOTLIN);
|
return getResolver().resolveClass(packageFQN.child(name), DescriptorSearchRule.IGNORE_IF_FOUND_IN_KOTLIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ClassDescriptor getObjectDescriptor(@NotNull Name name) {
|
public ClassDescriptor getObjectDescriptor(@NotNull Name name) {
|
||||||
//TODO: check that class is an object
|
//TODO: check that class is an object
|
||||||
return semanticServices.getDescriptorResolver().resolveClass(packageFQN.child(name), DescriptorSearchRule.IGNORE_IF_FOUND_IN_KOTLIN);
|
return getResolver().resolveClass(packageFQN.child(name), DescriptorSearchRule.IGNORE_IF_FOUND_IN_KOTLIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NamespaceDescriptor getNamespace(@NotNull Name name) {
|
public NamespaceDescriptor getNamespace(@NotNull Name name) {
|
||||||
return semanticServices.getDescriptorResolver().resolveNamespace(packageFQN.child(name), DescriptorSearchRule.INCLUDE_KOTLIN);
|
return getResolver().resolveNamespace(packageFQN.child(name), DescriptorSearchRule.INCLUDE_KOTLIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: remove this method
|
//TODO: remove this method
|
||||||
|
|||||||
+1
-2
@@ -43,7 +43,6 @@ public final class JavaScopeForKotlinNamespace extends JavaPackageScope {
|
|||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
protected Set<FunctionDescriptor> computeFunctionDescriptor(@NotNull Name name) {
|
protected Set<FunctionDescriptor> computeFunctionDescriptor(@NotNull Name name) {
|
||||||
return semanticServices.getDescriptorResolver()
|
return getResolver().resolveFunctionGroup(name, declarationProvider, descriptor);
|
||||||
.resolveFunctionGroup(name, declarationProvider, descriptor);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user