Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

dmd.errors

Functions for raising errors.
Authors:

Source errors.d

enum ErrorKind: int;
Constants used to discriminate kinds of error messages.
class ErrorSinkCompiler: dmd.errorsink.ErrorSink;
Error message sink for D compiler.
enum Classification: Color;
Color highlighting to classify messages
error
for errors
gagged
for gagged errors
warning
for warnings
deprecation
for deprecations
tip
for tip messages
nothrow void error(const ref Loc loc, const(char)* format, ...);
Print an error message, increasing the global error count.
Parameters:
Loc loc location of error
const(char)* format printf-style format specification
... printf-style variadic arguments
nothrow void error(const(char)* filename, uint linnum, uint charnum, const(char)* format, ...);
Same as above, but takes a filename and line information arguments as separate parameters.
Parameters:
const(char)* filename source file of error
uint linnum line in the source file
uint charnum column number on the line
const(char)* format printf-style format specification
... printf-style variadic arguments
nothrow void errorSupplemental(const ref Loc loc, const(char)* format, ...);
Print additional details about an error message. Doesn't increase the error count or print an additional error prefix.
Parameters:
Loc loc location of error
const(char)* format printf-style format specification
... printf-style variadic arguments
nothrow void warning(const ref Loc loc, const(char)* format, ...);
Print a warning message, increasing the global warning count.
Parameters:
Loc loc location of warning
const(char)* format printf-style format specification
... printf-style variadic arguments
nothrow void warningSupplemental(const ref Loc loc, const(char)* format, ...);
Print additional details about a warning message. Doesn't increase the warning count or print an additional warning prefix.
Parameters:
Loc loc location of warning
const(char)* format printf-style format specification
... printf-style variadic arguments
nothrow void deprecation(const ref Loc loc, const(char)* format, ...);
Print a deprecation message, may increase the global warning or error count depending on whether deprecations are ignored.
Parameters:
Loc loc location of deprecation
const(char)* format printf-style format specification
... printf-style variadic arguments
nothrow void deprecationSupplemental(const ref Loc loc, const(char)* format, ...);
Print additional details about a deprecation message. Doesn't increase the error count, or print an additional deprecation prefix.
Parameters:
Loc loc location of deprecation
const(char)* format printf-style format specification
... printf-style variadic arguments
nothrow void message(const ref Loc loc, const(char)* format, ...);
Print a verbose message. Doesn't prefix or highlight messages.
Parameters:
Loc loc location of message
const(char)* format printf-style format specification
... printf-style variadic arguments
nothrow void message(const(char)* format, ...);
Same as above, but doesn't take a location argument.
Parameters:
const(char)* format printf-style format specification
... printf-style variadic arguments
alias DiagnosticHandler = bool delegate(ref const(Loc) location, Color headerColor, const(char)* header, const(char)* messageFormat, __va_list_tag* args, const(char)* prefix1, const(char)* prefix2) nothrow;
The type of the diagnostic handler see verrorReport for arguments
Returns:
true if error handling is done, false to continue printing to stderr
DiagnosticHandler diagnosticHandler;
The diagnostic handler. If non-null it will be called for every diagnostic message issued by the compiler. If it returns false, the message will be printed to stderr as usual.
nothrow void tip(const(char)* format, ...);
Print a tip message with the prefix and highlighting.
Parameters:
const(char)* format printf-style format specification
... printf-style variadic arguments
nothrow void verrorReport(const ref Loc loc, const(char)* format, va_list ap, ErrorKind kind, const(char)* p1 = null, const(char)* p2 = null);
Implements error, warning, deprecation, message, and tip. Report a diagnostic error, taking a va_list parameter, and optionally additional message prefixes. Whether the message gets printed depends on runtime values of DiagnosticReporting and global gagging.
Parameters:
Loc loc location of error
const(char)* format printf-style format specification
va_list ap printf-style variadic arguments
ErrorKind kind kind of error being printed
const(char)* p1 additional message prefix
const(char)* p2 additional message prefix
nothrow void verrorReportSupplemental(const ref Loc loc, const(char)* format, va_list ap, ErrorKind kind);
Implements errorSupplemental, warningSupplemental, and deprecationSupplemental. Report an addition diagnostic error, taking a va_list parameter. Whether the message gets printed depends on runtime values of DiagnosticReporting and global gagging.
Parameters:
Loc loc location of error
const(char)* format printf-style format specification
va_list ap printf-style variadic arguments
ErrorKind kind kind of error being printed
alias FatalErrorHandler = bool delegate() nothrow;
The type of the fatal error handler
Returns:
true if error handling is done, false to do exit(EXIT_FAILURE)
FatalErrorHandler fatalErrorHandler;
The fatal error handler. If non-null it will be called for every fatal() call issued by the compiler.
nothrow void fatal();
Call this after printing out fatal error messages to clean up and exit the compiler. You can also set a fatalErrorHandler to override this behaviour.
nothrow @safe void halt();
Try to stop forgetting to remove the breakpoints from release builds.
enum HIGHLIGHT: ubyte;
Embed these highlighting commands in the text stream. HIGHLIGHT.Escape indicates a Color follows.