[Wasm] Add BuiltInsPlatform.WASM
Use it instead of BuiltInsPlatform.JS in klibs
This commit is contained in:
committed by
Space Team
parent
faeafbbe29
commit
02beaa1daa
@@ -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 }
|
||||||
|
|||||||
Reference in New Issue
Block a user