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