Remove mysterious abstract method with one usage

This commit is contained in:
Pavel V. Talanov
2012-10-03 21:18:27 +04:00
parent 1d36188589
commit 5d93fa6c47
2 changed files with 26 additions and 27 deletions
@@ -21,15 +21,11 @@ import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiPackage; import com.intellij.psi.PsiPackage;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
import org.jetbrains.jet.lang.descriptors.ClassOrNamespaceDescriptor; import org.jetbrains.jet.lang.descriptors.ClassOrNamespaceDescriptor;
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor; import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
import org.jetbrains.jet.lang.descriptors.TypeParameterDescriptor;
import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.name.Name;
import java.util.ArrayList;
import java.util.List;
import java.util.Map; import java.util.Map;
class JavaDescriptorResolveData { class JavaDescriptorResolveData {
@@ -71,7 +67,13 @@ class JavaDescriptorResolveData {
private final boolean kotlin; private final boolean kotlin;
private final ClassOrNamespaceDescriptor classOrNamespaceDescriptor; private final ClassOrNamespaceDescriptor classOrNamespaceDescriptor;
protected ResolverScopeData(@Nullable PsiClass psiClass, @Nullable PsiPackage psiPackage, @Nullable FqName fqName, boolean staticMembers, @NotNull ClassOrNamespaceDescriptor descriptor) { protected ResolverScopeData(
@Nullable PsiClass psiClass,
@Nullable PsiPackage psiPackage,
@Nullable FqName fqName,
boolean staticMembers,
@NotNull ClassOrNamespaceDescriptor descriptor
) {
JavaDescriptorResolver.checkPsiClassIsNotJet(psiClass); JavaDescriptorResolver.checkPsiClassIsNotJet(psiClass);
this.psiClass = psiClass; this.psiClass = psiClass;
@@ -123,15 +125,18 @@ class JavaDescriptorResolveData {
void setNamedMembersMap(Map<Name, NamedMembers> namedMembersMap) { void setNamedMembersMap(Map<Name, NamedMembers> namedMembersMap) {
this.namedMembersMap = namedMembersMap; this.namedMembersMap = namedMembersMap;
} }
@NotNull
public abstract List<TypeParameterDescriptor> getTypeParameters();
} }
/** Class with instance members */ /**
* Class with instance members
*/
static class ResolverBinaryClassData extends ResolverClassData { static class ResolverBinaryClassData extends ResolverClassData {
ResolverBinaryClassData(@NotNull PsiClass psiClass, @Nullable FqName fqName, @NotNull ClassDescriptorFromJvmBytecode classDescriptor) { ResolverBinaryClassData(
@NotNull PsiClass psiClass,
@Nullable FqName fqName,
@NotNull ClassDescriptorFromJvmBytecode classDescriptor
) {
super(psiClass, null, fqName, false, classDescriptor); super(psiClass, null, fqName, false, classDescriptor);
} }
@@ -140,7 +145,6 @@ class JavaDescriptorResolveData {
} }
static final ResolverClassData NEGATIVE = new ResolverBinaryClassData(true); static final ResolverClassData NEGATIVE = new ResolverBinaryClassData(true);
} }
static class ResolverClassData extends ResolverScopeData { static class ResolverClassData extends ResolverScopeData {
@@ -167,13 +171,6 @@ class JavaDescriptorResolveData {
public ClassDescriptorFromJvmBytecode getClassDescriptor() { public ClassDescriptorFromJvmBytecode getClassDescriptor() {
return classDescriptor; return classDescriptor;
} }
@NotNull
@Override
public List<TypeParameterDescriptor> getTypeParameters() {
return getClassDescriptor().getTypeConstructor().getParameters();
}
} }
@@ -188,7 +185,9 @@ class JavaDescriptorResolveData {
} }
} }
/** Either package or class with static members */ /**
* Either package or class with static members
*/
static class ResolverNamespaceData extends ResolverScopeData { static class ResolverNamespaceData extends ResolverScopeData {
static final ResolverNamespaceData NEGATIVE = new ResolverNamespaceData(true); static final ResolverNamespaceData NEGATIVE = new ResolverNamespaceData(true);
@@ -196,7 +195,12 @@ class JavaDescriptorResolveData {
private JavaPackageScope memberScope; private JavaPackageScope memberScope;
ResolverNamespaceData(@Nullable PsiClass psiClass, @Nullable PsiPackage psiPackage, @NotNull FqName fqName, @NotNull NamespaceDescriptor namespaceDescriptor) { ResolverNamespaceData(
@Nullable PsiClass psiClass,
@Nullable PsiPackage psiPackage,
@NotNull FqName fqName,
@NotNull NamespaceDescriptor namespaceDescriptor
) {
super(psiClass, psiPackage, fqName, true, namespaceDescriptor); super(psiClass, psiPackage, fqName, true, namespaceDescriptor);
this.namespaceDescriptor = namespaceDescriptor; this.namespaceDescriptor = namespaceDescriptor;
} }
@@ -217,11 +221,5 @@ class JavaDescriptorResolveData {
public void setMemberScope(JavaPackageScope memberScope) { public void setMemberScope(JavaPackageScope memberScope) {
this.memberScope = memberScope; this.memberScope = memberScope;
} }
@NotNull
@Override
public List<TypeParameterDescriptor> getTypeParameters() {
return new ArrayList<TypeParameterDescriptor>(0);
}
} }
} }
@@ -266,7 +266,8 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
javaDescriptorSignatureResolver.initializeTypeParameters(typeParameterDescriptorInitializations, classData.getClassDescriptor(), "class " + qualifiedName); javaDescriptorSignatureResolver.initializeTypeParameters(typeParameterDescriptorInitializations, classData.getClassDescriptor(), "class " + qualifiedName);
// TODO: ugly hack: tests crash if initializeTypeParameters called with class containing proper supertypes // TODO: ugly hack: tests crash if initializeTypeParameters called with class containing proper supertypes
supertypes.addAll(getSupertypes(new PsiClassWrapper(psiClass), classData, classData.getTypeParameters())); List<TypeParameterDescriptor> classTypeParameters = classData.getClassDescriptor().getTypeConstructor().getParameters();
supertypes.addAll(getSupertypes(new PsiClassWrapper(psiClass), classData, classTypeParameters));
MutableClassDescriptorLite classObject = createClassObjectDescriptor(classData.getClassDescriptor(), psiClass); MutableClassDescriptorLite classObject = createClassObjectDescriptor(classData.getClassDescriptor(), psiClass);
if (classObject != null) { if (classObject != null) {