Refactor: use ClassPsiDeclarationProvider instead of ResolverClassData

This commit is contained in:
Pavel V. Talanov
2012-11-05 00:04:46 +04:00
parent 811a65826b
commit adc0e1fce1
5 changed files with 18 additions and 16 deletions
@@ -21,7 +21,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
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.ClassPsiDeclarationProvider;
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.*;
@@ -109,7 +109,7 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
@NotNull
public Collection<ConstructorDescriptor> resolveConstructors(
@NotNull ResolverClassData classData, @NotNull ClassDescriptorFromJvmBytecode classDescriptor
@NotNull ClassPsiDeclarationProvider classData, @NotNull ClassDescriptorFromJvmBytecode classDescriptor
) {
return constructorResolver.resolveConstructors(classData, classDescriptor);
}
@@ -22,7 +22,7 @@ import org.jetbrains.jet.lang.descriptors.ConstructorDescriptor;
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
import org.jetbrains.jet.lang.descriptors.MutableClassDescriptorLite;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
import org.jetbrains.jet.lang.resolve.java.data.ResolverClassData;
import org.jetbrains.jet.lang.resolve.java.data.ClassPsiDeclarationProvider;
import org.jetbrains.jet.lang.resolve.lazy.LazyClassDescriptor;
import java.util.Collection;
@@ -37,7 +37,7 @@ public class ClassDescriptorFromJvmBytecode extends MutableClassDescriptorLite {
private final JavaDescriptorResolver javaDescriptorResolver;
@NotNull
private final ResolverClassData resolverBinaryClassData;
private final ClassPsiDeclarationProvider resolverBinaryClassData;
// lazy
@@ -46,19 +46,18 @@ public class ClassDescriptorFromJvmBytecode extends MutableClassDescriptorLite {
public ClassDescriptorFromJvmBytecode(
@NotNull DeclarationDescriptor containingDeclaration, @NotNull ClassKind kind,
@NotNull JavaDescriptorResolver javaDescriptorResolver,
@NotNull ResolverClassData data
@NotNull ClassPsiDeclarationProvider data
) {
super(containingDeclaration, kind);
this.javaDescriptorResolver = javaDescriptorResolver;
resolverBinaryClassData = data;
this.resolverBinaryClassData = data;
}
@NotNull
@Override
public Collection<ConstructorDescriptor> getConstructors() {
if (constructors == null) {
this.constructors = javaDescriptorResolver.resolveConstructors(resolverBinaryClassData,
this);
this.constructors = javaDescriptorResolver.resolveConstructors(resolverBinaryClassData, this);
}
return constructors;
}
@@ -28,7 +28,9 @@ import org.jetbrains.jet.lang.resolve.java.DescriptorResolverUtils;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
import org.jetbrains.jet.lang.resolve.java.JavaSemanticServices;
import org.jetbrains.jet.lang.resolve.java.JvmAbi;
import org.jetbrains.jet.lang.resolve.java.data.ClassPsiDeclarationProvider;
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.scope.JavaClassMembersScope;
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiClassWrapper;
@@ -164,7 +166,7 @@ public final class JavaClassObjectResolver {
@NotNull ClassDescriptorFromJvmBytecode classObjectDescriptor,
@NotNull ClassDescriptor containing,
@NotNull FqNameBase fqName,
@NotNull ResolverClassData data,
@NotNull ClassPsiDeclarationProvider data,
@NotNull Name classObjectName
) {
classObjectDescriptor.setName(classObjectName);
@@ -172,7 +174,9 @@ public final class JavaClassObjectResolver {
classObjectDescriptor.setVisibility(containing.getVisibility());
classObjectDescriptor.setTypeParameterDescriptors(Collections.<TypeParameterDescriptor>emptyList());
classObjectDescriptor.createTypeConstructor();
JavaClassMembersScope classMembersScope = new JavaClassMembersScope(classObjectDescriptor, semanticServices, data);
//TODO:
JavaClassMembersScope classMembersScope = new JavaClassMembersScope(classObjectDescriptor, semanticServices,
(ResolverScopeData) data);
WritableScopeImpl writableScope =
new WritableScopeImpl(classMembersScope, classObjectDescriptor, RedeclarationHandler.THROW_EXCEPTION, fqName.toString());
writableScope.changeLockLevel(WritableScope.LockLevel.BOTH);
@@ -26,7 +26,7 @@ import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.resolve.BindingTrace;
import org.jetbrains.jet.lang.resolve.DescriptorResolver;
import org.jetbrains.jet.lang.resolve.java.*;
import org.jetbrains.jet.lang.resolve.java.data.ResolverClassData;
import org.jetbrains.jet.lang.resolve.java.data.ClassPsiDeclarationProvider;
import org.jetbrains.jet.lang.resolve.java.descriptor.ClassDescriptorFromJvmBytecode;
import org.jetbrains.jet.lang.resolve.java.kotlinSignature.AlternativeMethodSignatureData;
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMethodWrapper;
@@ -63,13 +63,12 @@ public final class JavaConstructorResolver {
@NotNull
public Collection<ConstructorDescriptor> resolveConstructors(
@NotNull ResolverClassData classData, @NotNull ClassDescriptorFromJvmBytecode containingClass
@NotNull ClassPsiDeclarationProvider classData, @NotNull ClassDescriptorFromJvmBytecode containingClass
) {
Collection<ConstructorDescriptor> constructors = Lists.newArrayList();
PsiClass psiClass = classData.getPsiClass();
assert psiClass != null;
TypeVariableResolver resolverForTypeParameters = TypeVariableResolvers.classTypeVariableResolver(
containingClass, "class " + psiClass.getQualifiedName());
@@ -27,7 +27,7 @@ import org.jetbrains.jet.lang.descriptors.TypeParameterDescriptor;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.resolve.BindingTrace;
import org.jetbrains.jet.lang.resolve.java.*;
import org.jetbrains.jet.lang.resolve.java.data.ResolverClassData;
import org.jetbrains.jet.lang.resolve.java.data.ClassPsiDeclarationProvider;
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiClassWrapper;
import org.jetbrains.jet.lang.types.ErrorUtils;
import org.jetbrains.jet.lang.types.JetType;
@@ -75,7 +75,7 @@ public final class JavaSupertypeResolver {
public Collection<JetType> getSupertypes(
@NotNull ClassDescriptor classDescriptor,
@NotNull PsiClassWrapper psiClass,
@NotNull ResolverClassData classData,
@NotNull ClassPsiDeclarationProvider classData,
@NotNull List<TypeParameterDescriptor> typeParameters
) {
@@ -140,7 +140,7 @@ public final class JavaSupertypeResolver {
private void addBaseClass(
@NotNull PsiClassWrapper psiClass,
@NotNull ResolverClassData classData,
@NotNull ClassPsiDeclarationProvider classData,
@NotNull ClassDescriptor classDescriptor,
@NotNull List<JetType> result
) {