aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-06-21 19:11:24 +0100
committerMichael Williamson <mike@zwobble.org>2023-06-21 19:11:24 +0100
commit46471000c1851940777f6dce77fa9a4bc2fe877c (patch)
tree5c7a40da970b0dfc71ae33a240a1bc57fe33770e /src/main/java
parentabcddcedb332ac6154c5ef49eab78209a5d07c62 (diff)
Add WASM section types
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormat.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormat.java b/src/main/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormat.java
index 2ec10c2a..ab43d70d 100644
--- a/src/main/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormat.java
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormat.java
@@ -10,6 +10,29 @@ public class WasmBinaryFormat {
private static final byte[] WASM_MAGIC = HexFormat.of().parseHex("0061736D");
private static final byte[] WASM_VERSION = HexFormat.of().parseHex("01000000");
+ private enum SectionType {
+ CUSTOM(0),
+ TYPE(1),
+ IMPORT(2),
+ FUNCTION(3),
+ TABLE(4),
+ MEMORY(5),
+ GLOBAL(6),
+ EXPORT(7),
+ START(8),
+ ELEMENT(9),
+ CODE(10),
+ DATA(11),
+ DATA_COUNT(12),
+ TAG(13);
+
+ private final byte id;
+
+ SectionType(int id) {
+ this.id = (byte) id;
+ }
+ }
+
public static void serializeModule(WasmModule module, FileOutputStream outputStream) throws IOException {
outputStream.write(WASM_MAGIC);
outputStream.write(WASM_VERSION);