Delete PsiDeclarationProviderFactory
This commit is contained in:
committed by
Pavel V. Talanov
parent
2d7a5ebf36
commit
dbf324667f
@@ -28,7 +28,6 @@ import org.jetbrains.jet.lang.resolve.java.resolver.JavaValueParameterResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaTypeTransformer;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaSignatureResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaSemanticServices;
|
||||
import org.jetbrains.jet.lang.resolve.java.provider.PsiDeclarationProviderFactory;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.DeserializedDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.AnnotationDescriptorDeserializer;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaNamespaceResolver;
|
||||
@@ -54,7 +53,6 @@ public class InjectorForJavaDescriptorResolver {
|
||||
private final JavaTypeTransformer javaTypeTransformer;
|
||||
private final JavaSignatureResolver javaSignatureResolver;
|
||||
private final JavaSemanticServices javaSemanticServices;
|
||||
private final PsiDeclarationProviderFactory psiDeclarationProviderFactory;
|
||||
private final DeserializedDescriptorResolver deserializedDescriptorResolver;
|
||||
private final AnnotationDescriptorDeserializer annotationDescriptorDeserializer;
|
||||
private final JavaNamespaceResolver javaNamespaceResolver;
|
||||
@@ -79,7 +77,6 @@ public class InjectorForJavaDescriptorResolver {
|
||||
this.javaTypeTransformer = new JavaTypeTransformer();
|
||||
this.javaSignatureResolver = new JavaSignatureResolver();
|
||||
this.javaSemanticServices = new JavaSemanticServices();
|
||||
this.psiDeclarationProviderFactory = new PsiDeclarationProviderFactory(getPsiClassFinder());
|
||||
this.deserializedDescriptorResolver = new DeserializedDescriptorResolver();
|
||||
this.annotationDescriptorDeserializer = new AnnotationDescriptorDeserializer();
|
||||
this.javaNamespaceResolver = new JavaNamespaceResolver();
|
||||
@@ -127,7 +124,6 @@ public class InjectorForJavaDescriptorResolver {
|
||||
|
||||
javaSemanticServices.setDescriptorResolver(javaDescriptorResolver);
|
||||
javaSemanticServices.setPsiClassFinder(psiClassFinder);
|
||||
javaSemanticServices.setPsiDeclarationProviderFactory(psiDeclarationProviderFactory);
|
||||
javaSemanticServices.setTypeTransformer(javaTypeTransformer);
|
||||
|
||||
deserializedDescriptorResolver.setAnnotationDeserializer(annotationDescriptorDeserializer);
|
||||
|
||||
@@ -48,7 +48,6 @@ import org.jetbrains.jet.lang.resolve.OverrideResolver;
|
||||
import org.jetbrains.jet.lang.resolve.TypeHierarchyResolver;
|
||||
import org.jetbrains.jet.lang.resolve.ScriptBodyResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaSemanticServices;
|
||||
import org.jetbrains.jet.lang.resolve.java.provider.PsiDeclarationProviderFactory;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaTypeTransformer;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaClassResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaAnnotationResolver;
|
||||
@@ -101,7 +100,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
private final TypeHierarchyResolver typeHierarchyResolver;
|
||||
private final ScriptBodyResolver scriptBodyResolver;
|
||||
private final JavaSemanticServices javaSemanticServices;
|
||||
private final PsiDeclarationProviderFactory psiDeclarationProviderFactory;
|
||||
private final JavaTypeTransformer javaTypeTransformer;
|
||||
private final JavaClassResolver javaClassResolver;
|
||||
private final JavaAnnotationResolver javaAnnotationResolver;
|
||||
@@ -155,7 +153,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
this.typeHierarchyResolver = new TypeHierarchyResolver();
|
||||
this.scriptBodyResolver = new ScriptBodyResolver();
|
||||
this.javaSemanticServices = new JavaSemanticServices();
|
||||
this.psiDeclarationProviderFactory = new PsiDeclarationProviderFactory(psiClassFinder);
|
||||
this.javaTypeTransformer = new JavaTypeTransformer();
|
||||
this.javaClassResolver = new JavaClassResolver();
|
||||
this.javaAnnotationResolver = new JavaAnnotationResolver();
|
||||
@@ -286,7 +283,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
|
||||
javaSemanticServices.setDescriptorResolver(javaDescriptorResolver);
|
||||
javaSemanticServices.setPsiClassFinder(psiClassFinder);
|
||||
javaSemanticServices.setPsiDeclarationProviderFactory(psiDeclarationProviderFactory);
|
||||
javaSemanticServices.setTypeTransformer(javaTypeTransformer);
|
||||
|
||||
javaTypeTransformer.setResolver(javaDescriptorResolver);
|
||||
|
||||
-19
@@ -17,13 +17,6 @@
|
||||
package org.jetbrains.jet.lang.resolve.java;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.lang.resolve.java.provider.PsiDeclarationProviderFactory;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
@@ -34,8 +27,6 @@ public class JavaSemanticServices {
|
||||
private JavaDescriptorResolver descriptorResolver;
|
||||
@NotNull
|
||||
private PsiClassFinder psiClassFinder;
|
||||
@NotNull
|
||||
private PsiDeclarationProviderFactory psiDeclarationProviderFactory;
|
||||
|
||||
@Inject
|
||||
public void setTypeTransformer(@NotNull JavaTypeTransformer typeTransformer) {
|
||||
@@ -52,11 +43,6 @@ public class JavaSemanticServices {
|
||||
this.psiClassFinder = psiClassFinder;
|
||||
}
|
||||
|
||||
@Inject
|
||||
public void setPsiDeclarationProviderFactory(@NotNull PsiDeclarationProviderFactory psiDeclarationProviderFactory) {
|
||||
this.psiDeclarationProviderFactory = psiDeclarationProviderFactory;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public JavaTypeTransformer getTypeTransformer() {
|
||||
return typeTransformer;
|
||||
@@ -71,9 +57,4 @@ public class JavaSemanticServices {
|
||||
public PsiClassFinder getPsiClassFinder() {
|
||||
return psiClassFinder;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public PsiDeclarationProviderFactory getPsiDeclarationProviderFactory() {
|
||||
return psiDeclarationProviderFactory;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-2
@@ -21,7 +21,6 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.resolve.java.PsiClassFinder;
|
||||
|
||||
public class ClassPsiDeclarationProviderImpl extends PsiDeclarationProviderBase implements ClassPsiDeclarationProvider {
|
||||
|
||||
@NotNull
|
||||
protected final PsiClassFinder psiClassFinder;
|
||||
|
||||
@@ -30,7 +29,7 @@ public class ClassPsiDeclarationProviderImpl extends PsiDeclarationProviderBase
|
||||
|
||||
private final boolean staticMembers;
|
||||
|
||||
protected ClassPsiDeclarationProviderImpl(@NotNull PsiClass psiClass, boolean staticMembers, @NotNull PsiClassFinder psiClassFinder) {
|
||||
public ClassPsiDeclarationProviderImpl(@NotNull PsiClass psiClass, boolean staticMembers, @NotNull PsiClassFinder psiClassFinder) {
|
||||
this.staticMembers = staticMembers;
|
||||
this.psiClass = psiClass;
|
||||
this.psiClassFinder = psiClassFinder;
|
||||
|
||||
+1
-5
@@ -21,17 +21,13 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.resolve.java.PsiClassFinder;
|
||||
|
||||
public final class PackagePsiDeclarationProviderImpl extends PsiDeclarationProviderBase implements PackagePsiDeclarationProvider {
|
||||
|
||||
@NotNull
|
||||
private final PsiPackage psiPackage;
|
||||
|
||||
@NotNull
|
||||
private final PsiClassFinder psiClassFinder;
|
||||
|
||||
/*package private*/ PackagePsiDeclarationProviderImpl(
|
||||
@NotNull PsiPackage psiPackage,
|
||||
@NotNull PsiClassFinder psiClassFinder
|
||||
) {
|
||||
public PackagePsiDeclarationProviderImpl(@NotNull PsiPackage psiPackage, @NotNull PsiClassFinder psiClassFinder) {
|
||||
this.psiPackage = psiPackage;
|
||||
this.psiClassFinder = psiClassFinder;
|
||||
}
|
||||
|
||||
-50
@@ -1,50 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2013 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.provider;
|
||||
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiPackage;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.resolve.java.PsiClassFinder;
|
||||
|
||||
public final class PsiDeclarationProviderFactory {
|
||||
@NotNull private final PsiClassFinder psiClassFinder;
|
||||
|
||||
public PsiDeclarationProviderFactory(@NotNull PsiClassFinder psiClassFinder) {
|
||||
this.psiClassFinder = psiClassFinder;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public ClassPsiDeclarationProvider createSyntheticClassObjectClassData(@NotNull PsiClass psiClass) {
|
||||
return createDeclarationProviderForClassStaticMembers(psiClass);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public ClassPsiDeclarationProvider createBinaryClassData(@NotNull PsiClass psiClass) {
|
||||
return new ClassPsiDeclarationProviderImpl(psiClass, false, psiClassFinder);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public PackagePsiDeclarationProvider createDeclarationProviderForNamespaceWithoutMembers(@NotNull PsiPackage psiPackage) {
|
||||
return new PackagePsiDeclarationProviderImpl(psiPackage, psiClassFinder);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public ClassPsiDeclarationProvider createDeclarationProviderForClassStaticMembers(@NotNull PsiClass psiClass) {
|
||||
return new ClassPsiDeclarationProviderImpl(psiClass, true, psiClassFinder);
|
||||
}
|
||||
}
|
||||
+5
-8
@@ -35,6 +35,7 @@ import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
||||
import org.jetbrains.jet.lang.resolve.java.*;
|
||||
import org.jetbrains.jet.lang.resolve.java.descriptor.ClassDescriptorFromJvmBytecode;
|
||||
import org.jetbrains.jet.lang.resolve.java.provider.ClassPsiDeclarationProvider;
|
||||
import org.jetbrains.jet.lang.resolve.java.provider.ClassPsiDeclarationProviderImpl;
|
||||
import org.jetbrains.jet.lang.resolve.java.provider.MembersCache;
|
||||
import org.jetbrains.jet.lang.resolve.java.sam.SingleAbstractMethodUtils;
|
||||
import org.jetbrains.jet.lang.resolve.java.scope.JavaClassNonStaticMembersScope;
|
||||
@@ -275,7 +276,7 @@ public final class JavaClassResolver {
|
||||
@NotNull ClassOrNamespaceDescriptor containingDeclaration
|
||||
) {
|
||||
ClassKind kind = getClassKind(psiClass);
|
||||
ClassPsiDeclarationProvider classData = semanticServices.getPsiDeclarationProviderFactory().createBinaryClassData(psiClass);
|
||||
ClassPsiDeclarationProvider classData = new ClassPsiDeclarationProviderImpl(psiClass, false, psiClassFinder);
|
||||
ClassDescriptorFromJvmBytecode classDescriptor = new ClassDescriptorFromJvmBytecode(
|
||||
containingDeclaration, kind, isInnerClass(psiClass));
|
||||
|
||||
@@ -501,15 +502,11 @@ public final class JavaClassResolver {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private ClassDescriptorFromJvmBytecode createSyntheticClassObject(
|
||||
@NotNull ClassDescriptor containing,
|
||||
@NotNull PsiClass psiClass
|
||||
) {
|
||||
private ClassDescriptorFromJvmBytecode createSyntheticClassObject(@NotNull ClassDescriptor containing, @NotNull PsiClass psiClass) {
|
||||
ClassDescriptorFromJvmBytecode classObjectDescriptor =
|
||||
new ClassDescriptorFromJvmBytecode(containing, ClassKind.CLASS_OBJECT, false);
|
||||
ClassPsiDeclarationProvider data =
|
||||
semanticServices.getPsiDeclarationProviderFactory().createSyntheticClassObjectClassData(psiClass);
|
||||
setUpClassObjectDescriptor(classObjectDescriptor, containing, data, getClassObjectName(containing.getName().asString()));
|
||||
ClassPsiDeclarationProvider provider = new ClassPsiDeclarationProviderImpl(psiClass, true, psiClassFinder);
|
||||
setUpClassObjectDescriptor(classObjectDescriptor, containing, provider, getClassObjectName(containing.getName().asString()));
|
||||
return classObjectDescriptor;
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -36,7 +36,7 @@ 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.descriptor.JavaNamespaceDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.java.provider.MembersCache;
|
||||
import org.jetbrains.jet.lang.resolve.java.provider.*;
|
||||
import org.jetbrains.jet.lang.resolve.java.scope.JavaBaseScope;
|
||||
import org.jetbrains.jet.lang.resolve.java.scope.JavaClassStaticMembersScope;
|
||||
import org.jetbrains.jet.lang.resolve.java.scope.JavaPackageScopeWithoutMembers;
|
||||
@@ -187,8 +187,8 @@ public final class JavaNamespaceResolver {
|
||||
}
|
||||
|
||||
// Otherwise (if psiClass is null or doesn't have a supported Kotlin annotation), it's a Java class and the package is empty
|
||||
return new JavaPackageScopeWithoutMembers(namespaceDescriptor, javaSemanticServices.getPsiDeclarationProviderFactory()
|
||||
.createDeclarationProviderForNamespaceWithoutMembers(psiPackage), fqName, javaSemanticServices);
|
||||
PackagePsiDeclarationProvider provider = new PackagePsiDeclarationProviderImpl(psiPackage, psiClassFinder);
|
||||
return new JavaPackageScopeWithoutMembers(namespaceDescriptor, provider, fqName, javaSemanticServices);
|
||||
}
|
||||
|
||||
PsiClass psiClass = psiClassFinder.findPsiClass(fqName, PsiClassFinder.RuntimeClassesHandleMode.IGNORE);
|
||||
@@ -204,7 +204,7 @@ public final class JavaNamespaceResolver {
|
||||
trace.record(JavaBindingContext.JAVA_NAMESPACE_KIND, namespaceDescriptor, JavaNamespaceKind.CLASS_STATICS);
|
||||
return new JavaClassStaticMembersScope(
|
||||
namespaceDescriptor,
|
||||
javaSemanticServices.getPsiDeclarationProviderFactory().createDeclarationProviderForClassStaticMembers(psiClass),
|
||||
new ClassPsiDeclarationProviderImpl(psiClass, true, psiClassFinder),
|
||||
fqName, javaSemanticServices);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user