module volt.exceptions
Code Map
module volt.exceptions;
//! Base class for compiler exceptions.
class CompilerException : Exception
{
public:
loc: Location;
hasLocation: bool;
neverIgnore: bool;
more: CompilerError;
fixHint: string;
allocationLocation: string;
public:
this(message: string, more: CompilerError, neverIgnore: bool, file: string, line: const(i32)) { }
this(loc: const(Location), message: string, more: CompilerError, neverIgnore: bool, file: string, line: const(i32)) { }
protected:
fn errorFormat() string { }
fn locationFormat() string { }
}
//! Exception for compiler error messages arising from source code.
class CompilerError : CompilerException
{
public:
this(message: string, file: string, line: const(i32)) { }
this(message: string, more: CompilerError, file: string, line: const(i32)) { }
this(loc: const(Location), message: string, neverIgnore: bool, file: string, line: const(i32)) { }
this(loc: const(Location), message: string, file: string, line: const(i32)) { }
this(loc: const(Location), message: string, more: CompilerError, file: string, line: const(i32)) { }
this(loc: const(Location), message: string, more: CompilerError, neverIgnore: bool, file: string, line: const(i32)) { }
}
class MissingSemicolonError : CompilerError
{
public:
this(loc: Location, type: string, file: string, line: const(i32)) { }
}
class PairMismatchError : CompilerError
{
public:
this(pairStart: Location, loc: Location, type: string, token: string, file: string, line: const(i32)) { }
}
class ArgumentMismatchError : CompilerError
{
public:
enum unspecified;
public:
argNumber: ptrdiff_t;
public:
this(loc: const(Location), message: string, file: string, line: const(i32)) { }
this(loc: const(Location), message: string, argNumber: ptrdiff_t, file: string, line: const(i32)) { }
}
//! Aka Internal Compiler Error, aka ICE, aka CompilerPanic.
class CompilerPanic : CompilerException
{
public:
this(message: string, file: string, line: const(i32)) { }
this(loc: const(Location), message: string, file: string, line: const(i32)) { }
protected:
fn errorFormat() string { }
fn locationFormat() string { }
}
fn errorMessageOnly(loc: const(Location), message: string, file: string, line: const(i32)) { }
class CompilerException : Exception
Base class for compiler exceptions.
class CompilerError : CompilerException
Exception for compiler error messages arising from source code.
Is subclassed by more specialized error messages.
class CompilerPanic : CompilerException
Aka Internal Compiler Error, aka ICE, aka CompilerPanic.