diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-07 20:09:18 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-07 20:09:18 +0100 |
| commit | e4790b25e567aeaef20f29d1a6174413bc8ea0f0 (patch) | |
| tree | b5bd25ee79a42f7e76070bab6a489f92ceb086a2 /src/main/java | |
| parent | c7d528851c816f59740b83fa93d99ee857695d59 (diff) | |
Parse body of functions
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/parser/Parser.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/org/shedlang/compiler/parser/Parser.java b/src/main/java/org/shedlang/compiler/parser/Parser.java index 1972163a..384cd694 100644 --- a/src/main/java/org/shedlang/compiler/parser/Parser.java +++ b/src/main/java/org/shedlang/compiler/parser/Parser.java @@ -102,7 +102,11 @@ public class Parser { var returnType = parseTopLevelTypeLevelExpression(tokens); tokens.skip(TokenType.SYMBOL_BRACE_OPEN); - var body = List.<UntypedFunctionStatementNode>of(); + var body = parseMany( + () -> tokens.isNext(TokenType.SYMBOL_BRACE_CLOSE), + () -> parseFunctionStatement(tokens), + () -> true + ); tokens.skip(TokenType.SYMBOL_BRACE_CLOSE); var end = tokens.position(); |
