Eliminated some warnings in wasm32 sample.

This commit is contained in:
Alexander Gorshenev
2017-11-16 15:01:37 +03:00
committed by alexander-gorshenev
parent 103d397200
commit 95128148ba
3 changed files with 5 additions and 5 deletions
@@ -25,7 +25,7 @@ external public fun stringLengthBytes(message: String): Int
typealias KtFunction <R> = ((ArrayList<JsValue>)->R)
fun <R> wrapFunction(func: KtFunction<R>): Int {
val ptr: Long = StableObjPtr.create(func).value.toLong()
val ptr: Long = StableRef.create(func).asCPointer().toLong()
return ptr.toInt() // TODO: LP64 unsafe.
}
@@ -38,7 +38,7 @@ fun runLambda(pointer: Int, argumentsArena: Arena, argumentsArenaSize: Int): Int
val previousArena = ArenaManager.currentArena
ArenaManager.currentArena = argumentsArena
// TODO: LP64 unsafe: wasm32 passes Int, not Long.
val func = StableObjPtr.fromValue(pointer.toLong().toCPointer()!!).get() as KtFunction<JsValue>
val func = StableRef.fromValue(pointer.toLong().toCPointer()!!).get() as KtFunction<JsValue>
val result = func(arguments)
ArenaManager.currentArena = previousArena
+2 -2
View File
@@ -14,8 +14,8 @@ fun main(args: Array<String>) {
var mouseY: Int = 0
var draw: Boolean = false
document.setter("onmousemove") { args: ArrayList<JsValue> ->
val event = MouseEvent(args[0])
document.setter("onmousemove") { arguments: ArrayList<JsValue> ->
val event = MouseEvent(arguments[0])
mouseX = event.getInt("clientX") - rectLeft
mouseY = event.getInt("clientY") - rectTop
@@ -116,7 +116,7 @@ fun Operation.generateKotlin(parent: Interface): String {
argList +
"): ${returnType.toKotlinType()} {\n" +
"\t\tval wasmRetVal = ${wasmFunctionName(name, parent.name)}($wasmArgList)\n" +
"\t\t${if (returnType != Void) "val wasmRetVal = " else ""}${wasmFunctionName(name, parent.name)}($wasmArgList)\n" +
"\t\treturn ${returnType.wasmReturnMapping("wasmRetVal")}\n"+
"\t}\n"