[JS FIR] Support JS module system FE diagnostics

Support CALL_TO_JS_MODULE_WITHOUT_MODULE_SYSTEM diagnostic
^KT-59377 Fixed

Support CALL_TO_JS_NON_MODULE_WITH_MODULE_SYSTEM diagnostic
^KT-59381 Fixed

Support CALL_FROM_UMD_MUST_BE_JS_MODULE_AND_JS_NON_MODULE diagnostic
^KT-59417 Fixed
This commit is contained in:
Alexander Korepanov
2023-07-13 15:30:04 +02:00
committed by Space Team
parent 30b012839c
commit 08d158f901
24 changed files with 319 additions and 169 deletions
@@ -224,7 +224,6 @@ open class FirFrontendFacade(
testServices,
configuration,
extensionRegistrars,
languageVersionSettings,
registerExtraComponents = ::registerExtraComponents,
)
}
@@ -380,7 +379,7 @@ open class FirFrontendFacade(
moduleData,
sessionProvider,
extensionRegistrars,
languageVersionSettings,
testServices.compilerConfigurationProvider.getCompilerConfiguration(module),
null,
registerExtraComponents = ::registerExtraComponents,
sessionConfigurator,
@@ -29,7 +29,6 @@ object TestFirJsSessionFactory {
testServices: TestServices,
configuration: CompilerConfiguration,
extensionRegistrars: List<FirExtensionRegistrar>,
languageVersionSettings: LanguageVersionSettings,
registerExtraComponents: ((FirSession) -> Unit),
): FirSession {
val resolvedLibraries = resolveLibraries(configuration, getAllJsDependenciesPaths(module, testServices))
@@ -40,14 +39,17 @@ object TestFirJsSessionFactory {
sessionProvider,
moduleDataProvider,
extensionRegistrars,
languageVersionSettings,
configuration,
registerExtraComponents,
)
}
fun createModuleBasedSession(
mainModuleData: FirModuleData, sessionProvider: FirProjectSessionProvider, extensionRegistrars: List<FirExtensionRegistrar>,
languageVersionSettings: LanguageVersionSettings, lookupTracker: LookupTracker?,
mainModuleData: FirModuleData,
sessionProvider: FirProjectSessionProvider,
extensionRegistrars: List<FirExtensionRegistrar>,
configuration: CompilerConfiguration,
lookupTracker: LookupTracker?,
registerExtraComponents: ((FirSession) -> Unit),
sessionConfigurator: FirSessionConfigurator.() -> Unit,
): FirSession =
@@ -55,7 +57,7 @@ object TestFirJsSessionFactory {
mainModuleData,
sessionProvider,
extensionRegistrars,
languageVersionSettings,
configuration,
lookupTracker,
icData = null,
registerExtraComponents,