001 /* 002 * Copyright 2010-2015 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.kotlin.di; 018 019 import com.intellij.openapi.project.Project; 020 import org.jetbrains.kotlin.context.GlobalContext; 021 import org.jetbrains.kotlin.storage.StorageManager; 022 import org.jetbrains.kotlin.resolve.BindingTrace; 023 import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl; 024 import org.jetbrains.kotlin.builtins.KotlinBuiltIns; 025 import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap; 026 import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactory; 027 import org.jetbrains.kotlin.resolve.lazy.ResolveSession; 028 import org.jetbrains.kotlin.resolve.lazy.ScopeProvider; 029 import com.intellij.psi.search.GlobalSearchScope; 030 import org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer; 031 import org.jetbrains.kotlin.resolve.LazyTopDownAnalyzerForTopLevel; 032 import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver; 033 import org.jetbrains.kotlin.load.kotlin.DeserializationComponentsForJava; 034 import org.jetbrains.kotlin.load.kotlin.VirtualFileFinder; 035 import org.jetbrains.kotlin.load.java.JavaClassFinderImpl; 036 import org.jetbrains.kotlin.load.java.components.TraceBasedExternalSignatureResolver; 037 import org.jetbrains.kotlin.load.java.components.LazyResolveBasedCache; 038 import org.jetbrains.kotlin.load.java.components.TraceBasedErrorReporter; 039 import org.jetbrains.kotlin.load.java.components.PsiBasedMethodSignatureChecker; 040 import org.jetbrains.kotlin.load.java.components.PsiBasedExternalAnnotationResolver; 041 import org.jetbrains.kotlin.load.java.structure.impl.JavaPropertyInitializerEvaluatorImpl; 042 import org.jetbrains.kotlin.load.java.sam.SamConversionResolverImpl; 043 import org.jetbrains.kotlin.load.java.components.JavaSourceElementFactoryImpl; 044 import org.jetbrains.kotlin.load.java.lazy.SingleModuleClassResolver; 045 import org.jetbrains.kotlin.resolve.jvm.JavaLazyAnalyzerPostConstruct; 046 import org.jetbrains.kotlin.load.java.JavaFlexibleTypeCapabilitiesProvider; 047 import org.jetbrains.kotlin.load.kotlin.KotlinJvmCheckerProvider; 048 import org.jetbrains.kotlin.resolve.lazy.ScopeProvider.AdditionalFileScopeProvider; 049 import org.jetbrains.kotlin.resolve.AnnotationResolver; 050 import org.jetbrains.kotlin.resolve.calls.CallResolver; 051 import org.jetbrains.kotlin.resolve.calls.ArgumentTypeResolver; 052 import org.jetbrains.kotlin.types.expressions.ExpressionTypingServices; 053 import org.jetbrains.kotlin.types.expressions.ExpressionTypingComponents; 054 import org.jetbrains.kotlin.types.expressions.ControlStructureTypingUtils; 055 import org.jetbrains.kotlin.types.DynamicTypesSettings; 056 import org.jetbrains.kotlin.types.expressions.ExpressionTypingUtils; 057 import org.jetbrains.kotlin.types.expressions.ForLoopConventionsChecker; 058 import org.jetbrains.kotlin.types.expressions.LocalClassifierAnalyzer; 059 import org.jetbrains.kotlin.resolve.DescriptorResolver; 060 import org.jetbrains.kotlin.resolve.DelegatedPropertyResolver; 061 import org.jetbrains.kotlin.resolve.TypeResolver; 062 import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver; 063 import org.jetbrains.kotlin.context.LazinessToken; 064 import org.jetbrains.kotlin.types.reflect.ReflectionTypes; 065 import org.jetbrains.kotlin.resolve.calls.CallExpressionResolver; 066 import org.jetbrains.kotlin.resolve.StatementFilter; 067 import org.jetbrains.kotlin.resolve.calls.CallCompleter; 068 import org.jetbrains.kotlin.resolve.calls.CandidateResolver; 069 import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; 070 import org.jetbrains.kotlin.psi.JetImportsFactory; 071 import org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver; 072 import org.jetbrains.kotlin.resolve.lazy.DeclarationScopeProviderImpl; 073 import org.jetbrains.kotlin.resolve.ScriptBodyResolver; 074 import org.jetbrains.kotlin.resolve.BodyResolver; 075 import org.jetbrains.kotlin.resolve.ControlFlowAnalyzer; 076 import org.jetbrains.kotlin.resolve.DeclarationsChecker; 077 import org.jetbrains.kotlin.resolve.ModifiersChecker; 078 import org.jetbrains.kotlin.resolve.FunctionAnalyzerExtension; 079 import org.jetbrains.kotlin.resolve.DeclarationResolver; 080 import org.jetbrains.kotlin.resolve.OverloadResolver; 081 import org.jetbrains.kotlin.resolve.OverrideResolver; 082 import org.jetbrains.kotlin.resolve.varianceChecker.VarianceChecker; 083 import org.jetbrains.kotlin.load.java.lazy.LazyJavaPackageFragmentProvider; 084 import org.jetbrains.kotlin.load.java.lazy.GlobalJavaResolverContext; 085 import org.jetbrains.kotlin.load.kotlin.DeserializedDescriptorResolver; 086 import org.jetbrains.kotlin.load.kotlin.JavaClassDataFinder; 087 import org.jetbrains.kotlin.load.kotlin.BinaryClassAnnotationAndConstantLoaderImpl; 088 import org.jetbrains.annotations.NotNull; 089 import javax.annotation.PreDestroy; 090 091 /* This file is generated by org.jetbrains.kotlin.generators.injectors.InjectorsPackage. DO NOT EDIT! */ 092 @SuppressWarnings("all") 093 public class InjectorForReplWithJava { 094 095 private final Project project; 096 private final GlobalContext globalContext; 097 private final StorageManager storageManager; 098 private final BindingTrace bindingTrace; 099 private final ModuleDescriptorImpl module; 100 private final KotlinBuiltIns kotlinBuiltIns; 101 private final PlatformToKotlinClassMap platformToKotlinClassMap; 102 private final DeclarationProviderFactory declarationProviderFactory; 103 private final ResolveSession resolveSession; 104 private final ScopeProvider scopeProvider; 105 private final GlobalSearchScope moduleContentScope; 106 private final LazyTopDownAnalyzer lazyTopDownAnalyzer; 107 private final LazyTopDownAnalyzerForTopLevel lazyTopDownAnalyzerForTopLevel; 108 private final JavaDescriptorResolver javaDescriptorResolver; 109 private final DeserializationComponentsForJava deserializationComponentsForJava; 110 private final VirtualFileFinder virtualFileFinder; 111 private final JavaClassFinderImpl javaClassFinder; 112 private final TraceBasedExternalSignatureResolver traceBasedExternalSignatureResolver; 113 private final LazyResolveBasedCache lazyResolveBasedCache; 114 private final TraceBasedErrorReporter traceBasedErrorReporter; 115 private final PsiBasedMethodSignatureChecker psiBasedMethodSignatureChecker; 116 private final PsiBasedExternalAnnotationResolver psiBasedExternalAnnotationResolver; 117 private final JavaPropertyInitializerEvaluatorImpl javaPropertyInitializerEvaluator; 118 private final SamConversionResolverImpl samConversionResolver; 119 private final JavaSourceElementFactoryImpl javaSourceElementFactory; 120 private final SingleModuleClassResolver singleModuleClassResolver; 121 private final JavaLazyAnalyzerPostConstruct javaLazyAnalyzerPostConstruct; 122 private final JavaFlexibleTypeCapabilitiesProvider javaFlexibleTypeCapabilitiesProvider; 123 private final KotlinJvmCheckerProvider kotlinJvmCheckerProvider; 124 private final AdditionalFileScopeProvider additionalFileScopeProvider; 125 private final AnnotationResolver annotationResolver; 126 private final CallResolver callResolver; 127 private final ArgumentTypeResolver argumentTypeResolver; 128 private final ExpressionTypingServices expressionTypingServices; 129 private final ExpressionTypingComponents expressionTypingComponents; 130 private final ControlStructureTypingUtils controlStructureTypingUtils; 131 private final DynamicTypesSettings dynamicTypesSettings; 132 private final ExpressionTypingUtils expressionTypingUtils; 133 private final ForLoopConventionsChecker forLoopConventionsChecker; 134 private final LocalClassifierAnalyzer localClassifierAnalyzer; 135 private final DescriptorResolver descriptorResolver; 136 private final DelegatedPropertyResolver delegatedPropertyResolver; 137 private final TypeResolver typeResolver; 138 private final QualifiedExpressionResolver qualifiedExpressionResolver; 139 private final LazinessToken lazinessToken; 140 private final ReflectionTypes reflectionTypes; 141 private final CallExpressionResolver callExpressionResolver; 142 private final StatementFilter statementFilter; 143 private final CallCompleter callCompleter; 144 private final CandidateResolver candidateResolver; 145 private final TaskPrioritizer taskPrioritizer; 146 private final JetImportsFactory jetImportsFactory; 147 private final LazyDeclarationResolver lazyDeclarationResolver; 148 private final DeclarationScopeProviderImpl declarationScopeProvider; 149 private final ScriptBodyResolver scriptBodyResolver; 150 private final BodyResolver bodyResolver; 151 private final ControlFlowAnalyzer controlFlowAnalyzer; 152 private final DeclarationsChecker declarationsChecker; 153 private final ModifiersChecker modifiersChecker; 154 private final FunctionAnalyzerExtension functionAnalyzerExtension; 155 private final DeclarationResolver declarationResolver; 156 private final OverloadResolver overloadResolver; 157 private final OverrideResolver overrideResolver; 158 private final VarianceChecker varianceChecker; 159 private final LazyJavaPackageFragmentProvider lazyJavaPackageFragmentProvider; 160 private final GlobalJavaResolverContext globalJavaResolverContext; 161 private final DeserializedDescriptorResolver deserializedDescriptorResolver; 162 private final JavaClassDataFinder javaClassDataFinder; 163 private final BinaryClassAnnotationAndConstantLoaderImpl binaryClassAnnotationAndConstantLoader; 164 165 public InjectorForReplWithJava( 166 @NotNull Project project, 167 @NotNull GlobalContext globalContext, 168 @NotNull BindingTrace bindingTrace, 169 @NotNull ModuleDescriptorImpl module, 170 @NotNull DeclarationProviderFactory declarationProviderFactory, 171 @NotNull GlobalSearchScope moduleContentScope, 172 @NotNull AdditionalFileScopeProvider additionalFileScopeProvider 173 ) { 174 this.project = project; 175 this.globalContext = globalContext; 176 this.storageManager = globalContext.getStorageManager(); 177 this.bindingTrace = bindingTrace; 178 this.module = module; 179 this.kotlinBuiltIns = module.getBuiltIns(); 180 this.platformToKotlinClassMap = module.getPlatformToKotlinClassMap(); 181 this.declarationProviderFactory = declarationProviderFactory; 182 this.resolveSession = new ResolveSession(project, globalContext, module, declarationProviderFactory, bindingTrace); 183 this.scopeProvider = new ScopeProvider(getResolveSession()); 184 this.moduleContentScope = moduleContentScope; 185 this.lazyTopDownAnalyzer = new LazyTopDownAnalyzer(); 186 this.lazyTopDownAnalyzerForTopLevel = new LazyTopDownAnalyzerForTopLevel(); 187 this.javaClassFinder = new JavaClassFinderImpl(); 188 this.virtualFileFinder = org.jetbrains.kotlin.load.kotlin.VirtualFileFinderFactory.SERVICE.getInstance(project).create(moduleContentScope); 189 this.traceBasedErrorReporter = new TraceBasedErrorReporter(); 190 this.deserializedDescriptorResolver = new DeserializedDescriptorResolver(traceBasedErrorReporter); 191 this.psiBasedExternalAnnotationResolver = new PsiBasedExternalAnnotationResolver(); 192 this.traceBasedExternalSignatureResolver = new TraceBasedExternalSignatureResolver(); 193 this.psiBasedMethodSignatureChecker = new PsiBasedMethodSignatureChecker(); 194 this.lazyResolveBasedCache = new LazyResolveBasedCache(); 195 this.javaPropertyInitializerEvaluator = new JavaPropertyInitializerEvaluatorImpl(); 196 this.samConversionResolver = SamConversionResolverImpl.INSTANCE$; 197 this.javaSourceElementFactory = new JavaSourceElementFactoryImpl(); 198 this.singleModuleClassResolver = new SingleModuleClassResolver(); 199 this.globalJavaResolverContext = new GlobalJavaResolverContext(storageManager, javaClassFinder, virtualFileFinder, deserializedDescriptorResolver, psiBasedExternalAnnotationResolver, traceBasedExternalSignatureResolver, traceBasedErrorReporter, psiBasedMethodSignatureChecker, lazyResolveBasedCache, javaPropertyInitializerEvaluator, samConversionResolver, javaSourceElementFactory, singleModuleClassResolver); 200 this.lazyJavaPackageFragmentProvider = new LazyJavaPackageFragmentProvider(globalJavaResolverContext, module); 201 this.javaDescriptorResolver = new JavaDescriptorResolver(lazyJavaPackageFragmentProvider, module); 202 this.javaClassDataFinder = new JavaClassDataFinder(virtualFileFinder, deserializedDescriptorResolver); 203 this.binaryClassAnnotationAndConstantLoader = new BinaryClassAnnotationAndConstantLoaderImpl(module, storageManager, virtualFileFinder, traceBasedErrorReporter); 204 this.deserializationComponentsForJava = new DeserializationComponentsForJava(storageManager, module, javaClassDataFinder, binaryClassAnnotationAndConstantLoader, lazyJavaPackageFragmentProvider); 205 this.javaLazyAnalyzerPostConstruct = new JavaLazyAnalyzerPostConstruct(); 206 this.javaFlexibleTypeCapabilitiesProvider = new JavaFlexibleTypeCapabilitiesProvider(); 207 this.kotlinJvmCheckerProvider = KotlinJvmCheckerProvider.INSTANCE$; 208 this.additionalFileScopeProvider = additionalFileScopeProvider; 209 this.annotationResolver = new AnnotationResolver(); 210 this.callResolver = new CallResolver(); 211 this.argumentTypeResolver = new ArgumentTypeResolver(); 212 this.expressionTypingComponents = new ExpressionTypingComponents(); 213 this.expressionTypingServices = new ExpressionTypingServices(expressionTypingComponents); 214 this.controlStructureTypingUtils = new ControlStructureTypingUtils(expressionTypingServices); 215 this.dynamicTypesSettings = new DynamicTypesSettings(); 216 this.expressionTypingUtils = new ExpressionTypingUtils(expressionTypingServices, callResolver, kotlinBuiltIns); 217 this.forLoopConventionsChecker = new ForLoopConventionsChecker(); 218 this.descriptorResolver = new DescriptorResolver(); 219 this.qualifiedExpressionResolver = new QualifiedExpressionResolver(); 220 this.lazinessToken = new LazinessToken(); 221 this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, module, javaFlexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings); 222 this.localClassifierAnalyzer = new LocalClassifierAnalyzer(descriptorResolver, typeResolver, annotationResolver); 223 this.delegatedPropertyResolver = new DelegatedPropertyResolver(); 224 this.reflectionTypes = new ReflectionTypes(module); 225 this.callExpressionResolver = new CallExpressionResolver(); 226 this.statementFilter = new StatementFilter(); 227 this.candidateResolver = new CandidateResolver(); 228 this.callCompleter = new CallCompleter(argumentTypeResolver, candidateResolver); 229 this.taskPrioritizer = new TaskPrioritizer(storageManager); 230 this.jetImportsFactory = new JetImportsFactory(); 231 this.lazyDeclarationResolver = new LazyDeclarationResolver(globalContext, bindingTrace); 232 this.declarationScopeProvider = new DeclarationScopeProviderImpl(lazyDeclarationResolver); 233 this.scriptBodyResolver = new ScriptBodyResolver(); 234 this.bodyResolver = new BodyResolver(); 235 this.controlFlowAnalyzer = new ControlFlowAnalyzer(); 236 this.declarationsChecker = new DeclarationsChecker(); 237 this.modifiersChecker = new ModifiersChecker(bindingTrace, kotlinJvmCheckerProvider); 238 this.functionAnalyzerExtension = new FunctionAnalyzerExtension(); 239 this.declarationResolver = new DeclarationResolver(); 240 this.overloadResolver = new OverloadResolver(); 241 this.overrideResolver = new OverrideResolver(); 242 this.varianceChecker = new VarianceChecker(bindingTrace); 243 244 this.resolveSession.setAnnotationResolve(annotationResolver); 245 this.resolveSession.setDescriptorResolver(descriptorResolver); 246 this.resolveSession.setJetImportFactory(jetImportsFactory); 247 this.resolveSession.setLazyDeclarationResolver(lazyDeclarationResolver); 248 this.resolveSession.setQualifiedExpressionResolver(qualifiedExpressionResolver); 249 this.resolveSession.setScopeProvider(scopeProvider); 250 this.resolveSession.setScriptBodyResolver(scriptBodyResolver); 251 this.resolveSession.setTypeResolver(typeResolver); 252 253 scopeProvider.setAdditionalFileScopesProvider(additionalFileScopeProvider); 254 scopeProvider.setDeclarationScopeProvider(declarationScopeProvider); 255 256 this.lazyTopDownAnalyzer.setBodyResolver(bodyResolver); 257 this.lazyTopDownAnalyzer.setDeclarationResolver(declarationResolver); 258 this.lazyTopDownAnalyzer.setDeclarationScopeProvider(declarationScopeProvider); 259 this.lazyTopDownAnalyzer.setFileScopeProvider(scopeProvider); 260 this.lazyTopDownAnalyzer.setLazyDeclarationResolver(lazyDeclarationResolver); 261 this.lazyTopDownAnalyzer.setModuleDescriptor(module); 262 this.lazyTopDownAnalyzer.setOverloadResolver(overloadResolver); 263 this.lazyTopDownAnalyzer.setOverrideResolver(overrideResolver); 264 this.lazyTopDownAnalyzer.setTopLevelDescriptorProvider(resolveSession); 265 this.lazyTopDownAnalyzer.setTrace(bindingTrace); 266 this.lazyTopDownAnalyzer.setVarianceChecker(varianceChecker); 267 268 this.lazyTopDownAnalyzerForTopLevel.setKotlinCodeAnalyzer(resolveSession); 269 this.lazyTopDownAnalyzerForTopLevel.setLazyTopDownAnalyzer(lazyTopDownAnalyzer); 270 271 javaClassFinder.setComponentPostConstruct(javaLazyAnalyzerPostConstruct); 272 javaClassFinder.setProject(project); 273 javaClassFinder.setScope(moduleContentScope); 274 275 traceBasedExternalSignatureResolver.setExternalAnnotationResolver(psiBasedExternalAnnotationResolver); 276 traceBasedExternalSignatureResolver.setProject(project); 277 traceBasedExternalSignatureResolver.setTrace(bindingTrace); 278 279 lazyResolveBasedCache.setSession(resolveSession); 280 281 traceBasedErrorReporter.setTrace(bindingTrace); 282 283 psiBasedMethodSignatureChecker.setExternalAnnotationResolver(psiBasedExternalAnnotationResolver); 284 psiBasedMethodSignatureChecker.setExternalSignatureResolver(traceBasedExternalSignatureResolver); 285 286 singleModuleClassResolver.setResolver(javaDescriptorResolver); 287 288 javaLazyAnalyzerPostConstruct.setCodeAnalyzer(resolveSession); 289 javaLazyAnalyzerPostConstruct.setProject(project); 290 javaLazyAnalyzerPostConstruct.setTrace(bindingTrace); 291 292 annotationResolver.setCallResolver(callResolver); 293 annotationResolver.setStorageManager(storageManager); 294 annotationResolver.setTypeResolver(typeResolver); 295 296 callResolver.setArgumentTypeResolver(argumentTypeResolver); 297 callResolver.setCallCompleter(callCompleter); 298 callResolver.setCandidateResolver(candidateResolver); 299 callResolver.setExpressionTypingServices(expressionTypingServices); 300 callResolver.setTaskPrioritizer(taskPrioritizer); 301 callResolver.setTypeResolver(typeResolver); 302 303 argumentTypeResolver.setBuiltIns(kotlinBuiltIns); 304 argumentTypeResolver.setExpressionTypingServices(expressionTypingServices); 305 argumentTypeResolver.setTypeResolver(typeResolver); 306 307 expressionTypingServices.setAnnotationResolver(annotationResolver); 308 expressionTypingServices.setBuiltIns(kotlinBuiltIns); 309 expressionTypingServices.setCallExpressionResolver(callExpressionResolver); 310 expressionTypingServices.setCallResolver(callResolver); 311 expressionTypingServices.setDescriptorResolver(descriptorResolver); 312 expressionTypingServices.setProject(project); 313 expressionTypingServices.setStatementFilter(statementFilter); 314 expressionTypingServices.setTypeResolver(typeResolver); 315 316 expressionTypingComponents.setAdditionalCheckerProvider(kotlinJvmCheckerProvider); 317 expressionTypingComponents.setBuiltIns(kotlinBuiltIns); 318 expressionTypingComponents.setCallResolver(callResolver); 319 expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils); 320 expressionTypingComponents.setDynamicTypesSettings(dynamicTypesSettings); 321 expressionTypingComponents.setExpressionTypingServices(expressionTypingServices); 322 expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils); 323 expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker); 324 expressionTypingComponents.setGlobalContext(globalContext); 325 expressionTypingComponents.setLocalClassifierAnalyzer(localClassifierAnalyzer); 326 expressionTypingComponents.setPlatformToKotlinClassMap(platformToKotlinClassMap); 327 expressionTypingComponents.setReflectionTypes(reflectionTypes); 328 329 forLoopConventionsChecker.setBuiltIns(kotlinBuiltIns); 330 forLoopConventionsChecker.setExpressionTypingServices(expressionTypingServices); 331 forLoopConventionsChecker.setExpressionTypingUtils(expressionTypingUtils); 332 forLoopConventionsChecker.setProject(project); 333 334 descriptorResolver.setAnnotationResolver(annotationResolver); 335 descriptorResolver.setBuiltIns(kotlinBuiltIns); 336 descriptorResolver.setDelegatedPropertyResolver(delegatedPropertyResolver); 337 descriptorResolver.setExpressionTypingServices(expressionTypingServices); 338 descriptorResolver.setStorageManager(storageManager); 339 descriptorResolver.setTypeResolver(typeResolver); 340 341 delegatedPropertyResolver.setBuiltIns(kotlinBuiltIns); 342 delegatedPropertyResolver.setCallResolver(callResolver); 343 delegatedPropertyResolver.setExpressionTypingServices(expressionTypingServices); 344 345 callExpressionResolver.setExpressionTypingServices(expressionTypingServices); 346 347 candidateResolver.setArgumentTypeResolver(argumentTypeResolver); 348 349 jetImportsFactory.setProject(project); 350 351 lazyDeclarationResolver.setDeclarationScopeProvider(declarationScopeProvider); 352 lazyDeclarationResolver.setTopLevelDescriptorProvider(resolveSession); 353 354 declarationScopeProvider.setFileScopeProvider(scopeProvider); 355 356 scriptBodyResolver.setExpressionTypingServices(expressionTypingServices); 357 358 bodyResolver.setAnnotationResolver(annotationResolver); 359 bodyResolver.setCallResolver(callResolver); 360 bodyResolver.setControlFlowAnalyzer(controlFlowAnalyzer); 361 bodyResolver.setDeclarationsChecker(declarationsChecker); 362 bodyResolver.setDelegatedPropertyResolver(delegatedPropertyResolver); 363 bodyResolver.setExpressionTypingServices(expressionTypingServices); 364 bodyResolver.setFunctionAnalyzerExtension(functionAnalyzerExtension); 365 bodyResolver.setScriptBodyResolverResolver(scriptBodyResolver); 366 bodyResolver.setTrace(bindingTrace); 367 368 controlFlowAnalyzer.setTrace(bindingTrace); 369 370 declarationsChecker.setDescriptorResolver(descriptorResolver); 371 declarationsChecker.setModifiersChecker(modifiersChecker); 372 declarationsChecker.setTrace(bindingTrace); 373 374 functionAnalyzerExtension.setTrace(bindingTrace); 375 376 declarationResolver.setAnnotationResolver(annotationResolver); 377 declarationResolver.setTrace(bindingTrace); 378 379 overloadResolver.setTrace(bindingTrace); 380 381 overrideResolver.setTrace(bindingTrace); 382 383 deserializedDescriptorResolver.setComponents(deserializationComponentsForJava); 384 385 javaClassFinder.initialize(); 386 387 javaLazyAnalyzerPostConstruct.postCreate(); 388 389 } 390 391 @PreDestroy 392 public void destroy() { 393 } 394 395 public ResolveSession getResolveSession() { 396 return this.resolveSession; 397 } 398 399 public LazyTopDownAnalyzer getLazyTopDownAnalyzer() { 400 return this.lazyTopDownAnalyzer; 401 } 402 403 public LazyTopDownAnalyzerForTopLevel getLazyTopDownAnalyzerForTopLevel() { 404 return this.lazyTopDownAnalyzerForTopLevel; 405 } 406 407 public JavaDescriptorResolver getJavaDescriptorResolver() { 408 return this.javaDescriptorResolver; 409 } 410 411 public DeserializationComponentsForJava getDeserializationComponentsForJava() { 412 return this.deserializationComponentsForJava; 413 } 414 415 }