From 6c5c070b4781ceffc843d72465ac8e928dac5ad3 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 17 Jun 2023 00:25:46 +0100 Subject: Add LLVM null operand --- .../compiler/backends/llvm/ir/LlvmIrSerializerOperandsTests.java | 9 +++++++++ .../java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmIr.java | 4 ++++ 2 files changed, 13 insertions(+) (limited to 'src/test/java') diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerOperandsTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerOperandsTests.java index 1d6134e3..f8ff5921 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerOperandsTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerOperandsTests.java @@ -11,6 +11,15 @@ import static org.zwobble.precisely.AssertThat.assertThat; import static org.zwobble.precisely.Matchers.equalTo; public class LlvmIrSerializerOperandsTests { + @Test + public void nullIsSerializedAsNull() { + var operand = LlvmIr.operandNull(); + + var result = serializeToString(operand, LlvmIrSerializer::serializeOperand); + + assertThat(result, equalTo("null")); + } + @Test public void intIsSerializedAsInt() { var operand = LlvmIr.operandInt(42); diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmIr.java b/src/test/java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmIr.java index a472096f..25dbe833 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmIr.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmIr.java @@ -83,6 +83,10 @@ public class LlvmIr { return new LlvmOperandInt(value); } + public static LlvmOperandNull operandNull() { + return new LlvmOperandNull(); + } + public static LlvmOperand operandStructure(List elements) { return new LlvmOperandStructure(elements); } -- cgit v1.2.3