diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-12-22 20:08:55 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-12-22 20:08:55 +0000 |
| commit | 4db39d53fa6524e43f57252fc60dcc6d831775ff (patch) | |
| tree | 542241e13f6aa0d20696acc9df6389232dff8613 /src | |
| parent | 437a5ae82c6d2a2a4f54ae178777ac61d3e32bba (diff) | |
Add WasmBlockType.EMPTY
Diffstat (limited to 'src')
3 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 978fe6cf..11e6c22f 100644 --- a/src/main/java/org/shedlang/compiler/backends/wasm/PatioToWasm.java +++ b/src/main/java/org/shedlang/compiler/backends/wasm/PatioToWasm.java @@ -1131,14 +1131,14 @@ public class PatioToWasm { private static class WasmBlockInstructionBuilder implements WasmStructuredInstructionBuilder { @Override public WasmInstruction exit(PVector<WasmInstruction> instructions) { - return new WasmBlock(new WasmBlockType(List.of()), instructions); + return new WasmBlock(WasmBlockType.EMPTY, instructions); } } private static class WasmLoopInstructionBuilder implements WasmStructuredInstructionBuilder { @Override public WasmInstruction exit(PVector<WasmInstruction> instructions) { - return new WasmLoop(new WasmBlockType(List.of()), instructions); + return new WasmLoop(WasmBlockType.EMPTY, instructions); } } diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/structure/ast/instructions/WasmBlockType.java b/src/main/java/org/shedlang/compiler/backends/wasm/structure/ast/instructions/WasmBlockType.java index b4be7654..731deb06 100644 --- a/src/main/java/org/shedlang/compiler/backends/wasm/structure/ast/instructions/WasmBlockType.java +++ b/src/main/java/org/shedlang/compiler/backends/wasm/structure/ast/instructions/WasmBlockType.java @@ -6,6 +6,8 @@ import java.util.Arrays; import java.util.List; public record WasmBlockType(List<WasmValueType> resultTypes) { + public static final WasmBlockType EMPTY = new WasmBlockType(List.of()); + public static WasmBlockType of(WasmValueType... resultTypes) { return new WasmBlockType(Arrays.asList(resultTypes)); } diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatInstructionsTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatInstructionsTests.java index 06e8f0ea..a14763d5 100644 --- a/src/test/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatInstructionsTests.java +++ b/src/test/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatInstructionsTests.java @@ -26,7 +26,7 @@ public class WasmBinaryFormatInstructionsTests { var instructions = List.of( new WasmI32Const(0), new WasmIf( - WasmBlockType.of(), + WasmBlockType.EMPTY, List.of(), List.of() ) |
