From 25ca0c973842be553326d3cd69ea72fd658b0ba6 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 16 Jun 2023 23:08:09 +0100 Subject: Add explicit return instruction to function bodies --- .../compiler/stackir/StackCompilerFunctionDefinitionTests.java | 3 ++- .../shedlang/compiler/stackir/instructions/InstructionMatchers.java | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src/test/java/org/shedlang/compiler/stackir') 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 isReturnInstruction() { + return instanceOf( + ReturnInstruction.class + ); + } } -- cgit v1.2.3