Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
nix::EvalErrorBuilder< T > Class Template Reference

#include <eval-error.hh>

Public Member Functions

EvalErrorBuilder< T > & withExitStatus (unsigned int exitStatus)
 
EvalErrorBuilder< T > & atPos (PosIdx pos)
 
EvalErrorBuilder< T > & atPos (Value &value, PosIdx fallback=noPos)
 
EvalErrorBuilder< T > & withTrace (PosIdx pos, const std::string_view text)
 
EvalErrorBuilder< T > & withFrameTrace (PosIdx pos, const std::string_view text)
 
EvalErrorBuilder< T > & withSuggestions (Suggestions &s)
 
EvalErrorBuilder< T > & withFrame (const Env &e, const Expr &ex)
 
EvalErrorBuilder< T > & addTrace (PosIdx pos, HintFmt hint)
 
EvalErrorBuilder< T > & setIsFromExpr ()
 
template<typename... Args>
EvalErrorBuilder< T > & addTrace (PosIdx pos, std::string_view formatString, const Args &... formatArgs)
 
void debugThrow ()
 
void panic ()
 

Public Attributes

error
 

Friends

class EvalState
 

Detailed Description

template<class T>
class nix::EvalErrorBuilder< T >

EvalErrorBuilders may only be constructed by EvalState. The debugThrow method must be the final method in any such EvalErrorBuilder usage, and it handles deleting the object.

Member Function Documentation

◆ debugThrow()

template<class T>
void nix::EvalErrorBuilder< T >::debugThrow ( )

Delete the EvalErrorBuilder and throw the underlying exception.

◆ panic()

template<class T>
void nix::EvalErrorBuilder< T >::panic ( )

A programming error or fatal condition occurred. Abort the process for core dump and debugging. This does not print a proper backtrace, because unwinding the stack is destructive.

Friends And Related Symbol Documentation

◆ EvalState

template<class T>
friend class EvalState
friend

EvalErrorBuilders may only be constructed by EvalState. The debugThrow method must be the final method in any such EvalErrorBuilder usage, and it handles deleting the object.


The documentation for this class was generated from the following files: