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