aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-20 23:48:30 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-20 23:48:30 +0100
commit02b996c4eb8d271349d9f248bb6396ce650c4e17 (patch)
tree4d923968e47a0e38bca260efa18ced42c693125f /src/test/java
parent40b380d258548a83a4adca9352e97eaae41a4342 (diff)
Add data-ptr operand
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java9
-rw-r--r--src/test/java/org/shedlang/compiler/patio/instructions/Patio.java9
2 files changed, 14 insertions, 4 deletions
diff --git a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
index 7e962443..42b494cb 100644
--- a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
+++ b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
@@ -263,6 +263,15 @@ public class PatioSerializerTests {
}
@Test
+ public void canSerializeDataPtr() {
+ var operand = Patio.dataPtr("x");
+
+ var string = PatioTesting.serializeOperand(operand);
+
+ assertThat(string, equalTo("(data-ptr \"x\")"));
+ }
+
+ @Test
public void canSerializeInt() {
var operand = Patio.int_(42);
diff --git a/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java b/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java
index 5c0fc397..cd8a67d7 100644
--- a/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java
+++ b/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java
@@ -2,10 +2,7 @@ package org.shedlang.compiler.patio.instructions;
import org.shedlang.compiler.patio.ast.*;
import org.shedlang.compiler.patio.ast.instructions.*;
-import org.shedlang.compiler.patio.ast.operands.PatioBool;
-import org.shedlang.compiler.patio.ast.operands.PatioInt;
-import org.shedlang.compiler.patio.ast.operands.PatioLocalRef;
-import org.shedlang.compiler.patio.ast.operands.PatioOperand;
+import org.shedlang.compiler.patio.ast.operands.*;
import org.shedlang.compiler.patio.ast.types.PatioDataLayout;
import org.shedlang.compiler.patio.ast.types.PatioType;
import org.shedlang.compiler.sources.Sources;
@@ -47,6 +44,10 @@ public class Patio {
return new PatioDataElement(name, layout, Sources.NULL);
}
+ public static PatioOperand dataPtr(String name) {
+ return new PatioDataPtr(name);
+ }
+
public static PatioDataPtrGet dataPtrGet(String target, String name) {
return new PatioDataPtrGet(
new PatioLocalRef(target),