diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2021-07-02 12:33:05 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2021-07-02 13:28:31 -0700 |
| commit | c5c23db6278332044c0606d78419000b68185e0c (patch) | |
| tree | e0534dd3eaf43d5dd776eb1120ca364810546283 /src/Module.zig | |
| parent | 7a2e0d98109d39f06400dfbc03c12695557100c6 (diff) | |
| download | zig-c5c23db6278332044c0606d78419000b68185e0c.tar.gz zig-c5c23db6278332044c0606d78419000b68185e0c.zip | |
tokenizer: clean up invalid token error
It now displays the byte with proper printability handling. This makes
the relevant compile error test case no longer a regression in quality
from stage1 to stage2.
Diffstat (limited to 'src/Module.zig')
| -rw-r--r-- | src/Module.zig | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/Module.zig b/src/Module.zig index 2e421ea65b..4b82a6df07 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -2480,11 +2480,12 @@ pub fn astGenFile(mod: *Module, file: *Scope.File) !void { }; if (token_tags[parse_err.token] == .invalid) { const bad_off = @intCast(u32, file.tree.tokenSlice(parse_err.token).len); + const byte_abs = token_starts[parse_err.token] + bad_off; try mod.errNoteNonLazy(.{ .file_scope = file, .parent_decl_node = 0, - .lazy = .{ .byte_abs = token_starts[parse_err.token] + bad_off }, - }, err_msg, "invalid byte here", .{}); + .lazy = .{ .byte_abs = byte_abs }, + }, err_msg, "invalid byte: '{'}'", .{ std.zig.fmtEscapes(source[byte_abs..][0..1]) }); } { |
