aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-12-19 11:58:58 +0000
committerMichael Williamson <mike@zwobble.org>2023-12-19 11:58:58 +0000
commit9a2d749472c0de64cee12b1dc6c1556536bde93f (patch)
treee5e9a23382ea9632f255a365ce8c780e7f0b9203 /src/main/java
parent869a539b7d2d75e311c92266aaaa92c31771892a (diff)
Add and use PatioInstruction::isBlockTerminator()
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/codegen/LlvmPatioCodeGen.java2
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioAllocHeap.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioAllocStack.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioBlock.java5
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioBoolToInt.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCall.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCallPointer.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioDataPtrToInt.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIf.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioInstruction.java1
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntAdd.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntEquals.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntNotEqual.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntSub.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntToBool.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntToDataPtr.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLocalStore.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLoop.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLoopBreak.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLoopContinue.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioMemoryLoad.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioMemoryStore.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioResume.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturn.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturnVoid.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioSwitch.java5
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioThrow.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioTry.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioUnreachable.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioVarLoad.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioVarStore.java4
31 files changed, 120 insertions, 1 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/codegen/LlvmPatioCodeGen.java b/src/main/java/org/shedlang/compiler/backends/llvm/codegen/LlvmPatioCodeGen.java
index d16dabcf..b7e160b3 100644
--- a/src/main/java/org/shedlang/compiler/backends/llvm/codegen/LlvmPatioCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/backends/llvm/codegen/LlvmPatioCodeGen.java
@@ -873,7 +873,7 @@ public class LlvmPatioCodeGen {
}
var endIsUnreachable = branch.body.body().stream()
- .anyMatch(instruction -> instruction instanceof PatioUnreachable);
+ .anyMatch(instruction -> instruction.isBlockTerminator());
if (!endIsUnreachable) {
context = context.startBasicBlock(branch.endLabel);
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioAllocHeap.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioAllocHeap.java
index fa045fb5..65f3b4c5 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioAllocHeap.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioAllocHeap.java
@@ -17,4 +17,8 @@ public record PatioAllocHeap(
int gcChildrenCount,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioAllocStack.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioAllocStack.java
index 0725a5cb..2473b679 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioAllocStack.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioAllocStack.java
@@ -14,4 +14,8 @@ public record PatioAllocStack(
PatioDataLayout layout,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioBlock.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioBlock.java
index 4fd8d2c5..ce4a2407 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioBlock.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioBlock.java
@@ -23,4 +23,9 @@ public record PatioBlock(
this.source
);
}
+
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioBoolToInt.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioBoolToInt.java
index 5edf01e9..d3b6baf1 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioBoolToInt.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioBoolToInt.java
@@ -9,4 +9,8 @@ public record PatioBoolToInt(
PatioOperand value,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCall.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCall.java
index c74613bb..f920c319 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCall.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCall.java
@@ -17,4 +17,8 @@ public record PatioCall(
List<PatioOperand> args,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCallPointer.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCallPointer.java
index fcd3fb0b..5ff10331 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCallPointer.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCallPointer.java
@@ -16,4 +16,8 @@ public record PatioCallPointer(
List<PatioOperand> args,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioDataPtrToInt.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioDataPtrToInt.java
index 481cdcd0..3d21f005 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioDataPtrToInt.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioDataPtrToInt.java
@@ -9,4 +9,8 @@ public record PatioDataPtrToInt(
PatioOperand value,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIf.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIf.java
index 16e2e9b3..fc5a0dc7 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIf.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIf.java
@@ -20,4 +20,8 @@ public record PatioIf(
PatioBlock falseBody,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioInstruction.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioInstruction.java
index 202948ea..088282d4 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioInstruction.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioInstruction.java
@@ -3,5 +3,6 @@ package org.shedlang.compiler.patio.ast.instructions;
import org.shedlang.compiler.sources.Source;
public sealed interface PatioInstruction permits PatioAllocHeap, PatioAllocStack, PatioBlock, PatioBoolToInt, PatioCall, PatioCallPointer, PatioDataPtrToInt, PatioIf, PatioIntAdd, PatioIntEquals, PatioIntNotEqual, PatioIntSub, PatioIntToBool, PatioIntToDataPtr, PatioLocalStore, PatioLoop, PatioLoopBreak, PatioLoopContinue, PatioMemoryLoad, PatioMemoryStore, PatioResume, PatioReturn, PatioReturnVoid, PatioSwitch, PatioThrow, PatioTry, PatioUnreachable, PatioVarLoad, PatioVarStore {
+ boolean isBlockTerminator();
Source source();
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntAdd.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntAdd.java
index 55abf764..fda748c5 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntAdd.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntAdd.java
@@ -10,4 +10,8 @@ public record PatioIntAdd(
PatioOperand right,
Source source
) implements PatioInstructionBinaryOperation, PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntEquals.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntEquals.java
index 5dd0c8a5..a261d854 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntEquals.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntEquals.java
@@ -10,4 +10,8 @@ public record PatioIntEquals(
PatioOperand right,
Source source
) implements PatioInstructionBinaryOperation, PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntNotEqual.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntNotEqual.java
index 28313111..cc426c8e 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntNotEqual.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntNotEqual.java
@@ -14,4 +14,8 @@ public record PatioIntNotEqual(
PatioOperand right,
Source source
) implements PatioInstructionBinaryOperation, PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntSub.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntSub.java
index e5e3eaa2..35aa51a9 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntSub.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntSub.java
@@ -14,4 +14,8 @@ public record PatioIntSub(
PatioOperand right,
Source source
) implements PatioInstructionBinaryOperation, PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntToBool.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntToBool.java
index 43bdca03..fe5205ed 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntToBool.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntToBool.java
@@ -9,4 +9,8 @@ public record PatioIntToBool(
PatioOperand value,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntToDataPtr.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntToDataPtr.java
index 60ae81de..bf66c616 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntToDataPtr.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIntToDataPtr.java
@@ -9,4 +9,8 @@ public record PatioIntToDataPtr(
PatioOperand value,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLocalStore.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLocalStore.java
index 22939cd5..6c4b4ba9 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLocalStore.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLocalStore.java
@@ -12,4 +12,8 @@ public record PatioLocalStore(
PatioOperand value,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLoop.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLoop.java
index 94d33a24..d849fa8c 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLoop.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLoop.java
@@ -13,4 +13,8 @@ public record PatioLoop(
List<PatioInstruction> body,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLoopBreak.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLoopBreak.java
index a276a5ad..2f4ed046 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLoopBreak.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLoopBreak.java
@@ -6,4 +6,8 @@ import org.shedlang.compiler.sources.Source;
* Jump to the end of the enclosing <code>loop</code> instruction's body.
*/
public record PatioLoopBreak(Source source) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return true;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLoopContinue.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLoopContinue.java
index f8afd614..7d6eeaaf 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLoopContinue.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioLoopContinue.java
@@ -6,4 +6,8 @@ import org.shedlang.compiler.sources.Source;
* Jump to the start of the enclosing <code>loop</code> instruction's body.
*/
public record PatioLoopContinue(Source source) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return true;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioMemoryLoad.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioMemoryLoad.java
index 977bf6c9..3339b7e2 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioMemoryLoad.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioMemoryLoad.java
@@ -18,4 +18,8 @@ public record PatioMemoryLoad(
List<Integer> offset,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioMemoryStore.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioMemoryStore.java
index ca283284..3bff3fe6 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioMemoryStore.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioMemoryStore.java
@@ -16,4 +16,8 @@ public record PatioMemoryStore(
PatioOperand value,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioResume.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioResume.java
index 3f19908f..fca36a7f 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioResume.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioResume.java
@@ -8,4 +8,8 @@ import org.shedlang.compiler.sources.Source;
* call.
*/
public record PatioResume(PatioOperand value, Source source) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return true;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturn.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturn.java
index 1d5cbcd2..355715c2 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturn.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturn.java
@@ -7,4 +7,8 @@ import org.shedlang.compiler.sources.Source;
* Return with the given value from the current function.
*/
public record PatioReturn(PatioOperand value, Source source) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return true;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturnVoid.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturnVoid.java
index 0fc8c0cb..2d3001af 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturnVoid.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturnVoid.java
@@ -6,4 +6,8 @@ import org.shedlang.compiler.sources.Source;
* Return with no value from the current function.
*/
public record PatioReturnVoid(Source source) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return true;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioSwitch.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioSwitch.java
index d68b44a3..14220320 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioSwitch.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioSwitch.java
@@ -23,4 +23,9 @@ public record PatioSwitch(
) implements PatioInstruction {
public record Case(int value, PatioBlock body, Source source) {
}
+
+ @Override
+ public boolean isBlockTerminator() {
+ return true;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioThrow.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioThrow.java
index d08f82fc..10c627a6 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioThrow.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioThrow.java
@@ -14,4 +14,8 @@ public record PatioThrow(
PatioOperand value,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return true;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioTry.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioTry.java
index ebd1ca95..4eab249c 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioTry.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioTry.java
@@ -22,4 +22,8 @@ public record PatioTry(
PatioBlock body,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioUnreachable.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioUnreachable.java
index 55821afe..20f990cb 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioUnreachable.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioUnreachable.java
@@ -7,4 +7,8 @@ import org.shedlang.compiler.sources.Source;
* that an instruction sequence is unreachable.
*/
public record PatioUnreachable(Source source) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return true;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioVarLoad.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioVarLoad.java
index 1b30a576..6169ff18 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioVarLoad.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioVarLoad.java
@@ -11,4 +11,8 @@ public record PatioVarLoad(
PatioLocalRef var,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioVarStore.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioVarStore.java
index 104e8ca5..51e4993f 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioVarStore.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioVarStore.java
@@ -12,4 +12,8 @@ public record PatioVarStore(
PatioOperand value,
Source source
) implements PatioInstruction {
+ @Override
+ public boolean isBlockTerminator() {
+ return false;
+ }
}