Inject CompilerConfiguration instead of LanguageVersionSettings
LanguageVersionSettings can be read from the configuration. Also, the configuration may be used for other stuff, not related to language version settings, soon
This commit is contained in:
@@ -16,12 +16,13 @@
|
||||
|
||||
package org.jetbrains.kotlin.frontend.js.di
|
||||
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.container.get
|
||||
import org.jetbrains.kotlin.container.useImpl
|
||||
import org.jetbrains.kotlin.container.useInstance
|
||||
import org.jetbrains.kotlin.context.ModuleContext
|
||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
|
||||
import org.jetbrains.kotlin.frontend.di.configureCommon
|
||||
import org.jetbrains.kotlin.frontend.di.configureModule
|
||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||
import org.jetbrains.kotlin.js.resolve.JsPlatform
|
||||
@@ -38,7 +39,7 @@ fun createTopDownAnalyzerForJs(
|
||||
moduleContext: ModuleContext,
|
||||
bindingTrace: BindingTrace,
|
||||
declarationProviderFactory: DeclarationProviderFactory,
|
||||
languageVersionSettings: LanguageVersionSettings
|
||||
compilerConfiguration: CompilerConfiguration
|
||||
): LazyTopDownAnalyzer {
|
||||
val storageComponentContainer = createContainer("TopDownAnalyzerForJs", JsPlatform) {
|
||||
configureModule(moduleContext, JsPlatform, bindingTrace)
|
||||
@@ -49,7 +50,7 @@ fun createTopDownAnalyzerForJs(
|
||||
CompilerEnvironment.configure(this)
|
||||
|
||||
useInstance(LookupTracker.DO_NOTHING)
|
||||
useInstance(languageVersionSettings)
|
||||
configureCommon(compilerConfiguration)
|
||||
useImpl<ResolveSession>()
|
||||
useImpl<LazyTopDownAnalyzer>()
|
||||
}.apply {
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.js.analyze
|
||||
|
||||
import org.jetbrains.kotlin.config.CommonConfigurationKeys
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
|
||||
import org.jetbrains.kotlin.context.ContextForNewModule
|
||||
import org.jetbrains.kotlin.context.ModuleContext
|
||||
import org.jetbrains.kotlin.context.ProjectContext
|
||||
@@ -57,7 +55,7 @@ object TopDownAnalyzerFacadeForJS {
|
||||
val analyzerForJs = createTopDownAnalyzerForJs(
|
||||
moduleContext, trace,
|
||||
FileBasedDeclarationProviderFactory(moduleContext.storageManager, files),
|
||||
config.configuration.get(CommonConfigurationKeys.LANGUAGE_VERSION_SETTINGS, LanguageVersionSettingsImpl.DEFAULT)
|
||||
config.configuration
|
||||
)
|
||||
analyzerForJs.analyzeDeclarations(TopDownAnalysisMode.TopLevelDeclarations, files)
|
||||
return JsAnalysisResult.success(trace, moduleContext.module)
|
||||
|
||||
Reference in New Issue
Block a user