From adc0e1fce1681cd914d59c38c04783efc84b5902 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Mon, 5 Nov 2012 00:04:46 +0400 Subject: [PATCH] Refactor: use ClassPsiDeclarationProvider instead of ResolverClassData --- .../jet/lang/resolve/java/JavaDescriptorResolver.java | 4 ++-- .../descriptor/ClassDescriptorFromJvmBytecode.java | 11 +++++------ .../java/resolver/JavaClassObjectResolver.java | 8 ++++++-- .../java/resolver/JavaConstructorResolver.java | 5 ++--- .../resolve/java/resolver/JavaSupertypeResolver.java | 6 +++--- 5 files changed, 18 insertions(+), 16 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 d71143a9ad6..6596cbb79c8 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 @@ -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 resolveConstructors( - @NotNull ResolverClassData classData, @NotNull ClassDescriptorFromJvmBytecode classDescriptor + @NotNull ClassPsiDeclarationProvider classData, @NotNull ClassDescriptorFromJvmBytecode classDescriptor ) { return constructorResolver.resolveConstructors(classData, classDescriptor); } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/descriptor/ClassDescriptorFromJvmBytecode.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/descriptor/ClassDescriptorFromJvmBytecode.java index 5175b35a1ba..dfda984f620 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/descriptor/ClassDescriptorFromJvmBytecode.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/descriptor/ClassDescriptorFromJvmBytecode.java @@ -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 getConstructors() { if (constructors == null) { - this.constructors = javaDescriptorResolver.resolveConstructors(resolverBinaryClassData, - this); + this.constructors = javaDescriptorResolver.resolveConstructors(resolverBinaryClassData, this); } return constructors; } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassObjectResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassObjectResolver.java index ec855c918e0..b1fcb570d5b 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassObjectResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassObjectResolver.java @@ -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.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); diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaConstructorResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaConstructorResolver.java index 424f70f3946..43f63228f56 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaConstructorResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaConstructorResolver.java @@ -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 resolveConstructors( - @NotNull ResolverClassData classData, @NotNull ClassDescriptorFromJvmBytecode containingClass + @NotNull ClassPsiDeclarationProvider classData, @NotNull ClassDescriptorFromJvmBytecode containingClass ) { Collection constructors = Lists.newArrayList(); PsiClass psiClass = classData.getPsiClass(); - assert psiClass != null; TypeVariableResolver resolverForTypeParameters = TypeVariableResolvers.classTypeVariableResolver( containingClass, "class " + psiClass.getQualifiedName()); diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaSupertypeResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaSupertypeResolver.java index 9648013da15..e347240f334 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaSupertypeResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaSupertypeResolver.java @@ -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 getSupertypes( @NotNull ClassDescriptor classDescriptor, @NotNull PsiClassWrapper psiClass, - @NotNull ResolverClassData classData, + @NotNull ClassPsiDeclarationProvider classData, @NotNull List 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 result ) {