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.JavaSemanticServices;
|
||||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
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 com.intellij.openapi.project.Project;
|
||||||
import org.jetbrains.jet.lang.resolve.java.JavaTypeTransformer;
|
import org.jetbrains.jet.lang.resolve.java.JavaTypeTransformer;
|
||||||
|
import org.jetbrains.jet.lang.resolve.NamespaceFactoryImpl;
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@@ -39,19 +42,30 @@ public class InjectorForJavaSemanticServices {
|
|||||||
this.javaSemanticServices = new JavaSemanticServices();
|
this.javaSemanticServices = new JavaSemanticServices();
|
||||||
this.javaDescriptorResolver = new JavaDescriptorResolver();
|
this.javaDescriptorResolver = new JavaDescriptorResolver();
|
||||||
this.bindingTrace = new org.jetbrains.jet.lang.resolve.BindingTraceContext();
|
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;
|
this.project = project;
|
||||||
JavaTypeTransformer javaTypeTransformer = new JavaTypeTransformer();
|
JavaTypeTransformer javaTypeTransformer = new JavaTypeTransformer();
|
||||||
|
NamespaceFactoryImpl namespaceFactoryImpl = new NamespaceFactoryImpl();
|
||||||
|
|
||||||
this.javaSemanticServices.setDescriptorResolver(javaDescriptorResolver);
|
this.javaSemanticServices.setDescriptorResolver(javaDescriptorResolver);
|
||||||
this.javaSemanticServices.setTrace(bindingTrace);
|
this.javaSemanticServices.setTrace(bindingTrace);
|
||||||
this.javaSemanticServices.setTypeTransformer(javaTypeTransformer);
|
this.javaSemanticServices.setTypeTransformer(javaTypeTransformer);
|
||||||
|
|
||||||
|
this.javaDescriptorResolver.setNamespaceFactory(namespaceFactoryImpl);
|
||||||
this.javaDescriptorResolver.setProject(project);
|
this.javaDescriptorResolver.setProject(project);
|
||||||
this.javaDescriptorResolver.setSemanticServices(javaSemanticServices);
|
this.javaDescriptorResolver.setSemanticServices(javaSemanticServices);
|
||||||
|
|
||||||
|
javaBridgeConfiguration.setJavaSemanticServices(javaSemanticServices);
|
||||||
|
javaBridgeConfiguration.setProject(project);
|
||||||
|
|
||||||
javaTypeTransformer.setJavaSemanticServices(javaSemanticServices);
|
javaTypeTransformer.setJavaSemanticServices(javaSemanticServices);
|
||||||
javaTypeTransformer.setResolver(javaDescriptorResolver);
|
javaTypeTransformer.setResolver(javaDescriptorResolver);
|
||||||
|
|
||||||
|
namespaceFactoryImpl.setConfiguration(javaBridgeConfiguration);
|
||||||
|
namespaceFactoryImpl.setModuleDescriptor(moduleDescriptor);
|
||||||
|
namespaceFactoryImpl.setTrace(bindingTrace);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public JavaSemanticServices getJavaSemanticServices() {
|
public JavaSemanticServices getJavaSemanticServices() {
|
||||||
|
|||||||
@@ -187,6 +187,7 @@ public class InjectorForTopDownAnalyzerForJvm {
|
|||||||
javaSemanticServices.setTrace(observableBindingTrace);
|
javaSemanticServices.setTrace(observableBindingTrace);
|
||||||
javaSemanticServices.setTypeTransformer(javaTypeTransformer);
|
javaSemanticServices.setTypeTransformer(javaTypeTransformer);
|
||||||
|
|
||||||
|
javaDescriptorResolver.setNamespaceFactory(namespaceFactoryImpl);
|
||||||
javaDescriptorResolver.setProject(project);
|
javaDescriptorResolver.setProject(project);
|
||||||
javaDescriptorResolver.setSemanticServices(javaSemanticServices);
|
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.*;
|
||||||
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
||||||
import org.jetbrains.jet.lang.psi.JetPsiUtil;
|
import org.jetbrains.jet.lang.psi.JetPsiUtil;
|
||||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
import org.jetbrains.jet.lang.resolve.*;
|
||||||
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.constants.*;
|
import org.jetbrains.jet.lang.resolve.constants.*;
|
||||||
import org.jetbrains.jet.lang.resolve.java.alt.AltClassFinder;
|
import org.jetbrains.jet.lang.resolve.java.alt.AltClassFinder;
|
||||||
import org.jetbrains.jet.lang.resolve.java.kt.JetClassAnnotation;
|
import org.jetbrains.jet.lang.resolve.java.kt.JetClassAnnotation;
|
||||||
@@ -199,6 +196,7 @@ public class JavaDescriptorResolver {
|
|||||||
protected GlobalSearchScope javaSearchScope ;
|
protected GlobalSearchScope javaSearchScope ;
|
||||||
protected JavaSemanticServices semanticServices;
|
protected JavaSemanticServices semanticServices;
|
||||||
private AltClassFinder altClassFinder;
|
private AltClassFinder altClassFinder;
|
||||||
|
private NamespaceFactory namespaceFactory;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public void setProject(Project project) {
|
public void setProject(Project project) {
|
||||||
@@ -213,6 +211,11 @@ public class JavaDescriptorResolver {
|
|||||||
this.javaFacade = JavaPsiFacade.getInstance(project);
|
this.javaFacade = JavaPsiFacade.getInstance(project);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public void setNamespaceFactory(NamespaceFactoryImpl namespaceFactory) {
|
||||||
|
this.namespaceFactory = namespaceFactory;
|
||||||
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public void setSemanticServices(JavaSemanticServices semanticServices) {
|
public void setSemanticServices(JavaSemanticServices semanticServices) {
|
||||||
this.semanticServices = semanticServices;
|
this.semanticServices = semanticServices;
|
||||||
|
|||||||
@@ -110,7 +110,11 @@ public class AllInjectorsGenerator {
|
|||||||
// Fields
|
// Fields
|
||||||
generator.addPublicField(JavaSemanticServices.class);
|
generator.addPublicField(JavaSemanticServices.class);
|
||||||
generator.addPublicField(JavaDescriptorResolver.class);
|
generator.addPublicField(JavaDescriptorResolver.class);
|
||||||
generator.addField(true, BindingTrace.class, null, new GivenExpression("new org.jetbrains.jet.lang.resolve.BindingTraceContext()"));
|
generator.addField(true, BindingTrace.class, null,
|
||||||
|
new GivenExpression("new org.jetbrains.jet.lang.resolve.BindingTraceContext()"));
|
||||||
|
generator.addField(JavaBridgeConfiguration.class);
|
||||||
|
generator.addField(false, ModuleDescriptor.class, null,
|
||||||
|
new GivenExpression("new org.jetbrains.jet.lang.descriptors.ModuleDescriptor(\"<dummy>\")"));
|
||||||
|
|
||||||
// Parameters
|
// Parameters
|
||||||
generator.addPublicParameter(Project.class);
|
generator.addPublicParameter(Project.class);
|
||||||
|
|||||||
Reference in New Issue
Block a user