001    /*
002     * Copyright 2010-2013 JetBrains s.r.o.
003     *
004     * Licensed under the Apache License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     * http://www.apache.org/licenses/LICENSE-2.0
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    
017    package org.jetbrains.jet.di;
018    
019    import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
020    import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
021    import org.jetbrains.jet.lang.resolve.BodyResolver;
022    import org.jetbrains.jet.lang.resolve.ControlFlowAnalyzer;
023    import org.jetbrains.jet.lang.resolve.DeclarationsChecker;
024    import org.jetbrains.jet.lang.resolve.DescriptorResolver;
025    import org.jetbrains.jet.lang.resolve.calls.NeedSyntheticCallResolverExtension;
026    import com.intellij.openapi.project.Project;
027    import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
028    import org.jetbrains.jet.lang.resolve.BindingTrace;
029    import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
030    import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration;
031    import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
032    import org.jetbrains.jet.lang.resolve.java.PsiClassFinderImpl;
033    import org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap;
034    import org.jetbrains.jet.lang.resolve.java.JavaClassFinderImpl;
035    import org.jetbrains.jet.lang.resolve.java.resolver.TraceBasedExternalSignatureResolver;
036    import org.jetbrains.jet.lang.resolve.java.resolver.TraceBasedJavaResolverCache;
037    import org.jetbrains.jet.lang.resolve.java.resolver.FakeOverrideVisibilityResolverImpl;
038    import org.jetbrains.jet.lang.resolve.java.resolver.TraceBasedErrorReporter;
039    import org.jetbrains.jet.lang.resolve.java.resolver.PsiBasedMethodSignatureChecker;
040    import org.jetbrains.jet.lang.resolve.java.resolver.PsiBasedExternalAnnotationResolver;
041    import org.jetbrains.jet.lang.resolve.NamespaceFactoryImpl;
042    import org.jetbrains.jet.lang.resolve.java.vfilefinder.VirtualFileFinder;
043    import org.jetbrains.jet.lang.resolve.DeclarationResolver;
044    import org.jetbrains.jet.lang.resolve.AnnotationResolver;
045    import org.jetbrains.jet.lang.resolve.calls.CallResolver;
046    import org.jetbrains.jet.lang.resolve.calls.ArgumentTypeResolver;
047    import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
048    import org.jetbrains.jet.lang.resolve.calls.CallExpressionResolver;
049    import org.jetbrains.jet.lang.resolve.TypeResolver;
050    import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
051    import org.jetbrains.jet.lang.resolve.calls.CandidateResolver;
052    import org.jetbrains.jet.lang.resolve.ImportsResolver;
053    import org.jetbrains.jet.lang.psi.JetImportsFactory;
054    import org.jetbrains.jet.lang.resolve.ScriptHeaderResolver;
055    import org.jetbrains.jet.lang.resolve.OverloadResolver;
056    import org.jetbrains.jet.lang.resolve.OverrideResolver;
057    import org.jetbrains.jet.lang.resolve.TypeHierarchyResolver;
058    import org.jetbrains.jet.lang.resolve.ScriptBodyResolver;
059    import org.jetbrains.jet.lang.resolve.java.resolver.JavaClassResolver;
060    import org.jetbrains.jet.lang.resolve.java.resolver.JavaAnnotationResolver;
061    import org.jetbrains.jet.lang.resolve.java.resolver.JavaAnnotationArgumentResolver;
062    import org.jetbrains.jet.lang.resolve.java.resolver.JavaTypeTransformer;
063    import org.jetbrains.jet.lang.resolve.java.resolver.DeserializedDescriptorResolver;
064    import org.jetbrains.jet.lang.resolve.java.resolver.AnnotationDescriptorDeserializer;
065    import org.jetbrains.jet.lang.resolve.java.resolver.JavaNamespaceResolver;
066    import org.jetbrains.jet.lang.resolve.java.resolver.JavaMemberResolver;
067    import org.jetbrains.jet.lang.resolve.java.resolver.JavaConstructorResolver;
068    import org.jetbrains.jet.lang.resolve.java.resolver.JavaValueParameterResolver;
069    import org.jetbrains.jet.lang.resolve.java.resolver.JavaFunctionResolver;
070    import org.jetbrains.jet.lang.resolve.java.resolver.JavaTypeParameterResolver;
071    import org.jetbrains.jet.lang.resolve.java.resolver.JavaPropertyResolver;
072    import org.jetbrains.jet.lang.resolve.java.resolver.JavaSupertypeResolver;
073    import org.jetbrains.annotations.NotNull;
074    import javax.annotation.PreDestroy;
075    
076    /* This file is generated by org.jetbrains.jet.generators.injectors.GenerateInjectors. DO NOT EDIT! */
077    public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnalyzer {
078        
079        private final TopDownAnalyzer topDownAnalyzer;
080        private final TopDownAnalysisContext topDownAnalysisContext;
081        private final BodyResolver bodyResolver;
082        private final ControlFlowAnalyzer controlFlowAnalyzer;
083        private final DeclarationsChecker declarationsChecker;
084        private final DescriptorResolver descriptorResolver;
085        private final NeedSyntheticCallResolverExtension needSyntheticCallResolverExtension;
086        private final Project project;
087        private final TopDownAnalysisParameters topDownAnalysisParameters;
088        private final BindingTrace bindingTrace;
089        private final ModuleDescriptorImpl moduleDescriptor;
090        private final JavaBridgeConfiguration javaBridgeConfiguration;
091        private final JavaDescriptorResolver javaDescriptorResolver;
092        private final PsiClassFinderImpl psiClassFinder;
093        private final JavaToKotlinClassMap javaToKotlinClassMap;
094        private final JavaClassFinderImpl javaClassFinder;
095        private final TraceBasedExternalSignatureResolver traceBasedExternalSignatureResolver;
096        private final TraceBasedJavaResolverCache traceBasedJavaResolverCache;
097        private final FakeOverrideVisibilityResolverImpl fakeOverrideVisibilityResolver;
098        private final TraceBasedErrorReporter traceBasedErrorReporter;
099        private final PsiBasedMethodSignatureChecker psiBasedMethodSignatureChecker;
100        private final PsiBasedExternalAnnotationResolver psiBasedExternalAnnotationResolver;
101        private final NamespaceFactoryImpl namespaceFactory;
102        private final VirtualFileFinder virtualFileFinder;
103        private final DeclarationResolver declarationResolver;
104        private final AnnotationResolver annotationResolver;
105        private final CallResolver callResolver;
106        private final ArgumentTypeResolver argumentTypeResolver;
107        private final ExpressionTypingServices expressionTypingServices;
108        private final CallExpressionResolver callExpressionResolver;
109        private final TypeResolver typeResolver;
110        private final QualifiedExpressionResolver qualifiedExpressionResolver;
111        private final CandidateResolver candidateResolver;
112        private final ImportsResolver importsResolver;
113        private final JetImportsFactory jetImportsFactory;
114        private final ScriptHeaderResolver scriptHeaderResolver;
115        private final OverloadResolver overloadResolver;
116        private final OverrideResolver overrideResolver;
117        private final TypeHierarchyResolver typeHierarchyResolver;
118        private final ScriptBodyResolver scriptBodyResolver;
119        private final JavaClassResolver javaClassResolver;
120        private final JavaAnnotationResolver javaAnnotationResolver;
121        private final JavaAnnotationArgumentResolver javaAnnotationArgumentResolver;
122        private final JavaTypeTransformer javaTypeTransformer;
123        private final DeserializedDescriptorResolver deserializedDescriptorResolver;
124        private final AnnotationDescriptorDeserializer annotationDescriptorDeserializer;
125        private final JavaNamespaceResolver javaNamespaceResolver;
126        private final JavaMemberResolver javaMemberResolver;
127        private final JavaConstructorResolver javaConstructorResolver;
128        private final JavaValueParameterResolver javaValueParameterResolver;
129        private final JavaFunctionResolver javaFunctionResolver;
130        private final JavaTypeParameterResolver javaTypeParameterResolver;
131        private final JavaPropertyResolver javaPropertyResolver;
132        private final JavaSupertypeResolver javaSupertypeResolver;
133        
134        public InjectorForTopDownAnalyzerForJvm(
135            @NotNull Project project,
136            @NotNull TopDownAnalysisParameters topDownAnalysisParameters,
137            @NotNull BindingTrace bindingTrace,
138            @NotNull ModuleDescriptorImpl moduleDescriptor
139        ) {
140            this.topDownAnalyzer = new TopDownAnalyzer();
141            this.topDownAnalysisContext = new TopDownAnalysisContext();
142            this.bodyResolver = new BodyResolver();
143            this.controlFlowAnalyzer = new ControlFlowAnalyzer();
144            this.declarationsChecker = new DeclarationsChecker();
145            this.descriptorResolver = new DescriptorResolver();
146            this.needSyntheticCallResolverExtension = new NeedSyntheticCallResolverExtension();
147            this.project = project;
148            this.topDownAnalysisParameters = topDownAnalysisParameters;
149            this.bindingTrace = bindingTrace;
150            this.moduleDescriptor = moduleDescriptor;
151            this.javaBridgeConfiguration = new JavaBridgeConfiguration();
152            this.javaDescriptorResolver = new JavaDescriptorResolver();
153            this.psiClassFinder = new PsiClassFinderImpl();
154            this.javaToKotlinClassMap = org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap.getInstance();
155            this.javaClassFinder = new JavaClassFinderImpl();
156            this.traceBasedExternalSignatureResolver = new TraceBasedExternalSignatureResolver();
157            this.traceBasedJavaResolverCache = new TraceBasedJavaResolverCache();
158            this.fakeOverrideVisibilityResolver = new FakeOverrideVisibilityResolverImpl();
159            this.traceBasedErrorReporter = new TraceBasedErrorReporter();
160            this.psiBasedMethodSignatureChecker = new PsiBasedMethodSignatureChecker();
161            this.psiBasedExternalAnnotationResolver = new PsiBasedExternalAnnotationResolver();
162            this.namespaceFactory = new NamespaceFactoryImpl();
163            this.virtualFileFinder = com.intellij.openapi.components.ServiceManager.getService(project, VirtualFileFinder.class);
164            this.declarationResolver = new DeclarationResolver();
165            this.annotationResolver = new AnnotationResolver();
166            this.callResolver = new CallResolver();
167            this.argumentTypeResolver = new ArgumentTypeResolver();
168            this.expressionTypingServices = new ExpressionTypingServices();
169            this.callExpressionResolver = new CallExpressionResolver();
170            this.typeResolver = new TypeResolver();
171            this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
172            this.candidateResolver = new CandidateResolver();
173            this.importsResolver = new ImportsResolver();
174            this.jetImportsFactory = new JetImportsFactory();
175            this.scriptHeaderResolver = new ScriptHeaderResolver();
176            this.overloadResolver = new OverloadResolver();
177            this.overrideResolver = new OverrideResolver();
178            this.typeHierarchyResolver = new TypeHierarchyResolver();
179            this.scriptBodyResolver = new ScriptBodyResolver();
180            this.javaClassResolver = new JavaClassResolver();
181            this.javaAnnotationResolver = new JavaAnnotationResolver();
182            this.javaAnnotationArgumentResolver = new JavaAnnotationArgumentResolver();
183            this.javaTypeTransformer = new JavaTypeTransformer();
184            this.deserializedDescriptorResolver = new DeserializedDescriptorResolver();
185            this.annotationDescriptorDeserializer = new AnnotationDescriptorDeserializer();
186            this.javaNamespaceResolver = new JavaNamespaceResolver();
187            this.javaMemberResolver = new JavaMemberResolver();
188            this.javaConstructorResolver = new JavaConstructorResolver();
189            this.javaValueParameterResolver = new JavaValueParameterResolver();
190            this.javaFunctionResolver = new JavaFunctionResolver();
191            this.javaTypeParameterResolver = new JavaTypeParameterResolver();
192            this.javaPropertyResolver = new JavaPropertyResolver();
193            this.javaSupertypeResolver = new JavaSupertypeResolver();
194    
195            this.topDownAnalyzer.setBodyResolver(bodyResolver);
196            this.topDownAnalyzer.setContext(topDownAnalysisContext);
197            this.topDownAnalyzer.setDeclarationResolver(declarationResolver);
198            this.topDownAnalyzer.setModuleDescriptor(moduleDescriptor);
199            this.topDownAnalyzer.setNamespaceFactory(namespaceFactory);
200            this.topDownAnalyzer.setOverloadResolver(overloadResolver);
201            this.topDownAnalyzer.setOverrideResolver(overrideResolver);
202            this.topDownAnalyzer.setTopDownAnalysisParameters(topDownAnalysisParameters);
203            this.topDownAnalyzer.setTrace(bindingTrace);
204            this.topDownAnalyzer.setTypeHierarchyResolver(typeHierarchyResolver);
205    
206            this.topDownAnalysisContext.setTopDownAnalysisParameters(topDownAnalysisParameters);
207    
208            this.bodyResolver.setAnnotationResolver(annotationResolver);
209            this.bodyResolver.setCallResolver(callResolver);
210            this.bodyResolver.setContext(topDownAnalysisContext);
211            this.bodyResolver.setControlFlowAnalyzer(controlFlowAnalyzer);
212            this.bodyResolver.setDeclarationsChecker(declarationsChecker);
213            this.bodyResolver.setDescriptorResolver(descriptorResolver);
214            this.bodyResolver.setExpressionTypingServices(expressionTypingServices);
215            this.bodyResolver.setScriptBodyResolverResolver(scriptBodyResolver);
216            this.bodyResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);
217            this.bodyResolver.setTrace(bindingTrace);
218    
219            this.controlFlowAnalyzer.setTopDownAnalysisParameters(topDownAnalysisParameters);
220            this.controlFlowAnalyzer.setTrace(bindingTrace);
221    
222            this.declarationsChecker.setTrace(bindingTrace);
223    
224            this.descriptorResolver.setAnnotationResolver(annotationResolver);
225            this.descriptorResolver.setExpressionTypingServices(expressionTypingServices);
226            this.descriptorResolver.setTypeResolver(typeResolver);
227    
228            this.javaBridgeConfiguration.setJavaDescriptorResolver(javaDescriptorResolver);
229    
230            javaDescriptorResolver.setClassResolver(javaClassResolver);
231            javaDescriptorResolver.setNamespaceResolver(javaNamespaceResolver);
232    
233            psiClassFinder.setProject(project);
234    
235            javaClassFinder.setPsiClassFinder(psiClassFinder);
236    
237            traceBasedExternalSignatureResolver.setAnnotationResolver(javaAnnotationResolver);
238            traceBasedExternalSignatureResolver.setTrace(bindingTrace);
239    
240            traceBasedJavaResolverCache.setTrace(bindingTrace);
241    
242            fakeOverrideVisibilityResolver.setTrace(bindingTrace);
243    
244            traceBasedErrorReporter.setTrace(bindingTrace);
245    
246            psiBasedMethodSignatureChecker.setAnnotationResolver(javaAnnotationResolver);
247            psiBasedMethodSignatureChecker.setExternalSignatureResolver(traceBasedExternalSignatureResolver);
248    
249            this.namespaceFactory.setModuleDescriptor(moduleDescriptor);
250            this.namespaceFactory.setTrace(bindingTrace);
251    
252            declarationResolver.setAnnotationResolver(annotationResolver);
253            declarationResolver.setContext(topDownAnalysisContext);
254            declarationResolver.setDescriptorResolver(descriptorResolver);
255            declarationResolver.setImportsResolver(importsResolver);
256            declarationResolver.setScriptHeaderResolver(scriptHeaderResolver);
257            declarationResolver.setTrace(bindingTrace);
258    
259            annotationResolver.setCallResolver(callResolver);
260            annotationResolver.setExpressionTypingServices(expressionTypingServices);
261    
262            callResolver.setArgumentTypeResolver(argumentTypeResolver);
263            callResolver.setCandidateResolver(candidateResolver);
264            callResolver.setExpressionTypingServices(expressionTypingServices);
265            callResolver.setExtension(needSyntheticCallResolverExtension);
266            callResolver.setTypeResolver(typeResolver);
267    
268            argumentTypeResolver.setExpressionTypingServices(expressionTypingServices);
269            argumentTypeResolver.setTypeResolver(typeResolver);
270    
271            expressionTypingServices.setCallExpressionResolver(callExpressionResolver);
272            expressionTypingServices.setCallResolver(callResolver);
273            expressionTypingServices.setDescriptorResolver(descriptorResolver);
274            expressionTypingServices.setPlatformToKotlinClassMap(javaToKotlinClassMap);
275            expressionTypingServices.setProject(project);
276            expressionTypingServices.setTypeResolver(typeResolver);
277    
278            callExpressionResolver.setExpressionTypingServices(expressionTypingServices);
279    
280            typeResolver.setAnnotationResolver(annotationResolver);
281            typeResolver.setDescriptorResolver(descriptorResolver);
282            typeResolver.setModuleDescriptor(moduleDescriptor);
283            typeResolver.setQualifiedExpressionResolver(qualifiedExpressionResolver);
284    
285            candidateResolver.setArgumentTypeResolver(argumentTypeResolver);
286    
287            importsResolver.setContext(topDownAnalysisContext);
288            importsResolver.setImportsFactory(jetImportsFactory);
289            importsResolver.setModuleDescriptor(moduleDescriptor);
290            importsResolver.setQualifiedExpressionResolver(qualifiedExpressionResolver);
291            importsResolver.setTrace(bindingTrace);
292    
293            jetImportsFactory.setProject(project);
294    
295            scriptHeaderResolver.setContext(topDownAnalysisContext);
296            scriptHeaderResolver.setDependencyClassByQualifiedNameResolver(javaDescriptorResolver);
297            scriptHeaderResolver.setNamespaceFactory(namespaceFactory);
298            scriptHeaderResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);
299            scriptHeaderResolver.setTrace(bindingTrace);
300    
301            overloadResolver.setContext(topDownAnalysisContext);
302            overloadResolver.setTrace(bindingTrace);
303    
304            overrideResolver.setContext(topDownAnalysisContext);
305            overrideResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);
306            overrideResolver.setTrace(bindingTrace);
307    
308            typeHierarchyResolver.setContext(topDownAnalysisContext);
309            typeHierarchyResolver.setDescriptorResolver(descriptorResolver);
310            typeHierarchyResolver.setImportsResolver(importsResolver);
311            typeHierarchyResolver.setNamespaceFactory(namespaceFactory);
312            typeHierarchyResolver.setScriptHeaderResolver(scriptHeaderResolver);
313            typeHierarchyResolver.setTrace(bindingTrace);
314    
315            scriptBodyResolver.setContext(topDownAnalysisContext);
316            scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
317            scriptBodyResolver.setTrace(bindingTrace);
318    
319            javaClassResolver.setAnnotationResolver(javaAnnotationResolver);
320            javaClassResolver.setCache(traceBasedJavaResolverCache);
321            javaClassResolver.setDeserializedDescriptorResolver(deserializedDescriptorResolver);
322            javaClassResolver.setFunctionResolver(javaFunctionResolver);
323            javaClassResolver.setJavaClassFinder(javaClassFinder);
324            javaClassResolver.setMemberResolver(javaMemberResolver);
325            javaClassResolver.setNamespaceResolver(javaNamespaceResolver);
326            javaClassResolver.setSupertypesResolver(javaSupertypeResolver);
327            javaClassResolver.setTypeParameterResolver(javaTypeParameterResolver);
328            javaClassResolver.setVirtualFileFinder(virtualFileFinder);
329    
330            javaAnnotationResolver.setArgumentResolver(javaAnnotationArgumentResolver);
331            javaAnnotationResolver.setClassResolver(javaClassResolver);
332            javaAnnotationResolver.setExternalAnnotationResolver(psiBasedExternalAnnotationResolver);
333    
334            javaAnnotationArgumentResolver.setAnnotationResolver(javaAnnotationResolver);
335            javaAnnotationArgumentResolver.setClassResolver(javaClassResolver);
336            javaAnnotationArgumentResolver.setTypeTransformer(javaTypeTransformer);
337    
338            javaTypeTransformer.setClassResolver(javaClassResolver);
339    
340            deserializedDescriptorResolver.setAnnotationDeserializer(annotationDescriptorDeserializer);
341            deserializedDescriptorResolver.setErrorReporter(traceBasedErrorReporter);
342            deserializedDescriptorResolver.setJavaClassResolver(javaClassResolver);
343            deserializedDescriptorResolver.setJavaNamespaceResolver(javaNamespaceResolver);
344    
345            annotationDescriptorDeserializer.setJavaClassResolver(javaClassResolver);
346            annotationDescriptorDeserializer.setVirtualFileFinder(virtualFileFinder);
347    
348            javaNamespaceResolver.setCache(traceBasedJavaResolverCache);
349            javaNamespaceResolver.setDeserializedDescriptorResolver(deserializedDescriptorResolver);
350            javaNamespaceResolver.setJavaClassFinder(javaClassFinder);
351            javaNamespaceResolver.setMemberResolver(javaMemberResolver);
352            javaNamespaceResolver.setVirtualFileFinder(virtualFileFinder);
353    
354            javaMemberResolver.setClassResolver(javaClassResolver);
355            javaMemberResolver.setConstructorResolver(javaConstructorResolver);
356            javaMemberResolver.setFunctionResolver(javaFunctionResolver);
357            javaMemberResolver.setNamespaceResolver(javaNamespaceResolver);
358            javaMemberResolver.setPropertyResolver(javaPropertyResolver);
359    
360            javaConstructorResolver.setCache(traceBasedJavaResolverCache);
361            javaConstructorResolver.setExternalSignatureResolver(traceBasedExternalSignatureResolver);
362            javaConstructorResolver.setTypeTransformer(javaTypeTransformer);
363            javaConstructorResolver.setValueParameterResolver(javaValueParameterResolver);
364    
365            javaValueParameterResolver.setAnnotationResolver(javaAnnotationResolver);
366            javaValueParameterResolver.setTypeTransformer(javaTypeTransformer);
367    
368            javaFunctionResolver.setAnnotationResolver(javaAnnotationResolver);
369            javaFunctionResolver.setCache(traceBasedJavaResolverCache);
370            javaFunctionResolver.setExternalSignatureResolver(traceBasedExternalSignatureResolver);
371            javaFunctionResolver.setFakeOverrideVisibilityResolver(fakeOverrideVisibilityResolver);
372            javaFunctionResolver.setSignatureChecker(psiBasedMethodSignatureChecker);
373            javaFunctionResolver.setTypeParameterResolver(javaTypeParameterResolver);
374            javaFunctionResolver.setTypeTransformer(javaTypeTransformer);
375            javaFunctionResolver.setValueParameterResolver(javaValueParameterResolver);
376    
377            javaTypeParameterResolver.setTypeTransformer(javaTypeTransformer);
378    
379            javaPropertyResolver.setAnnotationResolver(javaAnnotationResolver);
380            javaPropertyResolver.setCache(traceBasedJavaResolverCache);
381            javaPropertyResolver.setExternalSignatureResolver(traceBasedExternalSignatureResolver);
382            javaPropertyResolver.setFakeOverrideVisibilityResolver(fakeOverrideVisibilityResolver);
383            javaPropertyResolver.setTypeTransformer(javaTypeTransformer);
384    
385            javaSupertypeResolver.setClassResolver(javaClassResolver);
386            javaSupertypeResolver.setTypeTransformer(javaTypeTransformer);
387    
388            psiClassFinder.initialize();
389    
390        }
391        
392        @PreDestroy
393        public void destroy() {
394        }
395        
396        public TopDownAnalyzer getTopDownAnalyzer() {
397            return this.topDownAnalyzer;
398        }
399        
400        public TopDownAnalysisContext getTopDownAnalysisContext() {
401            return this.topDownAnalysisContext;
402        }
403        
404        public BodyResolver getBodyResolver() {
405            return this.bodyResolver;
406        }
407        
408        public ControlFlowAnalyzer getControlFlowAnalyzer() {
409            return this.controlFlowAnalyzer;
410        }
411        
412        public DeclarationsChecker getDeclarationsChecker() {
413            return this.declarationsChecker;
414        }
415        
416        public DescriptorResolver getDescriptorResolver() {
417            return this.descriptorResolver;
418        }
419        
420        public Project getProject() {
421            return this.project;
422        }
423        
424        public TopDownAnalysisParameters getTopDownAnalysisParameters() {
425            return this.topDownAnalysisParameters;
426        }
427        
428        public BindingTrace getBindingTrace() {
429            return this.bindingTrace;
430        }
431        
432        public ModuleDescriptorImpl getModuleDescriptor() {
433            return this.moduleDescriptor;
434        }
435        
436        public JavaBridgeConfiguration getJavaBridgeConfiguration() {
437            return this.javaBridgeConfiguration;
438        }
439        
440        public NamespaceFactoryImpl getNamespaceFactory() {
441            return this.namespaceFactory;
442        }
443        
444    }