diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-11 10:30:31 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-11 10:30:31 +0100 |
| commit | aa7ae2695c1ee5b919832b84df401614a7500a27 (patch) | |
| tree | 8a998df9eeb316e71d960bba45e3eca51b4275a7 /src/test/java | |
| parent | c5bf0550ad465bed16dab1d9c8bed8d2a036d6ab (diff) | |
Push unit at end of function definition body
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/stackir/StackCompilerFunctionDefinitionTests.java | 3 | ||||
| -rw-r--r-- | src/test/java/org/shedlang/compiler/stackir/instructions/InstructionMatchers.java | 6 |
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 1fa6c41a..1c90a0a7 100644 --- a/src/test/java/org/shedlang/compiler/stackir/StackCompilerFunctionDefinitionTests.java +++ b/src/test/java/org/shedlang/compiler/stackir/StackCompilerFunctionDefinitionTests.java @@ -36,7 +36,8 @@ public class StackCompilerFunctionDefinitionTests { has("freeVariables", x -> x.freeVariables(), containsExactly(equalTo("z"))), has("body", x -> x.body(), isSequence( isPushStringInstruction("hello"), - isDiscardInstruction() + isDiscardInstruction(), + isPushUnitInstruction() )) ), 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 bfac50ce..0cbad43d 100644 --- a/src/test/java/org/shedlang/compiler/stackir/instructions/InstructionMatchers.java +++ b/src/test/java/org/shedlang/compiler/stackir/instructions/InstructionMatchers.java @@ -73,4 +73,10 @@ public class InstructionMatchers { has("value", x -> x.value(), equalTo(value)) ); } + + public static Matcher<Instruction> isPushUnitInstruction() { + return instanceOf( + PushUnitInstruction.class + ); + } } |
