diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-10-28 23:21:10 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-10-28 23:21:10 +0100 |
| commit | 052177994ca489078cf6057064ea2a97b35fe5d1 (patch) | |
| tree | a5e2d464a0ee9d6a749cfa835ac0539ac39f8920 /src/main/java/org/shedlang/compiler/stackir | |
| parent | dcfcdb2b408f05ab6b5d5ca8713c10af4ff80495 (diff) | |
Introduce TypedFunctionBodyNode
Diffstat (limited to 'src/main/java/org/shedlang/compiler/stackir')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/stackir/StackCompiler.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/main/java/org/shedlang/compiler/stackir/StackCompiler.java b/src/main/java/org/shedlang/compiler/stackir/StackCompiler.java index 33d84149..2bd1229a 100644 --- a/src/main/java/org/shedlang/compiler/stackir/StackCompiler.java +++ b/src/main/java/org/shedlang/compiler/stackir/StackCompiler.java @@ -203,7 +203,7 @@ public class StackCompiler { )) .toList(); - context = compileBlockWithYield(node.body(), context); + context = compileBlockWithYield(node.body().block(), context); switch (node.body().behaviour()) { case TypedFunctionStatementBehaviour.BlockReturn blockReturn -> { @@ -221,7 +221,7 @@ public class StackCompiler { context = context.exitBlock(); var freeVariables = FreeVariables.builder(); - for (var shedFreeVariable : node.freeVariables()) { + for (var shedFreeVariable : node.body().freeVariables()) { var freeVariableLocalName = context.shedVariableToLocal(shedFreeVariable.name()); for (var freeVariableSource : shedFreeVariable.referenceSources()) { freeVariables = freeVariables.plus( |
