di: store everything in fields

needed to implement @PreDestroy
This commit is contained in:
Stepan Koltsov
2012-04-20 21:33:17 +04:00
parent 092a572143
commit 994e6fe009
9 changed files with 167 additions and 69 deletions
@@ -38,8 +38,14 @@ public class InjectorForJavaSemanticServices {
private JavaSemanticServices javaSemanticServices;
private JavaDescriptorResolver javaDescriptorResolver;
private BindingTrace bindingTrace;
private JavaBridgeConfiguration javaBridgeConfiguration;
private PsiClassFinderForJvm psiClassFinderForJvm;
private ModuleDescriptor moduleDescriptor;
private final CompilerDependencies compilerDependencies;
private CompilerSpecialMode compilerSpecialMode;
private final Project project;
private JavaTypeTransformer javaTypeTransformer;
private NamespaceFactoryImpl namespaceFactoryImpl;
public InjectorForJavaSemanticServices(
@NotNull CompilerDependencies compilerDependencies,
@@ -48,13 +54,14 @@ public class InjectorForJavaSemanticServices {
this.javaSemanticServices = new JavaSemanticServices();
this.javaDescriptorResolver = new JavaDescriptorResolver();
this.bindingTrace = new org.jetbrains.jet.lang.resolve.BindingTraceContext();
JavaBridgeConfiguration javaBridgeConfiguration = new JavaBridgeConfiguration();
this.javaBridgeConfiguration = new JavaBridgeConfiguration();
this.psiClassFinderForJvm = new PsiClassFinderForJvm();
ModuleDescriptor moduleDescriptor = new org.jetbrains.jet.lang.descriptors.ModuleDescriptor("<dummy>");
CompilerSpecialMode compilerSpecialMode = compilerDependencies.getCompilerSpecialMode();
this.moduleDescriptor = new org.jetbrains.jet.lang.descriptors.ModuleDescriptor("<dummy>");
this.compilerDependencies = compilerDependencies;
this.compilerSpecialMode = compilerDependencies.getCompilerSpecialMode();
this.project = project;
JavaTypeTransformer javaTypeTransformer = new JavaTypeTransformer();
NamespaceFactoryImpl namespaceFactoryImpl = new NamespaceFactoryImpl();
this.javaTypeTransformer = new JavaTypeTransformer();
this.namespaceFactoryImpl = new NamespaceFactoryImpl();
this.javaSemanticServices.setDescriptorResolver(javaDescriptorResolver);
this.javaSemanticServices.setPsiClassFinder(psiClassFinderForJvm);
@@ -68,7 +68,28 @@ public class InjectorForTopDownAnalyzerForJvm {
private final Project project;
private final TopDownAnalysisParameters topDownAnalysisParameters;
private final ObservableBindingTrace observableBindingTrace;
private final ModuleDescriptor moduleDescriptor;
private final JetControlFlowDataTraceFactory jetControlFlowDataTraceFactory;
private final CompilerDependencies compilerDependencies;
private CompilerSpecialMode compilerSpecialMode;
private JavaBridgeConfiguration javaBridgeConfiguration;
private PsiClassFinderForJvm psiClassFinderForJvm;
private DeclarationResolver declarationResolver;
private AnnotationResolver annotationResolver;
private CallResolver callResolver;
private ExpressionTypingServices expressionTypingServices;
private TypeResolver typeResolver;
private QualifiedExpressionResolver qualifiedExpressionResolver;
private OverloadingConflictResolver overloadingConflictResolver;
private ImportsResolver importsResolver;
private DelegationResolver delegationResolver;
private NamespaceFactoryImpl namespaceFactoryImpl;
private OverloadResolver overloadResolver;
private OverrideResolver overrideResolver;
private TypeHierarchyResolver typeHierarchyResolver;
private JavaSemanticServices javaSemanticServices;
private JavaDescriptorResolver javaDescriptorResolver;
private JavaTypeTransformer javaTypeTransformer;
public InjectorForTopDownAnalyzerForJvm(
@NotNull Project project,
@@ -87,25 +108,28 @@ public class InjectorForTopDownAnalyzerForJvm {
this.project = project;
this.topDownAnalysisParameters = topDownAnalysisParameters;
this.observableBindingTrace = observableBindingTrace;
CompilerSpecialMode compilerSpecialMode = compilerDependencies.getCompilerSpecialMode();
this.moduleDescriptor = moduleDescriptor;
this.jetControlFlowDataTraceFactory = jetControlFlowDataTraceFactory;
this.compilerDependencies = compilerDependencies;
this.compilerSpecialMode = compilerDependencies.getCompilerSpecialMode();
this.javaBridgeConfiguration = new JavaBridgeConfiguration();
PsiClassFinderForJvm psiClassFinderForJvm = new PsiClassFinderForJvm();
DeclarationResolver declarationResolver = new DeclarationResolver();
AnnotationResolver annotationResolver = new AnnotationResolver();
CallResolver callResolver = new CallResolver();
ExpressionTypingServices expressionTypingServices = new ExpressionTypingServices();
TypeResolver typeResolver = new TypeResolver();
QualifiedExpressionResolver qualifiedExpressionResolver = new QualifiedExpressionResolver();
OverloadingConflictResolver overloadingConflictResolver = new OverloadingConflictResolver();
ImportsResolver importsResolver = new ImportsResolver();
DelegationResolver delegationResolver = new DelegationResolver();
NamespaceFactoryImpl namespaceFactoryImpl = new NamespaceFactoryImpl();
OverloadResolver overloadResolver = new OverloadResolver();
OverrideResolver overrideResolver = new OverrideResolver();
TypeHierarchyResolver typeHierarchyResolver = new TypeHierarchyResolver();
JavaSemanticServices javaSemanticServices = new JavaSemanticServices();
JavaDescriptorResolver javaDescriptorResolver = new JavaDescriptorResolver();
JavaTypeTransformer javaTypeTransformer = new JavaTypeTransformer();
this.psiClassFinderForJvm = new PsiClassFinderForJvm();
this.declarationResolver = new DeclarationResolver();
this.annotationResolver = new AnnotationResolver();
this.callResolver = new CallResolver();
this.expressionTypingServices = new ExpressionTypingServices();
this.typeResolver = new TypeResolver();
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
this.overloadingConflictResolver = new OverloadingConflictResolver();
this.importsResolver = new ImportsResolver();
this.delegationResolver = new DelegationResolver();
this.namespaceFactoryImpl = new NamespaceFactoryImpl();
this.overloadResolver = new OverloadResolver();
this.overrideResolver = new OverrideResolver();
this.typeHierarchyResolver = new TypeHierarchyResolver();
this.javaSemanticServices = new JavaSemanticServices();
this.javaDescriptorResolver = new JavaDescriptorResolver();
this.javaTypeTransformer = new JavaTypeTransformer();
this.topDownAnalyzer.setBodyResolver(bodyResolver);
this.topDownAnalyzer.setContext(topDownAnalysisContext);