aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Gavin <danielgavin5@hotmail.com>2021-11-25 18:47:58 +0100
committerDaniel Gavin <danielgavin5@hotmail.com>2021-11-25 18:47:58 +0100
commita4ba91a55435febb0b5daeadcff2450f52680044 (patch)
tree9db279254c3a958eccfafc8be23e0be16321fbe5
parentcf390bf8b9f0652679a4ddc2ad66674e3793e3e7 (diff)
Check for non inserted semicolon in *expect_closing_brace_of_field_list*
-rw-r--r--core/odin/parser/parser.odin5
1 files changed, 4 insertions, 1 deletions
diff --git a/core/odin/parser/parser.odin b/core/odin/parser/parser.odin
index b4efc1460..1d27b4a79 100644
--- a/core/odin/parser/parser.odin
+++ b/core/odin/parser/parser.odin
@@ -419,7 +419,7 @@ expect_closing_brace_of_field_list :: proc(p: ^Parser) -> tokenizer.Token {
expect_brace := expect_token(p, .Close_Brace)
if expect_brace.kind != .Close_Brace {
- for p.curr_tok.kind != .Close_Brace && p.curr_tok.kind != .EOF {
+ for p.curr_tok.kind != .Close_Brace && p.curr_tok.kind != .EOF && !is_non_inserted_semicolon(p.curr_tok) {
advance_token(p)
}
return p.curr_tok
@@ -428,6 +428,9 @@ expect_closing_brace_of_field_list :: proc(p: ^Parser) -> tokenizer.Token {
return expect_brace
}
+is_non_inserted_semicolon :: proc(tok: tokenizer.Token) -> bool {
+ return tok.kind == .Semicolon && tok.text != "\n"
+}
is_blank_ident :: proc{
is_blank_ident_string,