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
public Set<FunctionDescriptor> resolveFunctionGroupForClass(
@NotNull NamedMembers members,
@NotNull ClassOrNamespaceDescriptor owner,
@NotNull PsiClass psiClass
) {
return functionResolver.resolveFunctionGroupForClass(members, owner, psiClass);
public Set<FunctionDescriptor> resolveFunctionGroupForClass(@NotNull NamedMembers members, @NotNull ClassOrNamespaceDescriptor owner) {
return functionResolver.resolveFunctionGroupForClass(members, owner);
}
@NotNull
@@ -89,19 +89,15 @@ public final class JavaFunctionResolver {
}
@Nullable
SimpleFunctionDescriptor resolveFunctionMutely(
@NotNull PsiMethodWrapper method,
@NotNull ClassOrNamespaceDescriptor ownerDescriptor
) {
PsiClass containingClass = method.getPsiMethod().getContainingClass();
assert containingClass != null : "containing class is null for " + method;
return resolveMethodToFunctionDescriptor(containingClass, method, ownerDescriptor, false);
SimpleFunctionDescriptor resolveFunctionMutely(@NotNull PsiMethodWrapper method, @NotNull ClassOrNamespaceDescriptor owner) {
return resolveMethodToFunctionDescriptor(method, owner, false);
}
@Nullable
private SimpleFunctionDescriptor resolveMethodToFunctionDescriptor(
@NotNull PsiClass psiClass, PsiMethodWrapper method,
@NotNull ClassOrNamespaceDescriptor ownerDescriptor, boolean record
@NotNull PsiMethodWrapper method,
@NotNull ClassOrNamespaceDescriptor ownerDescriptor,
boolean record
) {
if (!DescriptorResolverUtils.isCorrectOwnerForEnumMember(ownerDescriptor, method.getPsiMember())) {
return null;
@@ -113,7 +109,6 @@ public final class JavaFunctionResolver {
}
PsiMethod psiMethod = method.getPsiMethod();
PsiClass containingClass = psiMethod.getContainingClass();
if (trace.get(BindingContext.FUNCTION, psiMethod) != null) {
return trace.get(BindingContext.FUNCTION, psiMethod);
@@ -129,7 +124,7 @@ public final class JavaFunctionResolver {
List<TypeParameterDescriptor> methodTypeParameters = signatureResolver.resolveMethodTypeParameters(method, functionDescriptorImpl);
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
.resolveParameterDescriptors(functionDescriptorImpl, method.getParameters(), methodTypeVariableResolver);
@@ -184,10 +179,6 @@ public final class JavaFunctionResolver {
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)
&& JavaMethodSignatureUtil.isMethodReturnTypeCompatible(psiMethod)
&& !containsErrorType(superFunctions, functionDescriptorImpl)) {
@@ -243,12 +234,8 @@ public final class JavaFunctionResolver {
}
@NotNull
public Set<FunctionDescriptor> resolveFunctionGroupForClass(
@NotNull NamedMembers namedMembers,
@NotNull ClassOrNamespaceDescriptor owner,
@NotNull PsiClass psiClass
) {
Name methodName = namedMembers.getName();
public Set<FunctionDescriptor> resolveFunctionGroupForClass(@NotNull NamedMembers members, @NotNull ClassOrNamespaceDescriptor owner) {
Name methodName = members.getName();
Set<SimpleFunctionDescriptor> functionsFromSupertypes = null;
if (owner instanceof ClassDescriptor) {
@@ -256,9 +243,8 @@ public final class JavaFunctionResolver {
}
Set<SimpleFunctionDescriptor> functionsFromCurrent = Sets.newHashSet();
for (PsiMethodWrapper method : namedMembers.getMethods()) {
SimpleFunctionDescriptor function =
resolveMethodToFunctionDescriptor(psiClass, method, owner, true);
for (PsiMethodWrapper method : members.getMethods()) {
SimpleFunctionDescriptor function = resolveMethodToFunctionDescriptor(method, owner, true);
if (function != null) {
functionsFromCurrent.add(function);
ContainerUtil.addIfNotNull(functionsFromCurrent, resolveSamAdapter(function));
@@ -266,7 +252,7 @@ public final class JavaFunctionResolver {
}
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;
import com.intellij.psi.PsiClass;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
@@ -27,19 +26,14 @@ import org.jetbrains.jet.lang.resolve.name.Name;
import java.util.*;
public abstract class JavaClassMembersScope extends JavaBaseScope {
@NotNull
protected final PsiClass psiClass;
private Map<Name, ClassDescriptor> innerClassesMap = null;
protected JavaClassMembersScope(
@NotNull ClassOrNamespaceDescriptor descriptor,
@NotNull PsiClass psiClass,
@NotNull MembersProvider membersProvider,
@NotNull JavaDescriptorResolver javaDescriptorResolver
) {
super(descriptor, javaDescriptorResolver, membersProvider);
this.psiClass = psiClass;
}
@NotNull
@@ -56,7 +50,7 @@ public abstract class JavaClassMembersScope extends JavaBaseScope {
if (members == null) {
return Collections.emptySet();
}
return javaDescriptorResolver.resolveFunctionGroupForClass(members, descriptor, psiClass);
return javaDescriptorResolver.resolveFunctionGroupForClass(members, descriptor);
}
@NotNull
@@ -32,11 +32,12 @@ import java.util.List;
import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.IGNORE_KOTLIN_SOURCES;
public final class JavaClassNonStaticMembersScope extends JavaClassMembersScope {
private Collection<ConstructorDescriptor> constructors = null;
private ConstructorDescriptor primaryConstructor = null;
@NotNull
private final ClassDescriptor descriptor;
@NotNull
private final PsiClass psiClass;
private final boolean staticMembersOfPsiClass;
public JavaClassNonStaticMembersScope(
@@ -45,8 +46,9 @@ public final class JavaClassNonStaticMembersScope extends JavaClassMembersScope
boolean staticMembersOfPsiClass,
@NotNull JavaDescriptorResolver javaDescriptorResolver
) {
super(descriptor, psiClass, MembersProvider.forClass(psiClass, staticMembersOfPsiClass), javaDescriptorResolver);
super(descriptor, MembersProvider.forClass(psiClass, staticMembersOfPsiClass), javaDescriptorResolver);
this.descriptor = descriptor;
this.psiClass = psiClass;
this.staticMembersOfPsiClass = staticMembersOfPsiClass;
}
@@ -34,6 +34,8 @@ 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,
@@ -41,8 +43,9 @@ public final class JavaClassStaticMembersScope extends JavaClassMembersScope {
@NotNull PsiClass psiClass,
@NotNull JavaDescriptorResolver javaDescriptorResolver
) {
super(descriptor, psiClass, MembersProvider.forClass(psiClass, true), javaDescriptorResolver);
super(descriptor, MembersProvider.forClass(psiClass, true), javaDescriptorResolver);
this.packageFQN = packageFQN;
this.psiClass = psiClass;
}
@Override