authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-02-13 14:21:53+02:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-02-13 14:21:53+02:00
log0699b29ce0c5d264bf39c5f88fa6025b61ca6303
treeb636c8636c199330d77f62122d2f7d9d74d1b50c
parent8a432436aedd8b10bb837965efe630ce58f89a0b

parser: give better errors for misplaced `.{`


2 files changed, 5 insertions(+), 1 deletions(-)

lib/std/zig/Ast.zig+1-1
......@@ -66,7 +66,7 @@ pub fn renderToArrayList(tree: Ast, buffer: *std.ArrayList(u8)) RenderError!void
6666
6767/// Returns an extra offset for column and byte offset of errors that
6868/// should point after the token in the error message.
69pub fn errorOffset(tree:Ast, error_tag: Error.Tag, token: TokenIndex) u32 {
69pub fn errorOffset(tree: Ast, error_tag: Error.Tag, token: TokenIndex) u32 {
7070 return switch (error_tag) {
7171 .expected_semi_after_decl,
7272 .expected_semi_after_stmt,
lib/std/zig/parse.zig+4
......@@ -3229,6 +3229,10 @@ const Parser = struct {
32293229 .rhs = p.nextToken(),
32303230 },
32313231 }),
3232 .l_brace => {
3233 // this a misplaced `.{`, handle the error somewhere else
3234 return null_node;
3235 },
32323236 else => {
32333237 p.tok_i += 1;
32343238 try p.warn(.expected_suffix_op);