@@ -13986,8 +13986,9 @@ fn lowerAstErrors(astgen: *AstGen) !void {
13986
13986
const parse_err = tree.errors[0];
13987
13987
const tok = parse_err.token + @intFromBool(parse_err.token_is_prev);
13988
13988
const tok_start = token_starts[tok];
13989
+ const start_char = tree.source[tok_start];
13989
13990
13990
- if (token_tags[tok] == .invalid and (tree.source[tok_start] == '\\ ' or tree.source[tok_start] == '/')) {
13991
+ if (token_tags[tok] == .invalid and (start_char == '\"' or start_char == '\\ ' or start_char == '/')) {
13991
13992
const tok_len: u32 = @intCast(tree.tokenSlice(tok).len);
13992
13993
const tok_end = tok_start + tok_len;
13993
13994
const bad_off = blk: {
@@ -14001,28 +14002,14 @@ fn lowerAstErrors(astgen: *AstGen) !void {
14001
14002
break :blk idx - tok_start;
14002
14003
};
14003
14004
14004
- const byte_abs = tok_start + bad_off;
14005
- try notes.append(gpa, try astgen.errNoteTokOff(tok, bad_off, "invalid byte: '{'}'", .{
14006
- std.zig.fmtEscapes(tree.source[byte_abs..][0..1]),
14007
- }));
14008
- const expected_tag = switch (tree.source[tok_start]) {
14009
- '\\' => std.zig.Token.Tag.multiline_string_literal_line,
14010
- '/' => blk: {
14011
- if (std.mem.indexOf(u8, tree.source[tok_start..tok_end], "///")) |idx| {
14012
- if (idx == 0) break :blk std.zig.Token.Tag.doc_comment;
14013
- }
14014
- break :blk std.zig.Token.Tag.comment;
14015
- },
14016
- else => unreachable,
14017
- };
14018
14005
const err: Ast.Error = .{
14019
- .tag = Ast.Error.Tag.expected_token ,
14006
+ .tag = Ast.Error.Tag.invalid_byte ,
14020
14007
.token = tok,
14021
- .extra = .{ .expected_tag = expected_tag },
14008
+ .extra = .{ .offset = bad_off },
14022
14009
};
14023
14010
msg.clearRetainingCapacity();
14024
14011
try tree.renderError(err, msg.writer(gpa));
14025
- return try astgen.appendErrorTokNotes (tok, "{s}", .{msg.items}, notes.items);
14012
+ return try astgen.appendErrorTokNotesOff (tok, bad_off , "{s}", .{msg.items}, notes.items);
14026
14013
}
14027
14014
14028
14015
var cur_err = tree.errors[0];
0 commit comments