LLVM 22.0.0git
llvm::ErrorInfoBase Class Referenceabstract

Base class for error info classes. More...

#include "llvm/Support/Error.h"

Inheritance diagram for llvm::ErrorInfoBase:
[legend]

Public Member Functions

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 Member Functions

static const void * classID ()

Detailed Description

Base class for error info classes.

Do not extend this directly: Extend the ErrorInfo template subclass instead.

Definition at line 44 of file Error.h.

Constructor & Destructor Documentation

◆ ~ErrorInfoBase()

virtual llvm::ErrorInfoBase::~ErrorInfoBase ( )
virtualdefault

Member Function Documentation

◆ classID()

const void * llvm::ErrorInfoBase::classID ( )
inlinestatic

Definition at line 66 of file Error.h.

Referenced by isA().

◆ convertToErrorCode()

virtual std::error_code llvm::ErrorInfoBase::convertToErrorCode ( ) const
pure virtual

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.

Implemented in DXNotSupportedError, llvm::BinaryStreamError, llvm::CGDataError, llvm::coverage::CoverageMapError, llvm::DWARFDebugNames::SentinelError, llvm::DWPError, llvm::ECError, llvm::ErrorDiagnostic, llvm::ErrorList, llvm::ErrorReported, llvm::FileError, llvm::hlsl::rootsig::GenericRSMetadataError, llvm::hlsl::rootsig::InvalidRSMetadataFormat, llvm::hlsl::rootsig::InvalidRSMetadataValue, llvm::hlsl::rootsig::RootSignatureValidationError< T >, llvm::InstrProfError, llvm::jitlink::JITLinkError, llvm::json::ParseError, llvm::LLVMRemarkSetupErrorInfo< ThisError >, llvm::LLVMRemarkSetupErrorInfo< LLVMRemarkSetupFileError >, llvm::LLVMRemarkSetupErrorInfo< LLVMRemarkSetupFormatError >, llvm::LLVMRemarkSetupErrorInfo< LLVMRemarkSetupPatternError >, llvm::lsp::LSPError, llvm::MachO::TextAPIError, llvm::mca::InstructionError< T >, llvm::mca::InstStreamPause, llvm::mca::RecycledInstErr, llvm::NotFoundError, llvm::orc::DuplicateDefinition, llvm::orc::FailedToMaterialize, llvm::orc::JITSymbolNotFound, llvm::orc::MissingSymbolDefinitions, llvm::orc::ResourceTrackerDefunct, llvm::orc::SymbolsCouldNotBeRemoved, llvm::orc::SymbolsNotFound, llvm::orc::UnexpectedSymbolDefinitions, llvm::orc::UnsatisfiedSymbolDependencies, llvm::OverflowError, llvm::remarks::EndOfFileError, llvm::remarks::YAMLParseError, llvm::ResolverError, llvm::RuntimeDyldError, llvm::StringError, llvm::SymbolRemappingParseError, and llvm::UndefVarError.

Referenced by llvm::errorToErrorCodeAndEmitErrors(), and llvm::LLVMRemarkSetupErrorInfo< ThisError >::LLVMRemarkSetupErrorInfo().

◆ dynamicClassID()

virtual const void * llvm::ErrorInfoBase::dynamicClassID ( ) const
pure virtual

