From d26160fa9921944c8e8ae21e3b2b54f67f5a5ffa Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 21 Dec 2023 16:19:18 +0000 Subject: Extract common Write interface --- .../backends/wasm/structure/binary/WasmBinaryFormatLinking.java | 4 ++-- .../backends/wasm/structure/binary/WasmBinaryFormatModules.java | 4 ---- .../wasm/structure/binary/WasmBinaryFormatNameSection.java | 4 ++-- .../backends/wasm/structure/binary/WasmBinaryFormatSize.java | 4 ---- .../compiler/backends/wasm/structure/binary/WasmBinaryWriter.java | 4 ++-- .../shedlang/compiler/backends/wasm/structure/binary/Write.java | 7 +++++++ 6 files changed, 13 insertions(+), 14 deletions(-) create mode 100644 src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/Write.java (limited to 'src/main/java') 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; +} -- cgit v1.2.3