PlatformConfigurator: create container for each platform (it contains static services, mostly checkers) ahead of time

This commit is contained in:
Pavel V. Talanov
2016-09-22 16:37:30 +03:00
parent be00a6ec49
commit 32daf048c2
10 changed files with 62 additions and 53 deletions
@@ -87,7 +87,7 @@ fun createContainerForLazyResolveWithJava(
targetEnvironment: TargetEnvironment = CompilerEnvironment,
packagePartProvider: PackagePartProvider,
languageVersionSettings: LanguageVersionSettings
): ComponentProvider = createContainer("LazyResolveWithJava") {
): ComponentProvider = createContainer("LazyResolveWithJava", JvmPlatform) {
//TODO: idea specific code
useInstance(packagePartProvider)
@@ -115,7 +115,7 @@ fun createContainerForTopDownAnalyzerForJvm(
lookupTracker: LookupTracker,
packagePartProvider: PackagePartProvider,
languageVersionSettings: LanguageVersionSettings
): ContainerForTopDownAnalyzerForJvm = createContainer("TopDownAnalyzerForJvm") {
): ContainerForTopDownAnalyzerForJvm = createContainer("TopDownAnalyzerForJvm", JvmPlatform) {
useInstance(packagePartProvider)
configureModule(moduleContext, JvmPlatform, bindingTrace)
@@ -76,9 +76,7 @@ object JvmPlatformConfigurator : PlatformConfigurator(
overloadFilter = JvmOverloadFilter
) {
override fun configure(container: StorageComponentContainer) {
super.configure(container)
override fun configureModuleComponents(container: StorageComponentContainer) {
container.useImpl<ReflectionAPICallChecker>()
container.useImpl<JavaSyntheticScopes>()
container.useInstance(JavaSyntheticConstructorsProvider)