add NamespaceFactory dependency to JavaNamespaceDescriptor
(JavaNamespaceDescriptor will be killed soon, NamespaceFactory will be used to create nss)
This commit is contained in:
@@ -20,8 +20,11 @@ package org.jetbrains.jet.di;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaSemanticServices;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaTypeTransformer;
|
||||
import org.jetbrains.jet.lang.resolve.NamespaceFactoryImpl;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -39,19 +42,30 @@ public class InjectorForJavaSemanticServices {
|
||||
this.javaSemanticServices = new JavaSemanticServices();
|
||||
this.javaDescriptorResolver = new JavaDescriptorResolver();
|
||||
this.bindingTrace = new org.jetbrains.jet.lang.resolve.BindingTraceContext();
|
||||
JavaBridgeConfiguration javaBridgeConfiguration = new JavaBridgeConfiguration();
|
||||
ModuleDescriptor moduleDescriptor = new org.jetbrains.jet.lang.descriptors.ModuleDescriptor("<dummy>");
|
||||
this.project = project;
|
||||
JavaTypeTransformer javaTypeTransformer = new JavaTypeTransformer();
|
||||
NamespaceFactoryImpl namespaceFactoryImpl = new NamespaceFactoryImpl();
|
||||
|
||||
this.javaSemanticServices.setDescriptorResolver(javaDescriptorResolver);
|
||||
this.javaSemanticServices.setTrace(bindingTrace);
|
||||
this.javaSemanticServices.setTypeTransformer(javaTypeTransformer);
|
||||
|
||||
this.javaDescriptorResolver.setNamespaceFactory(namespaceFactoryImpl);
|
||||
this.javaDescriptorResolver.setProject(project);
|
||||
this.javaDescriptorResolver.setSemanticServices(javaSemanticServices);
|
||||
|
||||
javaBridgeConfiguration.setJavaSemanticServices(javaSemanticServices);
|
||||
javaBridgeConfiguration.setProject(project);
|
||||
|
||||
javaTypeTransformer.setJavaSemanticServices(javaSemanticServices);
|
||||
javaTypeTransformer.setResolver(javaDescriptorResolver);
|
||||
|
||||
namespaceFactoryImpl.setConfiguration(javaBridgeConfiguration);
|
||||
namespaceFactoryImpl.setModuleDescriptor(moduleDescriptor);
|
||||
namespaceFactoryImpl.setTrace(bindingTrace);
|
||||
|
||||
}
|
||||
|
||||
public JavaSemanticServices getJavaSemanticServices() {
|
||||
|
||||
@@ -187,6 +187,7 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
javaSemanticServices.setTrace(observableBindingTrace);
|
||||
javaSemanticServices.setTypeTransformer(javaTypeTransformer);
|
||||
|
||||
javaDescriptorResolver.setNamespaceFactory(namespaceFactoryImpl);
|
||||
javaDescriptorResolver.setProject(project);
|
||||
javaDescriptorResolver.setSemanticServices(javaSemanticServices);
|
||||
|
||||
|
||||
+7
-4
@@ -32,10 +32,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.descriptors.*;
|
||||
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.JetPsiUtil;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
||||
import org.jetbrains.jet.lang.resolve.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.OverrideResolver;
|
||||
import org.jetbrains.jet.lang.resolve.*;
|
||||
import org.jetbrains.jet.lang.resolve.constants.*;
|
||||
import org.jetbrains.jet.lang.resolve.java.alt.AltClassFinder;
|
||||
import org.jetbrains.jet.lang.resolve.java.kt.JetClassAnnotation;
|
||||
@@ -199,6 +196,7 @@ public class JavaDescriptorResolver {
|
||||
protected GlobalSearchScope javaSearchScope ;
|
||||
protected JavaSemanticServices semanticServices;
|
||||
private AltClassFinder altClassFinder;
|
||||
private NamespaceFactory namespaceFactory;
|
||||
|
||||
@Inject
|
||||
public void setProject(Project project) {
|
||||
@@ -213,6 +211,11 @@ public class JavaDescriptorResolver {
|
||||
this.javaFacade = JavaPsiFacade.getInstance(project);
|
||||
}
|
||||
|
||||
@Inject
|
||||
public void setNamespaceFactory(NamespaceFactoryImpl namespaceFactory) {
|
||||
this.namespaceFactory = namespaceFactory;
|
||||
}
|
||||
|
||||
@Inject
|
||||
public void setSemanticServices(JavaSemanticServices semanticServices) {
|
||||
this.semanticServices = semanticServices;
|
||||
|
||||
Reference in New Issue
Block a user