tiny.pluck.toplevel.diagnostics
Defined in toplevel.
API (4)
Actions
Public operations.
Source
Source: lib/pluck/src/toplevel/diagnostics.zig
zig
const context_owner = @import("context.zig");const ToplevelContext = context_owner.ToplevelContext;const top_types = @import("types.zig");const ToplevelError = top_types.ToplevelError;const SourceSpan = top_types.SourceSpan;pub fn formatParseError(self: *const ToplevelContext, writer: anytype) !void { if (self.last_error_span) |span| { try writer.print("parse error at {d}:{d}\n", .{ span.start.line + 1, span.start.column + 1 }); return; } try writer.print("parse error\n", .{});}pub fn formatError(self: *const ToplevelContext, writer: anytype) !void { try formatParseError(self, writer);}pub fn lastErrorSpan(self: *const ToplevelContext) ?SourceSpan { return self.last_error_span;}pub fn formatToplevelError(self: *const ToplevelContext, err: anyerror, writer: anytype) !void { if (err == ToplevelError.ParseError) { try formatError(self, writer); return; } if (err == ToplevelError.InvalidToplevelForm) { try writer.print("invalid top-level form\n", .{}); return; } if (err == ToplevelError.InvalidDefineForm) { try writer.print("invalid define form\n", .{}); return; } if (err == ToplevelError.InvalidDefineTypeForm) { try writer.print("invalid type definition form\n", .{}); return; } if (err == ToplevelError.InvalidQueryForm) { try writer.print("invalid query form\n", .{}); return; } if (err == ToplevelError.UndefinedReference) { try writer.print("undefined reference\n", .{}); return; } if (err == ToplevelError.UnrecognizedQueryConstructor) { if (self.last_query_constructor_typo) |info| { try writer.print( "unrecognized query constructor '{s}' (did you mean '{s}'?)\n", .{ info.got, info.suggestion }, ); } else { try writer.print("unrecognized query constructor\n", .{}); } return; } if (err == ToplevelError.QueryConstructorNotImplemented) { try writer.print("query constructor is not implemented\n", .{}); return; } if (err == ToplevelError.InvalidQueryConstructorArgs) { try writer.print("invalid query constructor arguments\n", .{}); return; } if (err == ToplevelError.QueryFailed) { try writer.print("query failed\n", .{}); return; } if (err == ToplevelError.FileNotFound) { try writer.print("file not found\n", .{}); return; } if (err == ToplevelError.IoError) { try writer.print("I/O error\n", .{}); return; } if (err == ToplevelError.StdlibLoadFailed) { try writer.print("internal error: failed to load standard library\n", .{}); return; } if (err == ToplevelError.OutOfMemory or err == error.OutOfMemory) { try writer.print("out of memory\n", .{}); return; } try writer.print("error: {s}\n", .{@errorName(err)});}Source: lib/pluck/src/toplevel/root.zig:12
zig
pub const diagnostics = @import("diagnostics.zig");Audit
| Definitions | 5 |
|---|---|
| Public names | 5 |
| Members | 0 |
| Version | 26.7.0 |
| Revision | daab053ee433 |