aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-06-17 10:41:39 +0100
committerMichael Williamson <mike@zwobble.org>2023-06-17 10:41:39 +0100
commitc70a0a1ecbd562f8e13c6c96b28bcd15d3cd2b62 (patch)
tree6b2fcde0b714ec278267619e5b92fd745dc721d6 /src/main/java
parent80c1575e7f2956111f1d62dbba88396d0ca8cf29 (diff)
Serialize LLVM modules
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializer.java6
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmModule.java3
2 files changed, 7 insertions, 2 deletions
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<LlvmTopLevelEntity> body,
- Source source
+ List<LlvmTopLevelEntity> body
) {
}