Implemented in llvm::ErrorInfo< ThisErrT, ParentErrT >, llvm::ErrorInfo< BinaryError, ECError >, llvm::ErrorInfo< BinaryStreamError >, llvm::ErrorInfo< CGDataError >, llvm::ErrorInfo< CodeViewError, StringError >, llvm::ErrorInfo< CoverageMapError >, llvm::ErrorInfo< DIAError, StringError >, llvm::ErrorInfo< DuplicateDefinition >, llvm::ErrorInfo< DWPError >, llvm::ErrorInfo< DXNotSupportedError >, llvm::ErrorInfo< ECError >, llvm::ErrorInfo< EndOfFileError >, llvm::ErrorInfo< ErrorDiagnostic >, llvm::ErrorInfo< ErrorList >, llvm::ErrorInfo< ErrorReported >, llvm::ErrorInfo< FailedToMaterialize >, llvm::ErrorInfo< FileError >, llvm::ErrorInfo< GenericRSMetadataError >, llvm::ErrorInfo< HTTPServerError, ECError >, llvm::ErrorInfo< InstrProfError >, llvm::ErrorInfo< InstructionError< T > >, llvm::ErrorInfo< InstStreamPause >, llvm::ErrorInfo< InvalidRSMetadataFormat >, llvm::ErrorInfo< InvalidRSMetadataValue >, llvm::ErrorInfo< JITLinkError >, llvm::ErrorInfo< JITSymbolNotFound >, llvm::ErrorInfo< LLVMRemarkSetupFileError >, llvm::ErrorInfo< LLVMRemarkSetupFormatError >, llvm::ErrorInfo< LLVMRemarkSetupPatternError >, llvm::ErrorInfo< LSPError >, llvm::ErrorInfo< MissingSymbolDefinitions >, llvm::ErrorInfo< MSFError, StringError >, llvm::ErrorInfo< NotFoundError >, llvm::ErrorInfo< OutputError, ECError >, llvm::ErrorInfo< OverflowError >, llvm::ErrorInfo< ParseError >, llvm::ErrorInfo< PDBError, StringError >, llvm::ErrorInfo< RawError, StringError >, llvm::ErrorInfo< RecycledInstErr >, llvm::ErrorInfo< ResolverError >, llvm::ErrorInfo< ResourceTrackerDefunct >, llvm::ErrorInfo< RootSignatureValidationError< T > >, llvm::ErrorInfo< RuntimeDyldError >, llvm::ErrorInfo< SentinelError >, llvm::ErrorInfo< StringError >, llvm::ErrorInfo< SymbolRemappingParseError >, llvm::ErrorInfo< SymbolsCouldNotBeRemoved >, llvm::ErrorInfo< SymbolsNotFound >, llvm::ErrorInfo< TextAPIError >, llvm::ErrorInfo< ThisError >, llvm::ErrorInfo< UndefVarError >, llvm::ErrorInfo< UnexpectedSymbolDefinitions >, llvm::ErrorInfo< UnsatisfiedSymbolDependencies >, llvm::ErrorInfo< WindowsManifestError, ECError >, and llvm::ErrorInfo< YAMLParseError >.

◆ isA() [1/2]

template<typename ErrorInfoT>
bool llvm::ErrorInfoBase::isA ( ) const
inline

Definition at line 78 of file Error.h.

References isA().

◆ isA() [2/2]

virtual bool llvm::ErrorInfoBase::isA ( const void *const ClassID) const
inlinevirtual

