From f914488506c83ae98ee699d88501d7df756dbae5 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 27 Aug 2023 22:07:14 +0100 Subject: Fix generation of if instruction for while loop --- .../compiler/stackir/StackCompilerWhileTests.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/test/java') diff --git a/src/test/java/org/shedlang/compiler/stackir/StackCompilerWhileTests.java b/src/test/java/org/shedlang/compiler/stackir/StackCompilerWhileTests.java index c8fd1cdc..398a9827 100644 --- a/src/test/java/org/shedlang/compiler/stackir/StackCompilerWhileTests.java +++ b/src/test/java/org/shedlang/compiler/stackir/StackCompilerWhileTests.java @@ -28,11 +28,15 @@ public class StackCompilerWhileTests { isSequence( isLocalLoadInstruction("c__0"), isIfInstruction( - isSequence(), isSequence( - isLoopBreakInstruction() + isPushUnitInstruction() + ), + isSequence( + isLoopBreakInstruction(), + isPushUnitInstruction() ) ), + isDiscardInstruction(), isPushIntInstruction(42), isDiscardInstruction(), isLoopContinueInstruction() @@ -61,11 +65,15 @@ public class StackCompilerWhileTests { isSequence( isLocalLoadInstruction("c__0"), isIfInstruction( - isSequence(), isSequence( - isLoopBreakInstruction() + isPushUnitInstruction() + ), + isSequence( + isLoopBreakInstruction(), + isPushUnitInstruction() ) ), + isDiscardInstruction(), isPushIntInstruction(42), isDiscardInstruction(), isLoopContinueInstruction() -- cgit v1.2.3