From ff769ec6795b7725f0bfb4d523e2762cb8e1f8c8 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 16 Jun 2023 22:54:10 +0100 Subject: Add return instruction --- .../shedlang/compiler/stackir/InstructionSerializerTests.java | 9 +++++++++ .../org/shedlang/compiler/stackir/instructions/Instructions.java | 4 ++++ 2 files changed, 13 insertions(+) (limited to 'src/test/java') 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); + } } -- cgit v1.2.3