LLVM 20.0.0git
Public Member Functions | Static Public Attributes | Friends | List of all members
llvm::ErrorList Class Referencefinal

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

#include "llvm/Support/Error.h"

Inheritance diagram for llvm::ErrorList:
Inheritance graph
[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 void log (raw_ostream &OS) const =0
 Print an error message to an output stream.
 
virtual std::string message () const
 Return the error message as a string.
 
virtual std::error_code convertToErrorCode () const =0
 Convert this error to a std::error_code.
 
virtual const void * dynamicClassID () const =0
 
virtual bool isA (const void *const ClassID) const
 
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, Error)
 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 370 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 384 of file Error.h.

References OS.

Friends And Related Function Documentation

◆ 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 954 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 438 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 989 of file Error.h.

Member Data Documentation

◆ ID

char llvm::ErrorList::ID = 0
static

Definition at line 395 of file Error.h.


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