From 8f6439fa6ba78f17a2c6fcc7f2be7eaa9082a728 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sat, 13 Mar 2021 23:17:56 +0000 Subject: [PATCH] Simplify `expect_semicolon_newline_error` rule --- src/parser.cpp | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/src/parser.cpp b/src/parser.cpp index d7706040e..3e2df2c55 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -1536,25 +1536,20 @@ bool is_semicolon_optional_for_node(AstFile *f, Ast *s) { } void expect_semicolon_newline_error(AstFile *f, Token const &token, Ast *s) { - if (build_context.strict_style) { - if (f->curr_proc != nullptr && token.string == "\n") { - switch (token.kind) { - case Token_CloseBrace: - case Token_CloseParen: - case Token_else: - case Token_EOF: - return; - } - if (s != nullptr) { - if (is_semicolon_optional_for_node(f, s)) { - return; - } - } - - Token tok = token; - tok.pos.column -= 1; - syntax_error(tok, "Expected ';', got newline"); + if (build_context.strict_style && token.string == "\n") { + switch (token.kind) { + case Token_CloseBrace: + case Token_CloseParen: + case Token_else: + return; } + if (is_semicolon_optional_for_node(f, s)) { + return; + } + + Token tok = token; + tok.pos.column -= 1; + syntax_error(tok, "Expected ';', got newline"); } }