From c70a0a1ecbd562f8e13c6c96b28bcd15d3cd2b62 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 17 Jun 2023 10:41:39 +0100 Subject: Serialize LLVM modules --- .../org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializer.java | 6 ++++++ .../java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmModule.java | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializer.java b/src/main/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializer.java index 47c791e4..5853fd6d 100644 --- a/src/main/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializer.java +++ b/src/main/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializer.java @@ -104,6 +104,12 @@ public class LlvmIrSerializer { } } + public static void serializeModule(LlvmModule module, StringBuilder builder) { + for (var topLevelEntity : module.body()) { + serializeTopLevelEntity(topLevelEntity, builder); + } + } + public static void serializeOperand(LlvmOperand operand, StringBuilder builder) { switch (operand) { case LlvmOperandArray array -> { diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmModule.java b/src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmModule.java index 917537da..f4ea9dc9 100644 --- a/src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmModule.java +++ b/src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmModule.java @@ -5,7 +5,6 @@ import org.shedlang.compiler.sources.Source; import java.util.List; public record LlvmModule( - List body, - Source source + List body ) { } -- cgit v1.2.3