diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-07-28 21:45:24 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-07-28 21:45:24 +0100 |
| commit | e4772ab0d4466f3844091ad603938b24c442e75b (patch) | |
| tree | bedbf95a0b646b9f9f4b79a2f37cd52bda6ed466 /src/main/java | |
| parent | 30fd20f6afb6c3ad364497722387d17767e43ffd (diff) | |
Implement DeclaredVariables for new nodes
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/typechecker/DeclaredVariables.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main/java/org/shedlang/compiler/typechecker/DeclaredVariables.java b/src/main/java/org/shedlang/compiler/typechecker/DeclaredVariables.java index 5627d462..faa8f4e2 100644 --- a/src/main/java/org/shedlang/compiler/typechecker/DeclaredVariables.java +++ b/src/main/java/org/shedlang/compiler/typechecker/DeclaredVariables.java @@ -22,6 +22,9 @@ class DeclaredVariables { PVector<UntypedVariableDeclarationNode> variables ) { return switch (statement) { + case UntypedAssignNode assign -> + variables; + case UntypedBlockReturnNode blockReturn -> variables; @@ -33,6 +36,9 @@ class DeclaredVariables { case UntypedValNode val -> forVal(val, variables); + + case UntypedVarNode var -> + forVar(var, variables); }; } @@ -67,6 +73,13 @@ class DeclaredVariables { return forTarget(statement.target(), variables); } + static PVector<UntypedVariableDeclarationNode> forVar( + UntypedVarNode statement, + PVector<UntypedVariableDeclarationNode> variables + ) { + return forTarget(statement.target(), variables); + } + private static PVector<UntypedVariableDeclarationNode> forTarget( UntypedTargetNode target, PVector<UntypedVariableDeclarationNode> variables |
