aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-12-21 16:19:18 +0000
committerMichael Williamson <mike@zwobble.org>2023-12-21 16:19:18 +0000
commitd26160fa9921944c8e8ae21e3b2b54f67f5a5ffa (patch)
tree7a2b9b3508e886aa49a0e00bd614330985f8532d /src/main/java
parent812b4db4e97e9554ff63e3f2c5e4b6e88633b219 (diff)
Extract common Write interface
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatLinking.java4
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatModules.java4
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatNameSection.java4
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatSize.java4
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryWriter.java4
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/Write.java7
6 files changed, 13 insertions, 14 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatLinking.java b/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatLinking.java
index 956188b5..255cc52e 100644
--- a/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatLinking.java
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatLinking.java
@@ -115,10 +115,10 @@ public class WasmBinaryFormatLinking {
private static void writeSubsection(
SubsectionType type,
WasmBinaryWriter writer,
- WasmBinaryFormatModules.Write writeContent
+ Write writeContent
) throws IOException {
writer.writeByte(type.id);
- writer.writeSize(writeContent::write);
+ writer.writeSize(writeContent);
}
private enum SubsectionType {
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatModules.java b/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatModules.java
index 73ee76cf..c0d0089e 100644
--- a/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatModules.java
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatModules.java
@@ -54,10 +54,6 @@ public class WasmBinaryFormatModules {
// == Sections ==
- interface Write {
- void write() throws IOException;
- }
-
static void writeSection(
WasmSectionId sectionId,
BinaryWriter writer,
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatNameSection.java b/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatNameSection.java
index 850f1057..d4974a02 100644
--- a/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatNameSection.java
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatNameSection.java
@@ -38,11 +38,11 @@ public class WasmBinaryFormatNameSection {
private static void writeNameSubsection(
NameSubsectionId sectionId,
WasmBinaryWriter writer,
- WasmBinaryFormatModules.Write writeContent
+ Write writeContent
) throws IOException {
writer.writeByte(sectionId.id);
- writer.writeSize(writeContent::write);
+ writer.writeSize(writeContent);
}
private enum NameSubsectionId {
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatSize.java b/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatSize.java
index 7a90bdb0..06b12185 100644
--- a/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatSize.java
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatSize.java
@@ -8,10 +8,6 @@ public class WasmBinaryFormatSize {
private WasmBinaryFormatSize() {
}
- public interface Write {
- void write() throws IOException;
- }
-
public static void writeSize(
BinaryWriter writer,
Write writeContent
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryWriter.java b/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryWriter.java
index 01dfb8fd..64f86adc 100644
--- a/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryWriter.java
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryWriter.java
@@ -151,7 +151,7 @@ public class WasmBinaryWriter {
}
// TODO: extract write interface
- public void writeSection(WasmSectionId sectionId, WasmBinaryFormatModules.Write writeContents) throws IOException {
+ public void writeSection(WasmSectionId sectionId, Write writeContents) throws IOException {
currentSection = Optional.of(sectionId);
sectionIndex++;
WasmBinaryFormatModules.writeSection(sectionId, writer, () -> {
@@ -188,7 +188,7 @@ public class WasmBinaryWriter {
}
public void writeSize(
- WasmBinaryFormatSize.Write writeContents
+ Write writeContents
) throws IOException {
WasmBinaryFormatSize.writeSize(writer, writeContents);
}
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/Write.java b/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/Write.java
new file mode 100644
index 00000000..9ddedd2f
--- /dev/null
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/Write.java
@@ -0,0 +1,7 @@
+package org.shedlang.compiler.backends.wasm.structure.binary;
+
+import java.io.IOException;
+
+public interface Write {
+ void write() throws IOException;
+}