Reimplemented in llvm::ErrorInfo< ThisErrT, ParentErrT >, llvm::ErrorInfo< BinaryError, ECError >, llvm::ErrorInfo< BinaryStreamError >, llvm::ErrorInfo< CGDataError >, llvm::ErrorInfo< CodeViewError, StringError >, llvm::ErrorInfo< CoverageMapError >, llvm::ErrorInfo< DIAError, StringError >, llvm::ErrorInfo< DuplicateDefinition >, llvm::ErrorInfo< DWPError >, llvm::ErrorInfo< DXNotSupportedError >, llvm::ErrorInfo< ECError >, llvm::ErrorInfo< EndOfFileError >, llvm::ErrorInfo< ErrorDiagnostic >, llvm::ErrorInfo< ErrorList >, llvm::ErrorInfo< ErrorReported >, llvm::ErrorInfo< FailedToMaterialize >, llvm::ErrorInfo< FileError >, llvm::ErrorInfo< GenericRSMetadataError >, llvm::ErrorInfo< HTTPServerError, ECError >, llvm::ErrorInfo< InstrProfError >, llvm::ErrorInfo< InstructionError< T > >, llvm::ErrorInfo< InstStreamPause >, llvm::ErrorInfo< InvalidRSMetadataFormat >, llvm::ErrorInfo< InvalidRSMetadataValue >, llvm::ErrorInfo< JITLinkError >, llvm::ErrorInfo< JITSymbolNotFound >, llvm::ErrorInfo< LLVMRemarkSetupFileError >, llvm::ErrorInfo< LLVMRemarkSetupFormatError >, llvm::ErrorInfo< LLVMRemarkSetupPatternError >, llvm::ErrorInfo< LSPError >, llvm::ErrorInfo< MissingSymbolDefinitions >, llvm::ErrorInfo< MSFError, StringError >, llvm::ErrorInfo< NotFoundError >, llvm::ErrorInfo< OutputError, ECError >, llvm::ErrorInfo< OverflowError >, llvm::ErrorInfo< ParseError >, llvm::ErrorInfo< PDBError, StringError >, llvm::ErrorInfo< RawError, StringError >, llvm::ErrorInfo< RecycledInstErr >, llvm::ErrorInfo< ResolverError >, llvm::ErrorInfo< ResourceTrackerDefunct >, llvm::ErrorInfo< RootSignatureValidationError< T > >, llvm::ErrorInfo< RuntimeDyldError >, llvm::ErrorInfo< SentinelError >, llvm::ErrorInfo< StringError >, llvm::ErrorInfo< SymbolRemappingParseError >, llvm::ErrorInfo< SymbolsCouldNotBeRemoved >, llvm::ErrorInfo< SymbolsNotFound >, llvm::ErrorInfo< TextAPIError >, llvm::ErrorInfo< ThisError >, llvm::ErrorInfo< UndefVarError >, llvm::ErrorInfo< UnexpectedSymbolDefinitions >, llvm::ErrorInfo< UnsatisfiedSymbolDependencies >, llvm::ErrorInfo< WindowsManifestError, ECError >, and llvm::ErrorInfo< YAMLParseError >.

Definition at line 73 of file Error.h.

References classID().

Referenced by isA().

◆ log()

virtual void llvm::ErrorInfoBase::log ( raw_ostream & OS) const
pure virtual

Print an error message to an output stream.

Implemented in DXNotSupportedError, llvm::BinaryStreamError, llvm::CGDataError, llvm::coverage::CoverageMapError, llvm::DWARFDebugNames::SentinelError, llvm::DWPError, llvm::ECError, llvm::ErrorDiagnostic, llvm::ErrorList, llvm::ErrorReported, llvm::FileError, llvm::hlsl::rootsig::GenericRSMetadataError, llvm::hlsl::rootsig::InvalidRSMetadataFormat, llvm::hlsl::rootsig::InvalidRSMetadataValue, llvm::hlsl::rootsig::RootSignatureValidationError< T >, llvm::HTTPServerError, llvm::InstrProfError, llvm::jitlink::JITLinkError, llvm::json::ParseError, llvm::LLVMRemarkSetupErrorInfo< ThisError >, llvm::LLVMRemarkSetupErrorInfo< LLVMRemarkSetupFileError >, llvm::LLVMRemarkSetupErrorInfo< LLVMRemarkSetupFormatError >, llvm::LLVMRemarkSetupErrorInfo< LLVMRemarkSetupPatternError >, llvm::lsp::LSPError, llvm::MachO::TextAPIError, llvm::mca::InstructionError< T >, llvm::mca::InstStreamPause, llvm::mca::RecycledInstErr, llvm::NotFoundError, llvm::orc::DuplicateDefinition, llvm::orc::FailedToMaterialize, llvm::orc::JITSymbolNotFound, llvm::orc::MissingSymbolDefinitions, llvm::orc::ResourceTrackerDefunct, llvm::orc::SymbolsCouldNotBeRemoved, llvm::orc::SymbolsNotFound, llvm::orc::UnexpectedSymbolDefinitions, llvm::orc::UnsatisfiedSymbolDependencies, llvm::OverflowError, llvm::remarks::EndOfFileError, llvm::remarks::YAMLParseError, llvm::ResolverError, llvm::RuntimeDyldError, llvm::StringError, llvm::SymbolRemappingParseError, llvm::UndefVarError, llvm::vfs::OutputError, and llvm::windows_manifest::WindowsManifestError.

Referenced by message().

◆ message()


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