diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-12 20:39:52 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-12 20:39:52 +0100 |
| commit | c359976e1f9456248c1d1cbebf8c58db5379709c (patch) | |
| tree | 2afd767a513214be57f0856a58c01a33b422245f /src/test/java | |
| parent | ae0f6f8ce9a82a17f44e31f21e437bd66a910f23 (diff) | |
Add LLVM operand structure
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerOperandsTests.java | 15 | ||||
| -rw-r--r-- | src/test/java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmIr.java | 4 |
2 files changed, 19 insertions, 0 deletions
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 64221e38..0686b989 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 @@ -55,6 +55,21 @@ public class LlvmIrSerializerOperandsTests { } @Test + public void structureIsSerializedAsElements() { + var operand = LlvmIr.operandStructure( + List.of( + LlvmIr.typedOperand(LlvmTypes.INT_64, LlvmIr.operandInt(1)), + LlvmIr.typedOperand(LlvmTypes.INT_64, LlvmIr.operandInt(2)), + LlvmIr.typedOperand(LlvmTypes.INT_64, LlvmIr.operandInt(3)) + ) + ); + + var result = serializeToString(operand, LlvmIrSerializer::serializeOperand); + + assertThat(result, equalTo("{i64 1, i64 2, i64 3}")); + } + + @Test public void typedOperandHasTypeAndValue() { var operand = LlvmIr.typedOperand(LlvmTypes.INT_64, 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 887bc655..224f1c5d 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 @@ -46,6 +46,10 @@ public class LlvmIr { return new LlvmOperandInt(value); } + public static LlvmOperand operandStructure(List<LlvmTypedOperand> elements) { + return new LlvmOperandStructure(elements); + } + public static LlvmParam param(LlvmType type, String name) { return new LlvmParam(type, name); } |
