aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-06-17 00:25:46 +0100
committerMichael Williamson <mike@zwobble.org>2023-06-17 00:25:46 +0100
commit6c5c070b4781ceffc843d72465ac8e928dac5ad3 (patch)
tree8e94abb94556a8a323d931a4e368deb21c72381a /src/main/java
parent4ff0e8539505a28c26baa10db603c6271ae3a49a (diff)
Add LLVM null operand
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializer.java3
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/operands/LlvmOperand.java2
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/operands/LlvmOperandNull.java4
3 files changed, 8 insertions, 1 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 dc6eb3d3..01e7ed32 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
@@ -113,6 +113,9 @@ public class LlvmIrSerializer {
case LlvmOperandInt operandInt -> {
builder.append(operandInt.value());
}
+ case LlvmOperandNull operandNull -> {
+ builder.append("null");
+ }
case LlvmOperandStructure structure -> {
builder.append("{");
forEachInterspersed(
diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/operands/LlvmOperand.java b/src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/operands/LlvmOperand.java
index b53734fd..65998f2b 100644
--- a/src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/operands/LlvmOperand.java
+++ b/src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/operands/LlvmOperand.java
@@ -1,4 +1,4 @@
package org.shedlang.compiler.backends.llvm.ir.ast.operands;
-public sealed interface LlvmOperand permits LlvmOperandArray, LlvmOperandInt, LlvmOperandPtrToInt, LlvmOperandStructure, LlvmVariable {
+public sealed interface LlvmOperand permits LlvmOperandArray, LlvmOperandInt, LlvmOperandNull, LlvmOperandPtrToInt, LlvmOperandStructure, LlvmVariable {
}
diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/operands/LlvmOperandNull.java b/src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/operands/LlvmOperandNull.java
new file mode 100644
index 00000000..8e221276
--- /dev/null
+++ b/src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/operands/LlvmOperandNull.java
@@ -0,0 +1,4 @@
+package org.shedlang.compiler.backends.llvm.ir.ast.operands;
+
+public record LlvmOperandNull() implements LlvmOperand {
+}