aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-08-27 22:18:26 +0100
committerMichael Williamson <mike@zwobble.org>2023-08-27 22:18:26 +0100
commit772860d92d25a79280dd7fe8fc841844d0b1e948 (patch)
tree09e69b572992b31165023bfa6204687d013190fc /src/main/java
parent9792e244bbbc8ab5935cbd91f53b6ad42ffb9e11 (diff)
Add missing cases
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGen.java9
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java9
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/WasmCodeGen.java9
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java9
4 files changed, 36 insertions, 0 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGen.java b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGen.java
index 60aa2152..ae361d25 100644
--- a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGen.java
@@ -249,6 +249,15 @@ public class LlvmCodeGen {
yield context.addShedLocal(localStore.name(), value);
}
+ case LoopInstruction loop ->
+ throw new UnsupportedOperationException("TODO");
+
+ case LoopBreakInstruction loopBreak ->
+ throw new UnsupportedOperationException("TODO");
+
+ case LoopContinueInstruction loopContinue ->
+ throw new UnsupportedOperationException("TODO");
+
case NamespaceFieldStoreInstruction namespaceFieldStore -> {
var popResult = context.pop();
var fieldValue = popResult.value();
diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java
index 13577bdd..ef8f8355 100644
--- a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java
@@ -411,6 +411,15 @@ public class LlvmPatioCodeGen {
patioOperandToLlvmOperand(patioLocalStore.value(), context)
);
+ case PatioLoop patioLoop ->
+ throw new UnsupportedOperationException("TODO");
+
+ case PatioLoopBreak patioLoopBreak ->
+ throw new UnsupportedOperationException("TODO");
+
+ case PatioLoopContinue patioLoopContinue ->
+ throw new UnsupportedOperationException("TODO");
+
case PatioMemoryLoad patioMemoryLoad -> {
var targetResult = context.addPatioLocalToLlvmLocal(patioMemoryLoad.target());
var target = targetResult.value;
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/WasmCodeGen.java b/src/main/java/org/shedlang/compiler/backends/wasm/WasmCodeGen.java
index a85a49c3..84c2052a 100644
--- a/src/main/java/org/shedlang/compiler/backends/wasm/WasmCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/WasmCodeGen.java
@@ -221,6 +221,15 @@ public class WasmCodeGen {
);
}
+ case LoopInstruction loop ->
+ throw new UnsupportedOperationException("TODO");
+
+ case LoopBreakInstruction loopBreak ->
+ throw new UnsupportedOperationException("TODO");
+
+ case LoopContinueInstruction loopContinue ->
+ throw new UnsupportedOperationException("TODO");
+
case NamespaceFieldStoreInstruction namespaceFieldStore -> {
var fieldValueResult = context.generateLocal(
WasmCodeGenLocalSpace.FIELD_VALUE,
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java b/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java
index dee9246d..80940a9e 100644
--- a/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java
@@ -260,6 +260,15 @@ public class WasmPatioCodeGen {
context
);
+ case PatioLoop patioLoop ->
+ throw new UnsupportedOperationException("TODO");
+
+ case PatioLoopBreak patioLoopBreak ->
+ throw new UnsupportedOperationException("TODO");
+
+ case PatioLoopContinue patioLoopContinue ->
+ throw new UnsupportedOperationException("TODO");
+
case PatioMemoryLoad patioMemoryLoad -> {
context = generateOperand(patioMemoryLoad.pointer(), context);