diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-12 20:30:44 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-12 20:30:44 +0100 |
| commit | f67078f6cf8eb1d1da9dad8bb043344b13387ada (patch) | |
| tree | 753d5a4b5f3cb3529a16ac655e67d5efd8a0eb4c /src/test/java | |
| parent | 95b00d8003ac8f801212149b350f36a6649b1b86 (diff) | |
Add LLVM typed operand
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerOperandsTests.java | 10 | ||||
| -rw-r--r-- | src/test/java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmIr.java | 20 |
2 files changed, 22 insertions, 8 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 3ab0d65f..4d3fa350 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 @@ -2,6 +2,7 @@ package org.shedlang.compiler.backends.llvm.ir; import org.junit.jupiter.api.Test; import org.shedlang.compiler.backends.llvm.ir.ast.LlvmIr; +import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmTypes; import static org.shedlang.compiler.backends.llvm.ir.LlvmIrSerializerTesting.serializeToString; import static org.zwobble.precisely.AssertThat.assertThat; @@ -34,4 +35,13 @@ public class LlvmIrSerializerOperandsTests { assertThat(result, equalTo("@x")); } + + @Test + public void typedOperandHasTypeAndValue() { + var operand = LlvmIr.typedOperand(LlvmTypes.INT_64, LlvmIr.operandInt(42)); + + var result = serializeToString(operand, LlvmIrSerializer::serializeTypedOperand); + + assertThat(result, equalTo("i64 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 d3d7d6cb..470406e4 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 @@ -43,14 +43,6 @@ public class LlvmIr { return new LlvmParam(type, name); } - public static LlvmVariableGlobal variableGlobal(String name) { - return new LlvmVariableGlobal(name); - } - - public static LlvmVariableLocal variableLocal(String name) { - return new LlvmVariableLocal(name); - } - public static LlvmReturn returnValue(LlvmType type, LlvmOperand value) { return new LlvmReturn(type, value); } @@ -58,4 +50,16 @@ public class LlvmIr { public static LlvmReturnVoid returnVoid() { return new LlvmReturnVoid(); } + + public static LlvmTypedOperand typedOperand(LlvmType type, LlvmOperand value) { + return new LlvmTypedOperand(type, value); + } + + public static LlvmVariableGlobal variableGlobal(String name) { + return new LlvmVariableGlobal(name); + } + + public static LlvmVariableLocal variableLocal(String name) { + return new LlvmVariableLocal(name); + } } |
