From f0b99848ec8aaf6f7694c73bb6e0af3cdf04091a Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Mon, 5 Nov 2012 13:58:31 +0400 Subject: [PATCH] Refactor: remove ResolverClassData class --- ...a => ClassPsiDeclarationProviderImpl.java} | 7 ++-- ...KotlinNamespacePsiDeclarationProvider.java | 2 +- .../data/PsiDeclarationProviderFactory.java | 7 ++-- .../resolve/java/data/ResolverClassData.java | 33 ------------------- .../resolver/JavaClassObjectResolver.java | 6 ++-- .../java/resolver/JavaClassResolver.java | 4 +-- .../resolve/java/scope/JavaBaseScope.java | 4 +-- 7 files changed, 14 insertions(+), 49 deletions(-) rename compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/{ClassPsiDeclarationProviderBase.java => ClassPsiDeclarationProviderImpl.java} (84%) delete mode 100644 compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/ResolverClassData.java diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/ClassPsiDeclarationProviderBase.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/ClassPsiDeclarationProviderImpl.java similarity index 84% rename from compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/ClassPsiDeclarationProviderBase.java rename to compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/ClassPsiDeclarationProviderImpl.java index 5a4d34e95cd..2c3c91d60ec 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/ClassPsiDeclarationProviderBase.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/ClassPsiDeclarationProviderImpl.java @@ -9,7 +9,7 @@ import org.jetbrains.jet.lang.resolve.java.MembersCache; import static org.jetbrains.jet.lang.resolve.java.data.Origin.JAVA; import static org.jetbrains.jet.lang.resolve.java.data.Origin.KOTLIN; -public abstract class ClassPsiDeclarationProviderBase extends PsiDeclarationProviderBase implements ClassPsiDeclarationProvider { +public class ClassPsiDeclarationProviderImpl extends PsiDeclarationProviderBase implements ClassPsiDeclarationProvider { @NotNull private final PsiClass psiClass; @@ -17,9 +17,8 @@ public abstract class ClassPsiDeclarationProviderBase extends PsiDeclarationProv @NotNull protected final Origin origin; - public ClassPsiDeclarationProviderBase( - boolean staticMembers, - @NotNull PsiClass psiClass + protected ClassPsiDeclarationProviderImpl( + @NotNull PsiClass psiClass, boolean staticMembers ) { this.staticMembers = staticMembers; this.psiClass = psiClass; diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/KotlinNamespacePsiDeclarationProvider.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/KotlinNamespacePsiDeclarationProvider.java index 016aae86196..227a0f2afa7 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/KotlinNamespacePsiDeclarationProvider.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/KotlinNamespacePsiDeclarationProvider.java @@ -23,7 +23,7 @@ import org.jetbrains.jet.lang.resolve.java.MembersCache; import static org.jetbrains.jet.lang.resolve.java.data.Origin.KOTLIN; -public final class KotlinNamespacePsiDeclarationProvider extends ResolverClassData implements PackagePsiDeclarationProvider { +public final class KotlinNamespacePsiDeclarationProvider extends ClassPsiDeclarationProviderImpl implements PackagePsiDeclarationProvider { @NotNull private final PackagePsiDeclarationProvider packagePsiDeclarationProvider; diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/PsiDeclarationProviderFactory.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/PsiDeclarationProviderFactory.java index 2f4d1b701f2..b09156b3fea 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/PsiDeclarationProviderFactory.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/PsiDeclarationProviderFactory.java @@ -35,10 +35,11 @@ public final class PsiDeclarationProviderFactory { return createDeclarationProviderForClassStaticMembers(psiClass); } - public static ResolverClassData createBinaryClassData( + @NotNull + public static ClassPsiDeclarationProvider createBinaryClassData( @NotNull PsiClass psiClass ) { - return new ResolverClassData(psiClass, false); + return new ClassPsiDeclarationProviderImpl(psiClass, false); } @NotNull @@ -78,6 +79,6 @@ public final class PsiDeclarationProviderFactory { @NotNull private static ClassPsiDeclarationProvider createDeclarationProviderForClassStaticMembers(@NotNull PsiClass psiClass) { - return new ResolverClassData(psiClass, true); + return new ClassPsiDeclarationProviderImpl(psiClass, true); } } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/ResolverClassData.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/ResolverClassData.java deleted file mode 100644 index f2b31d7e975..00000000000 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/data/ResolverClassData.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2010-2012 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.jet.lang.resolve.java.data; - -import com.intellij.psi.PsiClass; -import org.jetbrains.annotations.NotNull; - -/** -* @author Pavel Talanov -*/ -public class ResolverClassData extends ClassPsiDeclarationProviderBase { - - protected ResolverClassData( - @NotNull PsiClass psiClass, - boolean staticMembers - ) { - super(staticMembers, psiClass); - } -} 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 a61bb471c00..d85d42503c1 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 @@ -30,7 +30,6 @@ 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.PsiDeclarationProviderFactory; -import org.jetbrains.jet.lang.resolve.java.data.ResolverClassData; 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; @@ -112,7 +111,7 @@ public final class JavaClassObjectResolver { String qualifiedName = classObjectPsiClass.getQualifiedName(); assert qualifiedName != null; FqName fqName = new FqName(qualifiedName); - ResolverClassData classObjectData = PsiDeclarationProviderFactory.createBinaryClassData(classObjectPsiClass); + ClassPsiDeclarationProvider classObjectData = PsiDeclarationProviderFactory.createBinaryClassData(classObjectPsiClass); ClassDescriptorFromJvmBytecode classObjectDescriptor = new ClassDescriptorFromJvmBytecode(containing, ClassKind.CLASS_OBJECT, javaDescriptorResolver, classObjectData); classObjectDescriptor.setSupertypes(supertypesResolver.getSupertypes(classObjectDescriptor, new PsiClassWrapper(classObjectPsiClass), classObjectData, @@ -152,7 +151,7 @@ public final class JavaClassObjectResolver { ) { FqNameUnsafe fqName = DescriptorResolverUtils.getFqNameForClassObject(psiClass); - ResolverClassData classData = PsiDeclarationProviderFactory.createBinaryClassData(psiClass); + ClassPsiDeclarationProvider classData = PsiDeclarationProviderFactory.createBinaryClassData(psiClass); ClassDescriptorFromJvmBytecode classObjectDescriptor = new ClassDescriptorFromJvmBytecode( containing, ClassKind.CLASS_OBJECT, javaDescriptorResolver, classData); @@ -174,7 +173,6 @@ public final class JavaClassObjectResolver { classObjectDescriptor.setVisibility(containing.getVisibility()); classObjectDescriptor.setTypeParameterDescriptors(Collections.emptyList()); classObjectDescriptor.createTypeConstructor(); - //TODO: JavaClassMembersScope classMembersScope = new JavaClassMembersScope(classObjectDescriptor, semanticServices, data); WritableScopeImpl writableScope = new WritableScopeImpl(classMembersScope, classObjectDescriptor, RedeclarationHandler.THROW_EXCEPTION, fqName.toString()); diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassResolver.java index fce1fbaad98..daa84b9c3b7 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassResolver.java @@ -30,8 +30,8 @@ import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.BindingTrace; import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.java.*; +import org.jetbrains.jet.lang.resolve.java.data.ClassPsiDeclarationProvider; import org.jetbrains.jet.lang.resolve.java.data.PsiDeclarationProviderFactory; -import org.jetbrains.jet.lang.resolve.java.data.ResolverClassData; import org.jetbrains.jet.lang.resolve.java.descriptor.ClassDescriptorFromJvmBytecode; import org.jetbrains.jet.lang.resolve.java.kt.JetClassAnnotation; import org.jetbrains.jet.lang.resolve.java.scope.JavaClassMembersScope; @@ -225,7 +225,7 @@ public final class JavaClassResolver { ) { JetClassAnnotation jetClassAnnotation = JetClassAnnotation.get(psiClass); ClassKind kind = getClassKind(psiClass, jetClassAnnotation); - ResolverClassData classData = PsiDeclarationProviderFactory.createBinaryClassData(psiClass); + ClassPsiDeclarationProvider classData = PsiDeclarationProviderFactory.createBinaryClassData(psiClass); ClassDescriptorFromJvmBytecode classDescriptor = new ClassDescriptorFromJvmBytecode(containingDeclaration, kind, javaDescriptorResolver, classData); diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaBaseScope.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaBaseScope.java index 0f2fa588b8e..6334a959107 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaBaseScope.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaBaseScope.java @@ -28,7 +28,7 @@ import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.java.JavaSemanticServices; import org.jetbrains.jet.lang.resolve.java.NamedMembers; import org.jetbrains.jet.lang.resolve.java.data.ClassPsiDeclarationProvider; -import org.jetbrains.jet.lang.resolve.java.data.ClassPsiDeclarationProviderBase; +import org.jetbrains.jet.lang.resolve.java.data.ClassPsiDeclarationProviderImpl; import org.jetbrains.jet.lang.resolve.java.data.PackagePsiDeclarationProvider; import org.jetbrains.jet.lang.resolve.java.data.PsiDeclarationProvider; import org.jetbrains.jet.lang.resolve.java.descriptor.JavaNamespaceDescriptor; @@ -172,7 +172,7 @@ public abstract class JavaBaseScope extends JetScopeImpl { } else { result.addAll(semanticServices.getDescriptorResolver().resolveInnerClasses( - descriptor, psiClass, ((ClassPsiDeclarationProviderBase) resolverScopeData).isStaticMembers())); + descriptor, psiClass, ((ClassPsiDeclarationProviderImpl) resolverScopeData).isStaticMembers())); } } }