[Injection] Minor: inline createContainerForTopDownAnalyzerForJvm
Essentially, this function was used solely for setting 'useBuiltInsProvider' to 'true'; otherwise it were just delegating to createContainerForLazyResolveWithJava, which were just increasing the noise.
This commit is contained in:
+15
-10
@@ -37,7 +37,7 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
|||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider
|
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider
|
||||||
import org.jetbrains.kotlin.descriptors.impl.CompositePackageFragmentProvider
|
import org.jetbrains.kotlin.descriptors.impl.CompositePackageFragmentProvider
|
||||||
import org.jetbrains.kotlin.frontend.java.di.createContainerForTopDownAnalyzerForJvm
|
import org.jetbrains.kotlin.frontend.java.di.createContainerForLazyResolveWithJava
|
||||||
import org.jetbrains.kotlin.frontend.java.di.initJvmBuiltInsForTopDownAnalysis
|
import org.jetbrains.kotlin.frontend.java.di.initJvmBuiltInsForTopDownAnalysis
|
||||||
import org.jetbrains.kotlin.frontend.java.di.initialize
|
import org.jetbrains.kotlin.frontend.java.di.initialize
|
||||||
import org.jetbrains.kotlin.incremental.components.ExpectActualTracker
|
import org.jetbrains.kotlin.incremental.components.ExpectActualTracker
|
||||||
@@ -167,11 +167,13 @@ object TopDownAnalyzerFacadeForJVM {
|
|||||||
// Scope for the dependency module contains everything except files present in the scope for the source module
|
// Scope for the dependency module contains everything except files present in the scope for the source module
|
||||||
val dependencyScope = GlobalSearchScope.notScope(sourceScope)
|
val dependencyScope = GlobalSearchScope.notScope(sourceScope)
|
||||||
|
|
||||||
val dependenciesContainer = createContainerForTopDownAnalyzerForJvm(
|
val dependenciesContainer = createContainerForLazyResolveWithJava(
|
||||||
JvmPlatforms.jvmPlatformByTargetVersion(jvmTarget), // TODO(dsavvinov): do not pass JvmTarget around
|
JvmPlatforms.jvmPlatformByTargetVersion(jvmTarget),
|
||||||
dependenciesContext, trace, DeclarationProviderFactory.EMPTY, dependencyScope, lookupTracker, expectActualTracker,
|
dependenciesContext, trace, DeclarationProviderFactory.EMPTY, dependencyScope, moduleClassResolver,
|
||||||
packagePartProvider(dependencyScope), moduleClassResolver, targetEnvironment, languageVersionSettings,
|
targetEnvironment, lookupTracker, expectActualTracker,
|
||||||
configureJavaClassFinder
|
packagePartProvider(dependencyScope), languageVersionSettings,
|
||||||
|
useBuiltInsProvider = true,
|
||||||
|
configureJavaClassFinder = configureJavaClassFinder
|
||||||
)
|
)
|
||||||
|
|
||||||
moduleClassResolver.compiledCodeResolver = dependenciesContainer.get()
|
moduleClassResolver.compiledCodeResolver = dependenciesContainer.get()
|
||||||
@@ -197,11 +199,14 @@ object TopDownAnalyzerFacadeForJVM {
|
|||||||
// CliLightClassGenerationSupport#initialize is invoked when container is created, so only the last module descriptor is going
|
// CliLightClassGenerationSupport#initialize is invoked when container is created, so only the last module descriptor is going
|
||||||
// to be stored in CliLightClassGenerationSupport, and it better be the source one (otherwise light classes would not be found)
|
// to be stored in CliLightClassGenerationSupport, and it better be the source one (otherwise light classes would not be found)
|
||||||
// TODO: get rid of duplicate invocation of CodeAnalyzerInitializer#initialize, or refactor CliLightClassGenerationSupport
|
// TODO: get rid of duplicate invocation of CodeAnalyzerInitializer#initialize, or refactor CliLightClassGenerationSupport
|
||||||
val container = createContainerForTopDownAnalyzerForJvm(
|
val container = createContainerForLazyResolveWithJava(
|
||||||
JvmPlatforms.jvmPlatformByTargetVersion(jvmTarget),
|
JvmPlatforms.jvmPlatformByTargetVersion(jvmTarget),
|
||||||
moduleContext, trace, declarationProviderFactory(storageManager, files), sourceScope, lookupTracker, expectActualTracker,
|
moduleContext, trace, declarationProviderFactory(storageManager, files), sourceScope, moduleClassResolver,
|
||||||
partProvider, moduleClassResolver, targetEnvironment, languageVersionSettings, configureJavaClassFinder,
|
targetEnvironment, lookupTracker, expectActualTracker,
|
||||||
configuration[JVMConfigurationKeys.JAVA_CLASSES_TRACKER]
|
partProvider, languageVersionSettings,
|
||||||
|
useBuiltInsProvider = true,
|
||||||
|
configureJavaClassFinder = configureJavaClassFinder,
|
||||||
|
javaClassTracker = configuration[JVMConfigurationKeys.JAVA_CLASSES_TRACKER]
|
||||||
).apply {
|
).apply {
|
||||||
initJvmBuiltInsForTopDownAnalysis()
|
initJvmBuiltInsForTopDownAnalysis()
|
||||||
(partProvider as? IncrementalPackagePartProvider)?.deserializationConfiguration = get()
|
(partProvider as? IncrementalPackagePartProvider)?.deserializationConfiguration = get()
|
||||||
|
|||||||
@@ -118,29 +118,6 @@ fun createContainerForLazyResolveWithJava(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fun createContainerForTopDownAnalyzerForJvm(
|
|
||||||
jvmPlatform: TargetPlatform,
|
|
||||||
moduleContext: ModuleContext,
|
|
||||||
bindingTrace: BindingTrace,
|
|
||||||
declarationProviderFactory: DeclarationProviderFactory,
|
|
||||||
moduleContentScope: GlobalSearchScope,
|
|
||||||
lookupTracker: LookupTracker,
|
|
||||||
expectActualTracker: ExpectActualTracker,
|
|
||||||
packagePartProvider: PackagePartProvider,
|
|
||||||
moduleClassResolver: ModuleClassResolver,
|
|
||||||
targetEnvironment: TargetEnvironment,
|
|
||||||
languageVersionSettings: LanguageVersionSettings,
|
|
||||||
configureJavaClassFinder: (StorageComponentContainer.() -> Unit)? = null,
|
|
||||||
javaClassTracker: JavaClassesTracker? = null
|
|
||||||
): ComponentProvider = createContainerForLazyResolveWithJava(
|
|
||||||
jvmPlatform, moduleContext, bindingTrace, declarationProviderFactory, moduleContentScope, moduleClassResolver,
|
|
||||||
targetEnvironment, lookupTracker, expectActualTracker, packagePartProvider, languageVersionSettings,
|
|
||||||
useBuiltInsProvider = true,
|
|
||||||
configureJavaClassFinder = configureJavaClassFinder,
|
|
||||||
javaClassTracker = javaClassTracker
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
fun ComponentProvider.initJvmBuiltInsForTopDownAnalysis() {
|
fun ComponentProvider.initJvmBuiltInsForTopDownAnalysis() {
|
||||||
get<JvmBuiltIns>().initialize(get<ModuleDescriptor>(), get<LanguageVersionSettings>())
|
get<JvmBuiltIns>().initialize(get<ModuleDescriptor>(), get<LanguageVersionSettings>())
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-6
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.diagnostics.Diagnostic
|
|||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
|
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticUtils
|
import org.jetbrains.kotlin.diagnostics.DiagnosticUtils
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors.*
|
import org.jetbrains.kotlin.diagnostics.Errors.*
|
||||||
import org.jetbrains.kotlin.frontend.java.di.createContainerForTopDownAnalyzerForJvm
|
import org.jetbrains.kotlin.frontend.java.di.createContainerForLazyResolveWithJava
|
||||||
import org.jetbrains.kotlin.frontend.java.di.initJvmBuiltInsForTopDownAnalysis
|
import org.jetbrains.kotlin.frontend.java.di.initJvmBuiltInsForTopDownAnalysis
|
||||||
import org.jetbrains.kotlin.incremental.components.ExpectActualTracker
|
import org.jetbrains.kotlin.incremental.components.ExpectActualTracker
|
||||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||||
@@ -380,18 +380,18 @@ abstract class AbstractDiagnosticsTest : BaseDiagnosticsTest() {
|
|||||||
val moduleContentScope = GlobalSearchScope.allScope(moduleContext.project)
|
val moduleContentScope = GlobalSearchScope.allScope(moduleContext.project)
|
||||||
val moduleClassResolver = SingleModuleClassResolver()
|
val moduleClassResolver = SingleModuleClassResolver()
|
||||||
|
|
||||||
val container = createContainerForTopDownAnalyzerForJvm(
|
val container = createContainerForLazyResolveWithJava(
|
||||||
JvmPlatforms.jvmPlatformByTargetVersion(jvmTarget), // TODO(dsavvinov): do not pass JvmTarget around
|
JvmPlatforms.jvmPlatformByTargetVersion(jvmTarget), // TODO(dsavvinov): do not pass JvmTarget around
|
||||||
moduleContext,
|
moduleContext,
|
||||||
moduleTrace,
|
moduleTrace,
|
||||||
FileBasedDeclarationProviderFactory(moduleContext.storageManager, files),
|
FileBasedDeclarationProviderFactory(moduleContext.storageManager, files),
|
||||||
moduleContentScope,
|
moduleContentScope,
|
||||||
LookupTracker.DO_NOTHING,
|
moduleClassResolver,
|
||||||
|
CompilerEnvironment, LookupTracker.DO_NOTHING,
|
||||||
ExpectActualTracker.DoNothing,
|
ExpectActualTracker.DoNothing,
|
||||||
environment.createPackagePartProvider(moduleContentScope),
|
environment.createPackagePartProvider(moduleContentScope),
|
||||||
moduleClassResolver,
|
languageVersionSettings,
|
||||||
CompilerEnvironment,
|
useBuiltInsProvider = true
|
||||||
languageVersionSettings
|
|
||||||
)
|
)
|
||||||
|
|
||||||
container.initJvmBuiltInsForTopDownAnalysis()
|
container.initJvmBuiltInsForTopDownAnalysis()
|
||||||
|
|||||||
Reference in New Issue
Block a user