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
@@ -33,18 +33,24 @@ public class InjectorForMacros {
private ExpressionTypingServices expressionTypingServices;
private final Project project;
private CallResolver callResolver;
private DescriptorResolver descriptorResolver;
private AnnotationResolver annotationResolver;
private TypeResolver typeResolver;
private QualifiedExpressionResolver qualifiedExpressionResolver;
private OverloadingConflictResolver overloadingConflictResolver;
public InjectorForMacros(
@NotNull Project project
) {
this.expressionTypingServices = new ExpressionTypingServices();
this.project = project;
CallResolver callResolver = new CallResolver();
DescriptorResolver descriptorResolver = new DescriptorResolver();
AnnotationResolver annotationResolver = new AnnotationResolver();
TypeResolver typeResolver = new TypeResolver();
QualifiedExpressionResolver qualifiedExpressionResolver = new QualifiedExpressionResolver();
OverloadingConflictResolver overloadingConflictResolver = new OverloadingConflictResolver();
this.callResolver = new CallResolver();
this.descriptorResolver = new DescriptorResolver();
this.annotationResolver = new AnnotationResolver();
this.typeResolver = new TypeResolver();
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
this.overloadingConflictResolver = new OverloadingConflictResolver();
this.expressionTypingServices.setCallResolver(callResolver);
this.expressionTypingServices.setDescriptorResolver(descriptorResolver);
@@ -62,6 +62,22 @@ public class InjectorForTopDownAnalyzerBasic {
private final Project project;
private final TopDownAnalysisParameters topDownAnalysisParameters;
private final ObservableBindingTrace observableBindingTrace;
private final ModuleDescriptor moduleDescriptor;
private final JetControlFlowDataTraceFactory jetControlFlowDataTraceFactory;
private final ModuleConfiguration moduleConfiguration;
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;
public InjectorForTopDownAnalyzerBasic(
@NotNull Project project,
@@ -80,19 +96,22 @@ public class InjectorForTopDownAnalyzerBasic {
this.project = project;
this.topDownAnalysisParameters = topDownAnalysisParameters;
this.observableBindingTrace = observableBindingTrace;
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();
this.moduleDescriptor = moduleDescriptor;
this.jetControlFlowDataTraceFactory = jetControlFlowDataTraceFactory;
this.moduleConfiguration = moduleConfiguration;
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.topDownAnalyzer.setBodyResolver(bodyResolver);
this.topDownAnalyzer.setContext(topDownAnalysisContext);