aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Module.zig3
-rw-r--r--src/main.zig5
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],
},