[Wasm] Add BuiltInsPlatform.WASM

Use it instead of BuiltInsPlatform.JS in klibs
This commit is contained in:
Svyatoslav Kuzmich
2023-03-29 13:56:12 +02:00
committed by Space Team
parent faeafbbe29
commit 02beaa1daa
3 changed files with 8 additions and 3 deletions
@@ -57,6 +57,7 @@ import org.jetbrains.kotlin.js.analyzer.JsAnalysisResult
import org.jetbrains.kotlin.js.config.*
import org.jetbrains.kotlin.konan.file.ZipFileSystemAccessor
import org.jetbrains.kotlin.konan.file.ZipFileSystemCacheableAccessor
import org.jetbrains.kotlin.library.impl.BuiltInsPlatform
import org.jetbrains.kotlin.library.metadata.KlibMetadataVersion
import org.jetbrains.kotlin.metadata.deserialization.BinaryVersion
import org.jetbrains.kotlin.name.FqName
@@ -464,7 +465,8 @@ class K2JsIrCompiler : CLICompiler<K2JSCompilerArguments>() {
jsOutputName = arguments.irPerModuleOutputName,
icData = icData,
expectDescriptorToSymbol = expectDescriptorToSymbol,
moduleFragment = moduleFragment
moduleFragment = moduleFragment,
builtInsPlatform = if (arguments.wasm) BuiltInsPlatform.WASM else BuiltInsPlatform.JS
) { file ->
metadataSerializer.serializeScope(file, sourceModule.jsFrontEndResult.bindingContext, moduleFragment.descriptor)
}
@@ -127,6 +127,7 @@ fun generateKLib(
icData: List<KotlinFileSerializedData>,
expectDescriptorToSymbol: MutableMap<DeclarationDescriptor, IrSymbol>,
moduleFragment: IrModuleFragment,
builtInsPlatform: BuiltInsPlatform = BuiltInsPlatform.JS,
serializeSingleFile: (KtSourceFile) -> ProtoBuf.PackageFragment
) {
val files = (depsDescriptors.mainModule as MainModule.SourceFiles).files.map(::KtPsiSourceFile)
@@ -149,6 +150,7 @@ fun generateKLib(
depsDescriptors.jsFrontEndResult.hasErrors,
abiVersion,
jsOutputName,
builtInsPlatform,
serializeSingleFile
)
}
@@ -617,6 +619,7 @@ fun serializeModuleIntoKlib(
containsErrorCode: Boolean = false,
abiVersion: KotlinAbiVersion,
jsOutputName: String?,
builtInsPlatform: BuiltInsPlatform = BuiltInsPlatform.JS,
serializeSingleFile: (KtSourceFile) -> ProtoBuf.PackageFragment
) {
assert(files.size == moduleFragment.files.size)
@@ -725,7 +728,7 @@ fun serializeModuleIntoKlib(
perFile = perFile,
output = klibPath,
versions = versions,
builtInsPlatform = BuiltInsPlatform.JS
builtInsPlatform = builtInsPlatform
)
}
@@ -177,7 +177,7 @@ class KotlinLibraryOnlyIrWriter(output: String, moduleName: String, versions: Ko
}
enum class BuiltInsPlatform {
JVM, JS, NATIVE, COMMON;
JVM, JS, NATIVE, WASM, COMMON;
companion object {
fun parseFromString(name: String): BuiltInsPlatform? = values().firstOrNull { it.name == name }