aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/shedlang/compiler/stackir
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-06-16 23:08:09 +0100
committerMichael Williamson <mike@zwobble.org>2023-06-16 23:08:09 +0100
commit25ca0c973842be553326d3cd69ea72fd658b0ba6 (patch)
tree73915d5b244b10f3181e6464da6272d6e051632b /src/test/java/org/shedlang/compiler/stackir
parentff769ec6795b7725f0bfb4d523e2762cb8e1f8c8 (diff)
Add explicit return instruction to function bodies
Diffstat (limited to 'src/test/java/org/shedlang/compiler/stackir')
-rw-r--r--src/test/java/org/shedlang/compiler/stackir/StackCompilerFunctionDefinitionTests.java3
-rw-r--r--src/test/java/org/shedlang/compiler/stackir/instructions/InstructionMatchers.java6
2 files changed, 8 insertions, 1 deletions
diff --git a/src/test/java/org/shedlang/compiler/stackir/StackCompilerFunctionDefinitionTests.java b/src/test/java/org/shedlang/compiler/stackir/StackCompilerFunctionDefinitionTests.java
index 1c90a0a7..05063961 100644
--- a/src/test/java/org/shedlang/compiler/stackir/StackCompilerFunctionDefinitionTests.java
+++ b/src/test/java/org/shedlang/compiler/stackir/StackCompilerFunctionDefinitionTests.java
@@ -37,7 +37,8 @@ public class StackCompilerFunctionDefinitionTests {
has("body", x -> x.body(), isSequence(
isPushStringInstruction("hello"),
isDiscardInstruction(),
- isPushUnitInstruction()
+ isPushUnitInstruction(),
+ isReturnInstruction()
))
),
isLocalStoreInstruction("f")
diff --git a/src/test/java/org/shedlang/compiler/stackir/instructions/InstructionMatchers.java b/src/test/java/org/shedlang/compiler/stackir/instructions/InstructionMatchers.java
index 7e8a2f4d..8e24e131 100644
--- a/src/test/java/org/shedlang/compiler/stackir/instructions/InstructionMatchers.java
+++ b/src/test/java/org/shedlang/compiler/stackir/instructions/InstructionMatchers.java
@@ -81,4 +81,10 @@ public class InstructionMatchers {
PushUnitInstruction.class
);
}
+
+ public static Matcher<Instruction> isReturnInstruction() {
+ return instanceOf(
+ ReturnInstruction.class
+ );
+ }
}