Merge pull request #10879 from Vexu/err

make some errors point to the end of the previous token
This commit is contained in:
Andrew Kelley
2022-02-13 16:15:00 -05:00
committed by GitHub
6 changed files with 137 additions and 81 deletions

View File

@@ -2995,13 +2995,14 @@ pub fn astGenFile(mod: *Module, file: *File) !void {
const token_starts = file.tree.tokens.items(.start);
const token_tags = file.tree.tokens.items(.tag);
const extra_offset = file.tree.errorOffset(parse_err.tag, parse_err.token);
try file.tree.renderError(parse_err, msg.writer());
const err_msg = try gpa.create(ErrorMsg);
err_msg.* = .{
.src_loc = .{
.file_scope = file,
.parent_decl_node = 0,
.lazy = .{ .byte_abs = token_starts[parse_err.token] },
.lazy = .{ .byte_abs = token_starts[parse_err.token] + extra_offset },
},
.msg = msg.toOwnedSlice(),
};