Delete JavaBaseScope.getPsiElement()
This commit is contained in:
+16
-14
@@ -38,7 +38,6 @@ import org.jetbrains.jet.lang.resolve.java.*;
|
||||
import org.jetbrains.jet.lang.resolve.java.descriptor.JavaNamespaceDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap;
|
||||
import org.jetbrains.jet.lang.resolve.java.sam.SingleAbstractMethodUtils;
|
||||
import org.jetbrains.jet.lang.resolve.java.scope.JavaBaseScope;
|
||||
import org.jetbrains.jet.lang.resolve.java.scope.JavaClassStaticMembersScope;
|
||||
import org.jetbrains.jet.lang.resolve.java.scope.JavaPackageScope;
|
||||
import org.jetbrains.jet.lang.resolve.java.vfilefinder.VirtualFileFinder;
|
||||
@@ -124,16 +123,11 @@ public final class JavaNamespaceResolver {
|
||||
qualifiedName
|
||||
);
|
||||
|
||||
JetScope newScope = createNamespaceScope(qualifiedName, javaNamespaceDescriptor);
|
||||
JetScope newScope = createNamespaceScope(qualifiedName, javaNamespaceDescriptor, true);
|
||||
if (newScope == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (newScope instanceof JavaBaseScope) {
|
||||
trace.record(BindingContext.NAMESPACE, ((JavaBaseScope) newScope).getPsiElement(), javaNamespaceDescriptor);
|
||||
}
|
||||
|
||||
|
||||
javaNamespaceDescriptor.setMemberScope(newScope);
|
||||
|
||||
return javaNamespaceDescriptor;
|
||||
@@ -150,11 +144,8 @@ public final class JavaNamespaceResolver {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private JetScope createNamespaceScope(
|
||||
@NotNull FqName fqName,
|
||||
@NotNull NamespaceDescriptor namespaceDescriptor
|
||||
) {
|
||||
JetScope namespaceScope = doCreateNamespaceScope(fqName, namespaceDescriptor);
|
||||
private JetScope createNamespaceScope(@NotNull FqName fqName, @NotNull NamespaceDescriptor namespaceDescriptor, boolean record) {
|
||||
JetScope namespaceScope = doCreateNamespaceScope(fqName, namespaceDescriptor, record);
|
||||
cache(fqName, namespaceScope);
|
||||
return namespaceScope;
|
||||
}
|
||||
@@ -162,7 +153,8 @@ public final class JavaNamespaceResolver {
|
||||
@Nullable
|
||||
private JetScope doCreateNamespaceScope(
|
||||
@NotNull FqName fqName,
|
||||
@NotNull NamespaceDescriptor namespaceDescriptor
|
||||
@NotNull NamespaceDescriptor namespaceDescriptor,
|
||||
boolean record
|
||||
) {
|
||||
PsiPackage psiPackage = psiClassFinder.findPsiPackage(fqName);
|
||||
if (psiPackage != null) {
|
||||
@@ -182,6 +174,10 @@ public final class JavaNamespaceResolver {
|
||||
|
||||
|
||||
// Otherwise (if psiClass is null or doesn't have a supported Kotlin annotation), it's a Java class and the package is empty
|
||||
if (record) {
|
||||
trace.record(BindingContext.NAMESPACE, psiPackage, namespaceDescriptor);
|
||||
}
|
||||
|
||||
return new JavaPackageScope(namespaceDescriptor, psiPackage, fqName, javaDescriptorResolver, psiClassFinder);
|
||||
}
|
||||
|
||||
@@ -195,7 +191,13 @@ public final class JavaNamespaceResolver {
|
||||
if (!hasStaticMembers(psiClass)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
trace.record(JavaBindingContext.JAVA_NAMESPACE_KIND, namespaceDescriptor, JavaNamespaceKind.CLASS_STATICS);
|
||||
|
||||
if (record) {
|
||||
trace.record(BindingContext.NAMESPACE, psiClass, namespaceDescriptor);
|
||||
}
|
||||
|
||||
return new JavaClassStaticMembersScope(namespaceDescriptor, fqName, psiClass, psiClassFinder, javaDescriptorResolver);
|
||||
}
|
||||
|
||||
@@ -222,7 +224,7 @@ public final class JavaNamespaceResolver {
|
||||
if (alreadyResolvedScope != null) {
|
||||
return alreadyResolvedScope;
|
||||
}
|
||||
return createNamespaceScope(fqName, namespaceDescriptor);
|
||||
return createNamespaceScope(fqName, namespaceDescriptor, false);
|
||||
}
|
||||
|
||||
private static boolean hasStaticMembers(@NotNull PsiClass psiClass) {
|
||||
|
||||
-5
@@ -21,7 +21,6 @@ import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.intellij.openapi.progress.ProgressIndicatorProvider;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -159,10 +158,6 @@ public abstract class JavaBaseScope extends JetScopeImpl {
|
||||
return result;
|
||||
}
|
||||
|
||||
//TODO: remove this method
|
||||
@NotNull
|
||||
public abstract PsiElement getPsiElement();
|
||||
|
||||
@NotNull
|
||||
protected Collection<ClassDescriptor> getInnerClasses() {
|
||||
if (innerClasses == null) {
|
||||
|
||||
-6
@@ -42,12 +42,6 @@ public abstract class JavaClassMembersScope extends JavaBaseScope {
|
||||
this.psiClass = psiClass;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public PsiClass getPsiElement() {
|
||||
return psiClass;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<DeclarationDescriptor> getDeclarationsByLabel(LabelName labelName) {
|
||||
|
||||
-3
@@ -38,8 +38,6 @@ public final class JavaClassNonStaticMembersScope extends JavaClassMembersScope
|
||||
private ConstructorDescriptor primaryConstructor = null;
|
||||
@NotNull
|
||||
private final ClassDescriptor descriptor;
|
||||
@NotNull
|
||||
private final PsiClass psiClass;
|
||||
private final boolean staticMembersOfPsiClass;
|
||||
|
||||
public JavaClassNonStaticMembersScope(
|
||||
@@ -51,7 +49,6 @@ public final class JavaClassNonStaticMembersScope extends JavaClassMembersScope
|
||||
) {
|
||||
super(descriptor, psiClass, MembersProvider.forClass(psiClassFinder, psiClass, staticMembersOfPsiClass), javaDescriptorResolver);
|
||||
this.descriptor = descriptor;
|
||||
this.psiClass = psiClass;
|
||||
this.staticMembersOfPsiClass = staticMembersOfPsiClass;
|
||||
}
|
||||
|
||||
|
||||
-3
@@ -35,8 +35,6 @@ import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.INCLUDE_K
|
||||
public final class JavaClassStaticMembersScope extends JavaClassMembersScope {
|
||||
@NotNull
|
||||
private final FqName packageFQN;
|
||||
@NotNull
|
||||
private final PsiClass psiClass;
|
||||
|
||||
public JavaClassStaticMembersScope(
|
||||
@NotNull NamespaceDescriptor descriptor,
|
||||
@@ -47,7 +45,6 @@ public final class JavaClassStaticMembersScope extends JavaClassMembersScope {
|
||||
) {
|
||||
super(descriptor, psiClass, MembersProvider.forClass(psiClassFinder, psiClass, true), javaDescriptorResolver);
|
||||
this.packageFQN = packageFQN;
|
||||
this.psiClass = psiClass;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
-6
@@ -59,12 +59,6 @@ public final class JavaPackageScope extends JavaBaseScope {
|
||||
this.psiClassFinder = psiClassFinder;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public PsiPackage getPsiElement() {
|
||||
return psiPackage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClassifierDescriptor getClassifier(@NotNull Name name) {
|
||||
ClassDescriptor classDescriptor = javaDescriptorResolver.resolveClass(packageFQN.child(name), IGNORE_KOTLIN_SOURCES);
|
||||
|
||||
Reference in New Issue
Block a user