[Wasm] Support WASI target in K2

- Support WASI mode in CLI and test infrastructure
- Add external declaration checker
- Split Fir diagnostic lists into Base, JS and WASI

#KT-56849 Fixed
This commit is contained in:
Svyatoslav Kuzmich
2023-11-22 15:57:51 +01:00
committed by Space Team
parent f26b0a5be6
commit e901629cf0
20 changed files with 216 additions and 27 deletions
@@ -29,6 +29,7 @@ import org.jetbrains.kotlin.fir.session.*
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment
import org.jetbrains.kotlin.js.config.JSConfigurationKeys
import org.jetbrains.kotlin.js.config.WasmTarget
import org.jetbrains.kotlin.js.config.wasmTarget
import org.jetbrains.kotlin.load.kotlin.PackageAndMetadataPartProvider
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.platform.TargetPlatform
@@ -398,6 +399,7 @@ open class FirFrontendFacade(
sessionProvider,
extensionRegistrars,
languageVersionSettings,
testServices.compilerConfigurationProvider.getCompilerConfiguration(module).wasmTarget,
null,
registerExtraComponents = ::registerExtraComponents,
sessionConfigurator,
@@ -57,7 +57,7 @@ object TestFirWasmSessionFactory {
fun createModuleBasedSession(
mainModuleData: FirModuleData, sessionProvider: FirProjectSessionProvider, extensionRegistrars: List<FirExtensionRegistrar>,
languageVersionSettings: LanguageVersionSettings, lookupTracker: LookupTracker?,
languageVersionSettings: LanguageVersionSettings, wasmTarget: WasmTarget, lookupTracker: LookupTracker?,
registerExtraComponents: ((FirSession) -> Unit),
sessionConfigurator: FirSessionConfigurator.() -> Unit,
): FirSession =
@@ -66,6 +66,7 @@ object TestFirWasmSessionFactory {
sessionProvider,
extensionRegistrars,
languageVersionSettings,
wasmTarget,
lookupTracker,
icData = null,
registerExtraComponents,