diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-11-02 23:01:34 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-11-02 23:01:34 +0000 |
| commit | 298700108a286fa7154e4a638017c9fbebf5c3ff (patch) | |
| tree | 808ae5ade747262fe4f1cb9d84f38663c978c058 /src/main/java/org/shedlang/compiler/parser | |
| parent | f3aea758bcab9bbf07cca29d9e705aa112d94bad (diff) | |
Parse return statements without expression
Diffstat (limited to 'src/main/java/org/shedlang/compiler/parser')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/parser/Parser.java | 4 |
1 files changed, 3 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 329a5283..272c66c0 100644 --- a/src/main/java/org/shedlang/compiler/parser/Parser.java +++ b/src/main/java/org/shedlang/compiler/parser/Parser.java @@ -413,7 +413,9 @@ public class Parser { tokens.skip(TokenType.KEYWORD_RETURN); - var expression = parseTopLevelExpression(tokens); + var expression = tokens.isNext(TokenType.SYMBOL_SEMICOLON) + ? Optional.<UntypedExpressionNode>empty() + : Optional.of(parseTopLevelExpression(tokens)); tokens.skip(TokenType.SYMBOL_SEMICOLON); |
