diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-02-03 11:56:00 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-02-03 11:56:00 +0000 |
| commit | 3d4e3f4a54d128a2a280b5adc921f3d95fb963bb (patch) | |
| tree | b8fdf07b9cf6d3f7ceaa7b871f37f1605ec53145 /src/main/java | |
| parent | e865446205a1009ae68f681466efbb6cbc76ca0e (diff) | |
Allow any int type in Patio switch
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/backends/wasm/PatioToWasm.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/PatioToWasm.java b/src/main/java/org/shedlang/compiler/backends/wasm/PatioToWasm.java index 63ab8d3a..bedfe7e7 100644 --- a/src/main/java/org/shedlang/compiler/backends/wasm/PatioToWasm.java +++ b/src/main/java/org/shedlang/compiler/backends/wasm/PatioToWasm.java @@ -380,11 +380,13 @@ public class PatioToWasm { for (var patioSwitchCase : patioSwitch.cases()) { context = generateOperand(patioSwitch.value(), context); - // TODO: should probably allow any int type in switches - context = context.addInstruction(new WasmI32Const( + context = context.addInstruction(wasmIntConst( + patioOperandToWasmValueType(patioSwitch.value(), context), patioSwitchCase.value() )); - context = context.addInstruction(new WasmI32Eq()); + context = context.addInstruction(wasmIntEq( + patioOperandToWasmValueType(patioSwitch.value(), context) + )); context = context.enterIfInstruction(wasmBlockType); context = generateBlockBody(patioSwitchCase.body(), context); context = context.enterElse(); |
