Refactor eliminate remaining usages of ResolverClassData#getClassDescriptor()
This commit is contained in:
+5
-2
@@ -23,6 +23,7 @@ import org.jetbrains.jet.lang.descriptors.*;
|
||||
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
||||
import org.jetbrains.jet.lang.resolve.java.data.ResolverClassData;
|
||||
import org.jetbrains.jet.lang.resolve.java.data.ResolverScopeData;
|
||||
import org.jetbrains.jet.lang.resolve.java.descriptor.ClassDescriptorFromJvmBytecode;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.*;
|
||||
import org.jetbrains.jet.lang.resolve.java.scope.JavaPackageScope;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
@@ -107,8 +108,10 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Collection<ConstructorDescriptor> resolveConstructors(@NotNull ResolverClassData classData) {
|
||||
return constructorResolver.resolveConstructors(classData);
|
||||
public Collection<ConstructorDescriptor> resolveConstructors(
|
||||
@NotNull ResolverClassData classData, @NotNull ClassDescriptorFromJvmBytecode classDescriptor
|
||||
) {
|
||||
return constructorResolver.resolveConstructors(classData, classDescriptor);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
-8
@@ -28,8 +28,6 @@ import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
*/
|
||||
public class ResolverClassData extends ResolverScopeData {
|
||||
|
||||
private final ClassDescriptorFromJvmBytecode classDescriptor;
|
||||
|
||||
public ResolverClassData(
|
||||
@Nullable PsiClass psiClass,
|
||||
@Nullable PsiPackage psiPackage,
|
||||
@@ -38,12 +36,6 @@ public class ResolverClassData extends ResolverScopeData {
|
||||
@NotNull ClassDescriptorFromJvmBytecode descriptor
|
||||
) {
|
||||
super(psiClass, psiPackage, fqName, staticMembers, descriptor);
|
||||
classDescriptor = descriptor;
|
||||
}
|
||||
|
||||
|
||||
public ClassDescriptorFromJvmBytecode getClassDescriptor() {
|
||||
return classDescriptor;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
+2
-1
@@ -55,7 +55,8 @@ public class ClassDescriptorFromJvmBytecode extends MutableClassDescriptorLite {
|
||||
public Collection<ConstructorDescriptor> getConstructors() {
|
||||
if (constructors == null) {
|
||||
assert resolverBinaryClassData != null;
|
||||
this.constructors = javaDescriptorResolver.resolveConstructors(resolverBinaryClassData);
|
||||
this.constructors = javaDescriptorResolver.resolveConstructors(resolverBinaryClassData,
|
||||
this);
|
||||
}
|
||||
return constructors;
|
||||
}
|
||||
|
||||
+3
-2
@@ -114,8 +114,9 @@ public final class JavaClassObjectResolver {
|
||||
= new ClassDescriptorFromJvmBytecode(containing, ClassKind.CLASS_OBJECT, javaDescriptorResolver);
|
||||
ResolverClassData classObjectData = ResolverClassData.createBinaryClassData(classObjectPsiClass, fqName, classObjectDescriptor);
|
||||
classObjectDescriptor.setClassData(classObjectData);
|
||||
classObjectDescriptor.setSupertypes(supertypesResolver.getSupertypes(new PsiClassWrapper(classObjectPsiClass), classObjectData,
|
||||
Collections.<TypeParameterDescriptor>emptyList()));
|
||||
classObjectDescriptor.setSupertypes(supertypesResolver.getSupertypes(classObjectDescriptor, new PsiClassWrapper(classObjectPsiClass), classObjectData,
|
||||
Collections.<TypeParameterDescriptor>emptyList()
|
||||
));
|
||||
setUpClassObjectDescriptor(classObjectDescriptor, containing, fqName, classObjectData, getClassObjectName(containing.getName())
|
||||
);
|
||||
return classObjectDescriptor;
|
||||
|
||||
+2
-1
@@ -248,7 +248,8 @@ public final class JavaClassResolver {
|
||||
|
||||
// TODO: ugly hack: tests crash if initializeTypeParameters called with class containing proper supertypes
|
||||
List<TypeParameterDescriptor> classTypeParameters = classDescriptor.getTypeConstructor().getParameters();
|
||||
supertypes.addAll(supertypesResolver.getSupertypes(new PsiClassWrapper(psiClass), classData, classTypeParameters));
|
||||
supertypes.addAll(supertypesResolver.getSupertypes(classDescriptor, new PsiClassWrapper(psiClass), classData, classTypeParameters
|
||||
));
|
||||
|
||||
ClassDescriptorFromJvmBytecode classObjectDescriptor = classObjectResolver.createClassObjectDescriptor(classDescriptor, psiClass);
|
||||
cache(DescriptorResolverUtils.getFqNameForClassObject(psiClass), classObjectDescriptor);
|
||||
|
||||
+3
-2
@@ -62,12 +62,13 @@ public final class JavaConstructorResolver {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Collection<ConstructorDescriptor> resolveConstructors(@NotNull ResolverClassData classData) {
|
||||
public Collection<ConstructorDescriptor> resolveConstructors(
|
||||
@NotNull ResolverClassData classData, @NotNull ClassDescriptorFromJvmBytecode containingClass
|
||||
) {
|
||||
Collection<ConstructorDescriptor> constructors = Lists.newArrayList();
|
||||
|
||||
PsiClass psiClass = classData.getPsiClass();
|
||||
|
||||
ClassDescriptorFromJvmBytecode containingClass = classData.getClassDescriptor();
|
||||
assert psiClass != null;
|
||||
TypeVariableResolver resolverForTypeParameters = TypeVariableResolvers.classTypeVariableResolver(
|
||||
containingClass, "class " + psiClass.getQualifiedName());
|
||||
|
||||
+1
-1
@@ -71,11 +71,11 @@ public final class JavaSupertypeResolver {
|
||||
}
|
||||
|
||||
public Collection<JetType> getSupertypes(
|
||||
@NotNull ClassDescriptor classDescriptor,
|
||||
@NotNull PsiClassWrapper psiClass,
|
||||
@NotNull ResolverClassData classData,
|
||||
@NotNull List<TypeParameterDescriptor> typeParameters
|
||||
) {
|
||||
ClassDescriptor classDescriptor = classData.getClassDescriptor();
|
||||
|
||||
final List<JetType> result = new ArrayList<JetType>();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user