21class EvalBaseError :
public Error
34 template<
typename...
Args>
36 : Error(formatString, formatArgs...)
49MakeError(ParseError, Error);
50MakeError(AssertionError, EvalError);
51MakeError(ThrownError, AssertionError);
52MakeError(Abort, EvalError);
53MakeError(TypeError, EvalError);
54MakeError(UndefinedVarError, EvalError);
55MakeError(MissingArgumentError, EvalError);
56MakeError(InfiniteRecursionError, EvalError);
58struct InvalidPathError :
public EvalError
63 : EvalError(state,
"path '%s' is not valid", path)
74class EvalErrorBuilder final
78 template<
typename...
Args>
80 : error(T(state,
args...))
105 template<
typename...
Args>
112 [[gnu::noinline, gnu::noreturn]]
void debugThrow();
118 [[gnu::noinline, gnu::noreturn]]
void panic();
Definition eval-error.hh:22
friend class EvalErrorBuilder
Definition eval-error.hh:24
Definition eval-error.hh:75
friend class EvalState
Definition eval-error.hh:76
void debugThrow()
Definition eval-error.cc:81
void panic()
Definition eval-error.cc:96
Definition suggestions.hh:26
This file defines two main structs/classes used in nix error handling.
bool addTrace
Definition lexer.l:7062
friend class EvalErrorBuilder
Definition lexer.l:5676
return s
Definition lexer.l:459
const T & value
Definition lexer.l:492
std::vector< Expr * > args
Definition lexer.l:6126
std::string Path
Definition types.hh:22