diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-16 22:54:10 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-16 22:54:10 +0100 |
| commit | ff769ec6795b7725f0bfb4d523e2762cb8e1f8c8 (patch) | |
| tree | 710888ecf950012ea07030e6c71046cba6b20156 /src/test/java | |
| parent | dbb847a2e9524e1a6479c13ea2379dfa453bb32b (diff) | |
Add return instruction
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java | 9 | ||||
| -rw-r--r-- | src/test/java/org/shedlang/compiler/stackir/instructions/Instructions.java | 4 |
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); + } } |
