mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-04-27 19:09:47 +03:00
update compiler
This commit is contained in:
@@ -433,14 +433,18 @@ fn parse(file_name: []const u8, source: []u8) Oom!Ast {
|
||||
defer ast.deinit(gpa);
|
||||
|
||||
const token_offsets = ast.tokens.items(.start);
|
||||
var rendered_err: std.ArrayListUnmanaged(u8) = .{};
|
||||
defer rendered_err.deinit(gpa);
|
||||
var rendered_err: std.Io.Writer.Allocating = .init(gpa);
|
||||
defer rendered_err.deinit();
|
||||
for (ast.errors) |err| {
|
||||
const err_offset = token_offsets[err.token] + ast.errorOffset(err);
|
||||
const err_loc = std.zig.findLineColumn(ast.source, err_offset);
|
||||
rendered_err.clearRetainingCapacity();
|
||||
try ast.renderError(err, rendered_err.writer(gpa));
|
||||
log.err("{s}:{d}:{d}: {s}", .{ file_name, err_loc.line + 1, err_loc.column + 1, rendered_err.items });
|
||||
ast.renderError(err, &rendered_err.writer) catch |e| switch (e) {
|
||||
error.WriteFailed => return error.OutOfMemory,
|
||||
};
|
||||
log.err("{s}:{d}:{d}: {s}", .{
|
||||
file_name, err_loc.line + 1, err_loc.column + 1, rendered_err.getWritten(),
|
||||
});
|
||||
}
|
||||
return Ast.parse(gpa, "", .zig);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user