From 4eb9f28312742881a61ebad64d50f610efd9456b Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 25 Jul 2013 18:26:49 +0400 Subject: [PATCH] Remove useless PsiClass parameter It was used only for a debug message and an assertion that never happened --- .../resolve/java/JavaDescriptorResolver.java | 8 ++--- .../java/resolver/JavaFunctionResolver.java | 36 ++++++------------- .../java/scope/JavaClassMembersScope.java | 8 +---- .../scope/JavaClassNonStaticMembersScope.java | 6 ++-- .../scope/JavaClassStaticMembersScope.java | 5 ++- 5 files changed, 22 insertions(+), 41 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java index 90f649c519f..e91ead2b64f 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java @@ -121,12 +121,8 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes } @NotNull - public Set resolveFunctionGroupForClass( - @NotNull NamedMembers members, - @NotNull ClassOrNamespaceDescriptor owner, - @NotNull PsiClass psiClass - ) { - return functionResolver.resolveFunctionGroupForClass(members, owner, psiClass); + public Set resolveFunctionGroupForClass(@NotNull NamedMembers members, @NotNull ClassOrNamespaceDescriptor owner) { + return functionResolver.resolveFunctionGroupForClass(members, owner); } @NotNull diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaFunctionResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaFunctionResolver.java index 42d3fc34270..b9ba99a520a 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaFunctionResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaFunctionResolver.java @@ -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 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 resolveFunctionGroupForClass( - @NotNull NamedMembers namedMembers, - @NotNull ClassOrNamespaceDescriptor owner, - @NotNull PsiClass psiClass - ) { - Name methodName = namedMembers.getName(); + public Set resolveFunctionGroupForClass(@NotNull NamedMembers members, @NotNull ClassOrNamespaceDescriptor owner) { + Name methodName = members.getName(); Set functionsFromSupertypes = null; if (owner instanceof ClassDescriptor) { @@ -256,9 +243,8 @@ public final class JavaFunctionResolver { } Set 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)); } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaClassMembersScope.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaClassMembersScope.java index 3d1fe926bbe..bf528b7485b 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaClassMembersScope.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaClassMembersScope.java @@ -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 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 diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaClassNonStaticMembersScope.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaClassNonStaticMembersScope.java index e8d02e49e17..679ef8541be 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaClassNonStaticMembersScope.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaClassNonStaticMembersScope.java @@ -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 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; } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaClassStaticMembersScope.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaClassStaticMembersScope.java index 2b6bd60d429..f5d6d5ebc4c 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaClassStaticMembersScope.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaClassStaticMembersScope.java @@ -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