aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java9
-rw-r--r--src/test/java/org/shedlang/compiler/stackir/instructions/Instructions.java4
2 files changed, 13 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java b/src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java
index bfc3f718..4c1cc6e2 100644
--- a/src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java
+++ b/src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java
@@ -138,6 +138,15 @@ public class InstructionSerializerTests {
assertThat(string, equalTo("(push-unit)"));
}
+ @Test
+ public void canSerializeReturn() {
+ var instruction = Instructions.return_();
+
+ var string = serialize(instruction);
+
+ assertThat(string, equalTo("(return)"));
+ }
+
private String serialize(Instruction instruction) {
var builder = new StringBuilder();
InstructionSerializer.serialize(instruction, builder);
diff --git a/src/test/java/org/shedlang/compiler/stackir/instructions/Instructions.java b/src/test/java/org/shedlang/compiler/stackir/instructions/Instructions.java
index d4d5e9e9..33c45a36 100644
--- a/src/test/java/org/shedlang/compiler/stackir/instructions/Instructions.java
+++ b/src/test/java/org/shedlang/compiler/stackir/instructions/Instructions.java
@@ -49,4 +49,8 @@ public class Instructions {
public static Instruction pushUnit() {
return new PushUnitInstruction(Sources.NULL);
}
+
+ public static Instruction return_() {
+ return new ReturnInstruction(Sources.NULL);
+ }
}