[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.js.config.*
import org.jetbrains.kotlin.konan.file.ZipFileSystemAccessor import org.jetbrains.kotlin.konan.file.ZipFileSystemAccessor
import org.jetbrains.kotlin.konan.file.ZipFileSystemCacheableAccessor 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.library.metadata.KlibMetadataVersion
import org.jetbrains.kotlin.metadata.deserialization.BinaryVersion import org.jetbrains.kotlin.metadata.deserialization.BinaryVersion
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
@@ -464,7 +465,8 @@ class K2JsIrCompiler : CLICompiler<K2JSCompilerArguments>() {
jsOutputName = arguments.irPerModuleOutputName, jsOutputName = arguments.irPerModuleOutputName,
icData = icData, icData = icData,
expectDescriptorToSymbol = expectDescriptorToSymbol, expectDescriptorToSymbol = expectDescriptorToSymbol,
moduleFragment = moduleFragment moduleFragment = moduleFragment,
builtInsPlatform = if (arguments.wasm) BuiltInsPlatform.WASM else BuiltInsPlatform.JS
) { file -> ) { file ->
metadataSerializer.serializeScope(file, sourceModule.jsFrontEndResult.bindingContext, moduleFragment.descriptor) metadataSerializer.serializeScope(file, sourceModule.jsFrontEndResult.bindingContext, moduleFragment.descriptor)
} }
@@ -127,6 +127,7 @@ fun generateKLib(
icData: List<KotlinFileSerializedData>, icData: List<KotlinFileSerializedData>,
expectDescriptorToSymbol: MutableMap<DeclarationDescriptor, IrSymbol>, expectDescriptorToSymbol: MutableMap<DeclarationDescriptor, IrSymbol>,
moduleFragment: IrModuleFragment, moduleFragment: IrModuleFragment,
builtInsPlatform: BuiltInsPlatform = BuiltInsPlatform.JS,
serializeSingleFile: (KtSourceFile) -> ProtoBuf.PackageFragment serializeSingleFile: (KtSourceFile) -> ProtoBuf.PackageFragment
) { ) {
val files = (depsDescriptors.mainModule as MainModule.SourceFiles).files.map(::KtPsiSourceFile) val files = (depsDescriptors.mainModule as MainModule.SourceFiles).files.map(::KtPsiSourceFile)
@@ -149,6 +150,7 @@ fun generateKLib(
depsDescriptors.jsFrontEndResult.hasErrors, depsDescriptors.jsFrontEndResult.hasErrors,
abiVersion, abiVersion,
jsOutputName, jsOutputName,
builtInsPlatform,
serializeSingleFile serializeSingleFile
) )
} }
@@ -617,6 +619,7 @@ fun serializeModuleIntoKlib(
containsErrorCode: Boolean = false, containsErrorCode: Boolean = false,
abiVersion: KotlinAbiVersion, abiVersion: KotlinAbiVersion,
jsOutputName: String?, jsOutputName: String?,
builtInsPlatform: BuiltInsPlatform = BuiltInsPlatform.JS,
serializeSingleFile: (KtSourceFile) -> ProtoBuf.PackageFragment serializeSingleFile: (KtSourceFile) -> ProtoBuf.PackageFragment
) { ) {
assert(files.size == moduleFragment.files.size) assert(files.size == moduleFragment.files.size)
@@ -725,7 +728,7 @@ fun serializeModuleIntoKlib(
perFile = perFile, perFile = perFile,
output = klibPath, output = klibPath,
versions = versions, versions = versions,
builtInsPlatform = BuiltInsPlatform.JS builtInsPlatform = builtInsPlatform
) )
} }
@@ -177,7 +177,7 @@ class KotlinLibraryOnlyIrWriter(output: String, moduleName: String, versions: Ko
} }
enum class BuiltInsPlatform { enum class BuiltInsPlatform {
JVM, JS, NATIVE, COMMON; JVM, JS, NATIVE, WASM, COMMON;
companion object { companion object {
fun parseFromString(name: String): BuiltInsPlatform? = values().firstOrNull { it.name == name } fun parseFromString(name: String): BuiltInsPlatform? = values().firstOrNull { it.name == name }