LLVM 22.0.0git
llvm::ErrorList Class Referencefinal

Special ErrorInfo subclass representing a list of ErrorInfos. More...

#include "llvm/Support/Error.h"

Inheritance diagram for llvm::ErrorList:
[legend]

Public Member Functions

void log (raw_ostream &OS) const override
 Print an error message to an output stream.
std::error_code convertToErrorCode () const override
 Convert this error to a std::error_code.
Public Member Functions inherited from llvm::ErrorInfo< ErrorList >
const void * dynamicClassID () const override
bool isA (const void *const ClassID) const override
Public Member Functions inherited from llvm::ErrorInfoBase
virtual ~ErrorInfoBase ()=default
virtual std::string message () const
 Return the error message as a string.
template<typename ErrorInfoT>
bool isA () const

Static Public Attributes

static char ID = 0

Friends

template<typename... HandlerTs>
Error handleErrors (Error E, HandlerTs &&... Handlers)
 Pass the ErrorInfo(s) contained in E to their respective handlers.
template<typename HandlerT>
void visitErrors (const Error &E, HandlerT H)
 Visit all the ErrorInfo(s) contained in E by passing them to the respective handler, without consuming the error.
Error joinErrors (Error E1, Error E2)
 Concatenate errors.

Additional Inherited Members

Static Public Member Functions inherited from llvm::ErrorInfo< ErrorList >
static const void * classID ()
Static Public Member Functions inherited from llvm::ErrorInfoBase
static const void * classID ()

Detailed Description

Special ErrorInfo subclass representing a list of ErrorInfos.

Instances of this class are constructed by joinError.

Definition at line 369 of file Error.h.

Member Function Documentation

◆ convertToErrorCode()

std::error_code llvm::ErrorList::convertToErrorCode ( ) const
overridevirtual

Convert this error to a std::error_code.

This is a temporary crutch to enable interaction with code still using std::error_code. It will be removed in the future.

Implements llvm::ErrorInfoBase.

Definition at line 93 of file Error.cpp.

◆ log()

void llvm::ErrorList::log ( raw_ostream & OS) const
inlineoverridevirtual

Print an error message to an output stream.

Implements llvm::ErrorInfoBase.

Definition at line 383 of file Error.h.

◆ handleErrors

template<typename... HandlerTs>
Error handleErrors ( Error E,
HandlerTs &&... Handlers )
friend

Pass the ErrorInfo(s) contained in E to their respective handlers.

Any unhandled errors (or Errors returned by handlers) are re-concatenated and returned. Because this function returns an error, its result must also be checked or returned. If you intend to handle all errors use handleAllErrors (which returns void, and will abort() on unhandled errors) instead.

Definition at line 967 of file Error.h.

◆ joinErrors

Error joinErrors ( Error E1,
Error E2 )
friend

Concatenate errors.

The resulting Error is unchecked, and contains the ErrorInfo(s), if any, contained in E1, followed by the ErrorInfo(s), if any, contained in E2.

Definition at line 442 of file Error.h.

◆ visitErrors

template<typename HandlerT>
void visitErrors ( const Error & E,
HandlerT H )
friend

Visit all the ErrorInfo(s) contained in E by passing them to the respective handler, without consuming the error.

Definition at line 1002 of file Error.h.

Member Data Documentation

◆ ID

char llvm::ErrorList::ID = 0
static

Definition at line 394 of file Error.h.


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