diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Module.zig | 3 | ||||
| -rw-r--r-- | src/main.zig | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/Module.zig b/src/Module.zig index 3631e41f25..2cd01acd59 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -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(), }; diff --git a/src/main.zig b/src/main.zig index 75655d6a2a..12e9f88088 100644 --- a/src/main.zig +++ b/src/main.zig @@ -4040,13 +4040,14 @@ fn printErrMsgToStdErr( notes_len += 1; } + const extra_offset = tree.errorOffset(parse_error.tag, parse_error.token); const message: Compilation.AllErrors.Message = .{ .src = .{ .src_path = path, .msg = text, - .byte_offset = @intCast(u32, start_loc.line_start), + .byte_offset = @intCast(u32, start_loc.line_start) + extra_offset, .line = @intCast(u32, start_loc.line), - .column = @intCast(u32, start_loc.column), + .column = @intCast(u32, start_loc.column) + extra_offset, .source_line = source_line, .notes = notes_buffer[0..notes_len], }, |
