Remove useless PsiClass parameter

It was used only for a debug message and an assertion that never happened
This commit is contained in:
Alexander Udalov
2013-07-25 18:26:49 +04:00
parent cc81d12b55
commit 4eb9f28312
5 changed files with 22 additions and 41 deletions
@@ -121,12 +121,8 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
} }
@NotNull @NotNull
public Set<FunctionDescriptor> resolveFunctionGroupForClass( public Set<FunctionDescriptor> resolveFunctionGroupForClass(@NotNull NamedMembers members, @NotNull ClassOrNamespaceDescriptor owner) {
@NotNull NamedMembers members, return functionResolver.resolveFunctionGroupForClass(members, owner);
@NotNull ClassOrNamespaceDescriptor owner,
@NotNull PsiClass psiClass
) {
return functionResolver.resolveFunctionGroupForClass(members, owner, psiClass);
} }
@NotNull @NotNull
@@ -89,19 +89,15 @@ public final class JavaFunctionResolver {
} }
@Nullable @Nullable
SimpleFunctionDescriptor resolveFunctionMutely( SimpleFunctionDescriptor resolveFunctionMutely(@NotNull PsiMethodWrapper method, @NotNull ClassOrNamespaceDescriptor owner) {
@NotNull PsiMethodWrapper method, return resolveMethodToFunctionDescriptor(method, owner, false);
@NotNull ClassOrNamespaceDescriptor ownerDescriptor
) {
PsiClass containingClass = method.getPsiMethod().getContainingClass();
assert containingClass != null : "containing class is null for " + method;
return resolveMethodToFunctionDescriptor(containingClass, method, ownerDescriptor, false);
} }
@Nullable @Nullable
private SimpleFunctionDescriptor resolveMethodToFunctionDescriptor( private SimpleFunctionDescriptor resolveMethodToFunctionDescriptor(
@NotNull PsiClass psiClass, PsiMethodWrapper method, @NotNull PsiMethodWrapper method,
@NotNull ClassOrNamespaceDescriptor ownerDescriptor, boolean record @NotNull ClassOrNamespaceDescriptor ownerDescriptor,
boolean record
) { ) {
if (!DescriptorResolverUtils.isCorrectOwnerForEnumMember(ownerDescriptor, method.getPsiMember())) { if (!DescriptorResolverUtils.isCorrectOwnerForEnumMember(ownerDescriptor, method.getPsiMember())) {
return null; return null;
@@ -113,7 +109,6 @@ public final class JavaFunctionResolver {
} }
PsiMethod psiMethod = method.getPsiMethod(); PsiMethod psiMethod = method.getPsiMethod();
PsiClass containingClass = psiMethod.getContainingClass();
if (trace.get(BindingContext.FUNCTION, psiMethod) != null) { if (trace.get(BindingContext.FUNCTION, psiMethod) != null) {
return trace.get(BindingContext.FUNCTION, psiMethod); return trace.get(BindingContext.FUNCTION, psiMethod);
@@ -129,7 +124,7 @@ public final class JavaFunctionResolver {
List<TypeParameterDescriptor> methodTypeParameters = signatureResolver.resolveMethodTypeParameters(method, functionDescriptorImpl); List<TypeParameterDescriptor> methodTypeParameters = signatureResolver.resolveMethodTypeParameters(method, functionDescriptorImpl);
TypeVariableResolver methodTypeVariableResolver = new TypeVariableResolver( TypeVariableResolver methodTypeVariableResolver = new TypeVariableResolver(
methodTypeParameters, functionDescriptorImpl, "method " + method.getName() + " in class " + psiClass.getQualifiedName()); methodTypeParameters, functionDescriptorImpl, "method " + method.getName() + " in class " + psiMethod.getContainingClass());
JavaDescriptorResolver.ValueParameterDescriptors valueParameterDescriptors = parameterResolver JavaDescriptorResolver.ValueParameterDescriptors valueParameterDescriptors = parameterResolver
.resolveParameterDescriptors(functionDescriptorImpl, method.getParameters(), methodTypeVariableResolver); .resolveParameterDescriptors(functionDescriptorImpl, method.getParameters(), methodTypeVariableResolver);
@@ -184,10 +179,6 @@ public final class JavaFunctionResolver {
trace.record(JavaBindingContext.IS_DECLARED_IN_JAVA, functionDescriptorImpl); trace.record(JavaBindingContext.IS_DECLARED_IN_JAVA, functionDescriptorImpl);
} }
if (containingClass != psiClass && !method.isStatic()) {
throw new IllegalStateException("non-static method in subclass");
}
if (!RawTypesCheck.hasRawTypesInHierarchicalSignature(psiMethod) if (!RawTypesCheck.hasRawTypesInHierarchicalSignature(psiMethod)
&& JavaMethodSignatureUtil.isMethodReturnTypeCompatible(psiMethod) && JavaMethodSignatureUtil.isMethodReturnTypeCompatible(psiMethod)
&& !containsErrorType(superFunctions, functionDescriptorImpl)) { && !containsErrorType(superFunctions, functionDescriptorImpl)) {
@@ -243,12 +234,8 @@ public final class JavaFunctionResolver {
} }
@NotNull @NotNull
public Set<FunctionDescriptor> resolveFunctionGroupForClass( public Set<FunctionDescriptor> resolveFunctionGroupForClass(@NotNull NamedMembers members, @NotNull ClassOrNamespaceDescriptor owner) {
@NotNull NamedMembers namedMembers, Name methodName = members.getName();
@NotNull ClassOrNamespaceDescriptor owner,
@NotNull PsiClass psiClass
) {
Name methodName = namedMembers.getName();
Set<SimpleFunctionDescriptor> functionsFromSupertypes = null; Set<SimpleFunctionDescriptor> functionsFromSupertypes = null;
if (owner instanceof ClassDescriptor) { if (owner instanceof ClassDescriptor) {
@@ -256,9 +243,8 @@ public final class JavaFunctionResolver {
} }
Set<SimpleFunctionDescriptor> functionsFromCurrent = Sets.newHashSet(); Set<SimpleFunctionDescriptor> functionsFromCurrent = Sets.newHashSet();
for (PsiMethodWrapper method : namedMembers.getMethods()) { for (PsiMethodWrapper method : members.getMethods()) {
SimpleFunctionDescriptor function = SimpleFunctionDescriptor function = resolveMethodToFunctionDescriptor(method, owner, true);
resolveMethodToFunctionDescriptor(psiClass, method, owner, true);
if (function != null) { if (function != null) {
functionsFromCurrent.add(function); functionsFromCurrent.add(function);
ContainerUtil.addIfNotNull(functionsFromCurrent, resolveSamAdapter(function)); ContainerUtil.addIfNotNull(functionsFromCurrent, resolveSamAdapter(function));
@@ -266,7 +252,7 @@ public final class JavaFunctionResolver {
} }
if (owner instanceof NamespaceDescriptor) { if (owner instanceof NamespaceDescriptor) {
ContainerUtil.addIfNotNull(functionsFromCurrent, resolveSamConstructor((NamespaceDescriptor) owner, namedMembers)); ContainerUtil.addIfNotNull(functionsFromCurrent, resolveSamConstructor((NamespaceDescriptor) owner, members));
} }
@@ -16,7 +16,6 @@
package org.jetbrains.jet.lang.resolve.java.scope; package org.jetbrains.jet.lang.resolve.java.scope;
import com.intellij.psi.PsiClass;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver; import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
@@ -27,19 +26,14 @@ import org.jetbrains.jet.lang.resolve.name.Name;
import java.util.*; import java.util.*;
public abstract class JavaClassMembersScope extends JavaBaseScope { public abstract class JavaClassMembersScope extends JavaBaseScope {
@NotNull
protected final PsiClass psiClass;
private Map<Name, ClassDescriptor> innerClassesMap = null; private Map<Name, ClassDescriptor> innerClassesMap = null;
protected JavaClassMembersScope( protected JavaClassMembersScope(
@NotNull ClassOrNamespaceDescriptor descriptor, @NotNull ClassOrNamespaceDescriptor descriptor,
@NotNull PsiClass psiClass,
@NotNull MembersProvider membersProvider, @NotNull MembersProvider membersProvider,
@NotNull JavaDescriptorResolver javaDescriptorResolver @NotNull JavaDescriptorResolver javaDescriptorResolver
) { ) {
super(descriptor, javaDescriptorResolver, membersProvider); super(descriptor, javaDescriptorResolver, membersProvider);
this.psiClass = psiClass;
} }
@NotNull @NotNull
@@ -56,7 +50,7 @@ public abstract class JavaClassMembersScope extends JavaBaseScope {
if (members == null) { if (members == null) {
return Collections.emptySet(); return Collections.emptySet();
} }
return javaDescriptorResolver.resolveFunctionGroupForClass(members, descriptor, psiClass); return javaDescriptorResolver.resolveFunctionGroupForClass(members, descriptor);
} }
@NotNull @NotNull
@@ -32,11 +32,12 @@ import java.util.List;
import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.IGNORE_KOTLIN_SOURCES; import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.IGNORE_KOTLIN_SOURCES;
public final class JavaClassNonStaticMembersScope extends JavaClassMembersScope { public final class JavaClassNonStaticMembersScope extends JavaClassMembersScope {
private Collection<ConstructorDescriptor> constructors = null; private Collection<ConstructorDescriptor> constructors = null;
private ConstructorDescriptor primaryConstructor = null; private ConstructorDescriptor primaryConstructor = null;
@NotNull @NotNull
private final ClassDescriptor descriptor; private final ClassDescriptor descriptor;
@NotNull
private final PsiClass psiClass;
private final boolean staticMembersOfPsiClass; private final boolean staticMembersOfPsiClass;
public JavaClassNonStaticMembersScope( public JavaClassNonStaticMembersScope(
@@ -45,8 +46,9 @@ public final class JavaClassNonStaticMembersScope extends JavaClassMembersScope
boolean staticMembersOfPsiClass, boolean staticMembersOfPsiClass,
@NotNull JavaDescriptorResolver javaDescriptorResolver @NotNull JavaDescriptorResolver javaDescriptorResolver
) { ) {
super(descriptor, psiClass, MembersProvider.forClass(psiClass, staticMembersOfPsiClass), javaDescriptorResolver); super(descriptor, MembersProvider.forClass(psiClass, staticMembersOfPsiClass), javaDescriptorResolver);
this.descriptor = descriptor; this.descriptor = descriptor;
this.psiClass = psiClass;
this.staticMembersOfPsiClass = staticMembersOfPsiClass; this.staticMembersOfPsiClass = staticMembersOfPsiClass;
} }
@@ -34,6 +34,8 @@ import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.INCLUDE_K
public final class JavaClassStaticMembersScope extends JavaClassMembersScope { public final class JavaClassStaticMembersScope extends JavaClassMembersScope {
@NotNull @NotNull
private final FqName packageFQN; private final FqName packageFQN;
@NotNull
private final PsiClass psiClass;
public JavaClassStaticMembersScope( public JavaClassStaticMembersScope(
@NotNull NamespaceDescriptor descriptor, @NotNull NamespaceDescriptor descriptor,
@@ -41,8 +43,9 @@ public final class JavaClassStaticMembersScope extends JavaClassMembersScope {
@NotNull PsiClass psiClass, @NotNull PsiClass psiClass,
@NotNull JavaDescriptorResolver javaDescriptorResolver @NotNull JavaDescriptorResolver javaDescriptorResolver
) { ) {
super(descriptor, psiClass, MembersProvider.forClass(psiClass, true), javaDescriptorResolver); super(descriptor, MembersProvider.forClass(psiClass, true), javaDescriptorResolver);
this.packageFQN = packageFQN; this.packageFQN = packageFQN;
this.psiClass = psiClass;
} }
@Override @Override