[K/Wasm] Allow to export unsigned numbers

This commit is contained in:
Artem Kobzar
2023-12-08 09:06:19 +00:00
committed by Space Team
parent a3c1f4ea12
commit 2eb1e65bbf
19 changed files with 528 additions and 24 deletions
@@ -20,6 +20,16 @@ export { sub as "" }
export { sub as "\n \r \t" }
export default sub;
// FILE: 3.mjs
export function provideUByte() { return -1 }
export function provideUShort() { return -1 }
export function provideUInt() { return -1 }
export function provideULong() { return -1n }
// FILE: wasmImport.kt
import kotlin.wasm.WasmImport
@@ -50,6 +60,18 @@ external fun sub5(x: Float, y: Float): Float
@WasmImport("./2.mjs", "default")
external fun sub6(x: Float, y: Float): Float
@WasmImport("./3.mjs", "provideUByte")
external fun provideUByte(): UByte
@WasmImport("./3.mjs", "provideUShort")
external fun provideUShort(): UShort
@WasmImport("./3.mjs", "provideUInt")
external fun provideUInt(): UInt
@WasmImport("./3.mjs", "provideULong")
external fun provideULong(): ULong
fun box(): String {
if (addImportRenamed(5, 6) != 11) return "Fail1"
if (add(5, 6) != 11) return "Fail1"
@@ -62,5 +84,10 @@ fun box(): String {
if (sub5(5f, 6f) != -1f) return "Fail6"
if (sub6(5f, 6f) != -1f) return "Fail7"
if (provideUByte() != UByte.MAX_VALUE) return "Fail9"
if (provideUShort() != UShort.MAX_VALUE) return "Fail10"
if (provideUInt() != UInt.MAX_VALUE) return "Fail11"
if (provideULong() != ULong.MAX_VALUE) return "Fail12"
return "OK"
}