aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-20 15:16:15 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-20 15:16:15 +0100
commitb3276afec7498c7ec6e100d7367e748fdf0a3923 (patch)
treea248283179677975728035075b6e1e0da5c39f0e /src/test/java
parent179e49ae34f9d5869249b2675de04863d6b402ad (diff)
Add int-to-data-ptr instruction
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.java8
2 files changed, 17 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
index 48e5a38e..b354d534 100644
--- a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
+++ b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
@@ -96,6 +96,15 @@ public class PatioSerializerTests {
}
@Test
+ public void canSerializeIntToDataPtr() {
+ var instruction = Patio.intToDataPtr("target", "value");
+
+ var string = PatioTesting.serializeInstruction(instruction);
+
+ assertThat(string, equalTo("(int-to-data-ptr \"target\" \"value\")"));
+ }
+
+ @Test
public void canSerializeLocalCopy() {
var instruction = Patio.localCopy("target", "x");
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 5ad05faf..d8445de9 100644
--- a/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java
+++ b/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java
@@ -47,6 +47,14 @@ public class Patio {
return new PatioIntGet(new PatioLocalRef(target), value, Sources.NULL);
}
+ public static PatioInstruction intToDataPtr(String target, String value) {
+ return new PatioIntToDataPtr(
+ new PatioLocalRef(target),
+ new PatioLocalRef(value),
+ Sources.NULL
+ );
+ }
+
public static PatioLocal local(String name, PatioType type) {
return new PatioLocal(name, type);
}