summary refs log tree commit diff stats
path: root/src/main/kotlin/space/autistic/radio/wasm
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/space/autistic/radio/wasm')
-rw-r--r--src/main/kotlin/space/autistic/radio/wasm/Bindings.kt5
-rw-r--r--src/main/kotlin/space/autistic/radio/wasm/WasmExitException.kt4
2 files changed, 9 insertions, 0 deletions
diff --git a/src/main/kotlin/space/autistic/radio/wasm/Bindings.kt b/src/main/kotlin/space/autistic/radio/wasm/Bindings.kt
index cc123a1..5ff4102 100644
--- a/src/main/kotlin/space/autistic/radio/wasm/Bindings.kt
+++ b/src/main/kotlin/space/autistic/radio/wasm/Bindings.kt
@@ -141,6 +141,11 @@ class Bindings {
                     Value.EMPTY_VALUES
                 }
 
+                Void::class.java -> HostFunction(module, name, wasmParameters, emptyList()) { instance, args ->
+                    handle.invokeExact(instance, args)
+                    throw IllegalStateException("unreachable")
+                }
+
                 Int::class.java -> HostFunction(module, name, wasmParameters, listOf(ValueType.I32)) { instance, args ->
                     val result: Int = handle.invokeExact(instance, args) as Int
                     longArrayOf(result.toLong())
diff --git a/src/main/kotlin/space/autistic/radio/wasm/WasmExitException.kt b/src/main/kotlin/space/autistic/radio/wasm/WasmExitException.kt
new file mode 100644
index 0000000..43c08be
--- /dev/null
+++ b/src/main/kotlin/space/autistic/radio/wasm/WasmExitException.kt
@@ -0,0 +1,4 @@
+package space.autistic.radio.wasm
+
+class WasmExitException(val status: Int) : Exception() {
+}