aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-11-26 22:34:51 +0000
committerMichael Williamson <mike@zwobble.org>2023-11-26 22:34:51 +0000
commit0020edc8158445d408a8ed198e1e3fdd78b6454b (patch)
tree7484becb2461ae36b04c4506f13d7bc15831fdfe /src/main/java
parent9f7c92ba7dd23debfc37cf6f7f88b0dd8c926b05 (diff)
Support using thrown value in catch block
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java3
1 files changed, 1 insertions, 2 deletions
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 585de4e6..e276b2a0 100644
--- a/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java
@@ -355,8 +355,7 @@ public class WasmPatioCodeGen {
for (var catchClause : try_.catchClauses()) {
context = context.enterCatch(new WasmTagName(catchClause.exceptionTypeName()));
- // TODO: pop into local for catch
- context = context.addInstruction(new WasmDrop());
+ context = popIntoPatioLocal(catchClause.target(), context);
context = generateBlockBody(catchClause.body(), context);
}