[Wasm] Support Number type for external functions

This commit is contained in:
Igor Yakovlev
2022-12-27 16:22:57 +01:00
committed by teamcity
parent 4dedd47172
commit 1b2b7ce34c
5 changed files with 74 additions and 0 deletions
@@ -149,6 +149,26 @@ fun testFloat() {
check(null2Float() == null)
}
@JsFun("() => 123.5")
external fun notNullNumber(): Number
@JsFun("() => null")
external fun notNull2Number(): Number
@JsFun("() => 123.5")
external fun nullNumber(): Number?
@JsFun("() => null")
external fun null2Number(): Number?
fun testNumber() {
check(notNullNumber() == 123.5)
check(notNull2Number() == 0.0)
check(nullNumber() == 123.5)
check(null2Number() == null)
}
fun box(): String {
testString()
testExterRef()
@@ -157,5 +177,6 @@ fun box(): String {
testBoolean()
testShort()
testFloat()
testNumber()
return "OK"
}
@@ -114,6 +114,33 @@ fun testFloat() {
null2Float(null)
}
@JsFun("(x) => { if (x !== 123.5) throw 'error' }")
external fun notNullNumber(x: Number)
@JsFun("(x) => { if (x !== 123.5) throw 'error' }")
external fun nullNumber(x: Number?)
@JsFun("(x) => { if (x !== null) throw 'error' }")
external fun null2Number(x: Number?)
@JsFun("(x) => { if (x !== 123) throw 'error' }")
external fun byte2Number(x: Number)
@JsFun("(x) => { if (x !== 123) throw 'error' }")
external fun notNullByte2Number(x: Number?)
@JsFun("(x) => { if (x !== null) throw 'error' }")
external fun nullByte2Number(x: Number?)
fun testNumber() {
notNullNumber(123.5)
nullNumber(123.5)
null2Number(null)
byte2Number(123)
notNullByte2Number(123)
nullByte2Number(null)
}
fun box(): String {
testString()
testExterRef()
@@ -122,5 +149,6 @@ fun box(): String {
testBoolean()
testShort()
testFloat()
testNumber()
return "OK"
}