LLVM
10.0.0svn
|
Tagged union holding either a T or a Error. More...
#include "llvm/ObjectYAML/yaml2obj.h"
Public Types | |
using | storage_type = typename std::conditional< isRef, wrap, T >::type |
using | value_type = T |
Public Member Functions | |
Expected (Error Err) | |
Create an Expected<T> error value from the given Error. More... | |
Expected (ErrorSuccess)=delete | |
Forbid to convert from Error::success() implicitly, this avoids having Expected<T> foo() { return Error::success(); } which compiles otherwise but triggers the assertion above. More... | |
template<typename OtherT > | |
Expected (OtherT &&Val, typename std::enable_if< std::is_convertible< OtherT, T >::value >::type *=nullptr) | |
Create an Expected<T> success value from the given OtherT value, which must be convertible to T. More... | |
Expected (Expected &&Other) | |
Move construct an Expected<T> value. More... | |
template<class OtherT > | |
Expected (Expected< OtherT > &&Other, typename std::enable_if< std::is_convertible< OtherT, T >::value >::type *=nullptr) | |
Move construct an Expected<T> value from an Expected<OtherT>, where OtherT must be convertible to T. More... | |
template<class OtherT > | |
Expected (Expected< OtherT > &&Other, typename std::enable_if<!std::is_convertible< OtherT, T >::value >::type *=nullptr) | |
Move construct an Expected<T> value from an Expected<OtherT>, where OtherT isn't convertible to T. More... | |
Expected & | operator= (Expected &&Other) |
Move-assign from another Expected<T>. More... | |
~Expected () | |
Destroy an Expected<T>. More... | |
operator bool () | |
Return false if there is an error. More... | |
reference | get () |
Returns a reference to the stored T value. More... | |
const_reference | get () const |
Returns a const reference to the stored T value. More... | |
template<typename ErrT > | |
bool | errorIsA () const |
Check that this Expected<T> is an error of type ErrT. More... | |
Error | takeError () |
Take ownership of the stored error. More... | |
pointer | operator-> () |
Returns a pointer to the stored T value. More... | |
const_pointer | operator-> () const |
Returns a const pointer to the stored T value. More... | |
reference | operator* () |
Returns a reference to the stored T value. More... | |
const_reference | operator* () const |
Returns a const reference to the stored T value. More... | |
Friends | |
template<class T1 > | |
class | ExpectedAsOutParameter |
template<class OtherT > | |
class | Expected |
Tagged union holding either a T or a Error.
This class parallels ErrorOr, but replaces error_code with Error. Since Error cannot be copied, this class replaces getError() with takeError(). It also adds an bool errorIsA<ErrT>() method for testing the error class type.
Definition at line 21 of file yaml2obj.h.
using llvm::Expected< T >::storage_type = typename std::conditional<isRef, wrap, T>::type |
using llvm::Expected< T >::value_type = T |
|
inline |
|
delete |
Forbid to convert from Error::success() implicitly, this avoids having Expected<T> foo() { return Error::success(); } which compiles otherwise but triggers the assertion above.
|
inline |
|
inline |
|
inline |
|
inline |
Returns a reference to the stored T value.
Definition at line 532 of file Error.h.
Referenced by llvm::BitstreamCursor::advance(), llvm::BitstreamCursor::advanceSkippingSubblocks(), llvm::BitcodeAnalyzer::analyze(), copyAttributeNamespace(), llvm::object::createBinary(), decode(), llvm::BitstreamCursor::EnterSubBlock(), llvm::object::IRObjectFile::findBitcodeInMemBuffer(), llvm::MCJIT::findSymbol(), llvm::symbolize::LLVMSymbolizer::flush(), llvm::MCJIT::generateCodeForModule(), llvm::object::Archive::Child::getAsBinary(), llvm::getBitcodeFileContents(), llvm::object::Archive::Child::getBuffer(), getDbiStreamPtr(), llvm::object::Archive::Child::getFullName(), llvm::IndexedInstrProfReader::getFunctionCounts(), llvm::object::Archive::Child::getMemoryBufferRef(), llvm::object::ArchiveMemberHeader::getName(), llvm::object::Archive::Child::getName(), llvm::object::Archive::Child::getNext(), llvm::NewArchiveMember::getOldMember(), llvm::object::Archive::Child::getRawSize(), llvm::object::Archive::Child::getSize(), llvm::object::XCOFFObjectFile::getSymbolSection(), llvm::object::XCOFFObjectFile::getSymbolSectionName(), llvm::object::XCOFFSymbolRef::isFunction(), jumpToValueSymbolTable(), LLVMCreateBinary(), LLVMCreateObjectFile(), mergeAttributes(), mergeNamespaces(), printDwarfFileDirective(), llvm::BitcodeAnalyzer::printStats(), llvm::BitstreamCursor::ReadAbbrevRecord(), llvm::BitstreamCursor::readRecord(), readTriple(), llvm::SimpleBitstreamCursor::ReadVBR(), llvm::SimpleBitstreamCursor::ReadVBR64(), llvm::object::XCOFFObjectFile::relocations(), llvm::orc::OrcMCJITReplacement::setProcessAllSections(), llvm::BitstreamCursor::SkipBlock(), llvm::BitstreamCursor::skipRecord(), llvm::splitCodeGen(), llvm::object::SymbolicFile::SymbolicFile(), upgrade(), and llvm::MetadataLoader::MetadataLoaderImpl::upgradeDebugIntrinsics().
|
inline |
|
inlineexplicit |
|
inline |
|
inline |
Returns a const reference to the stored T value.
Definition at line 578 of file Error.h.
References assert(), llvm::dbgs(), LLVM_ATTRIBUTE_NOINLINE, LLVM_ATTRIBUTE_NORETURN, LLVM_UNLIKELY, llvm::ErrorInfoBase::log(), Other, and T1.
|
inline |
|
inline |
|
inline |
Move-assign from another Expected<T>.
Definition at line 509 of file Error.h.
References Other.
Referenced by llvm::MSVCPExpected< T >::operator=().
|
inline |
Take ownership of the stored error.
After calling this the Expected<T> is in an indeterminate state that can only be safely destructed. No further calls (beside the destructor) should be made on the Expected<T> value.
Definition at line 552 of file Error.h.
References llvm::Error, and llvm::Error::success().
Referenced by llvm::pdb::PDBFileBuilder::addInjectedSource(), llvm::pdb::PDBFileBuilder::addNamedStream(), llvm::BitstreamCursor::advance(), advanceToMetaBlock(), llvm::BitcodeAnalyzer::analyze(), llvm::object::ELFFile< ELFT >::android_relas(), llvm::lto::backend(), llvm::object::BindRebaseSegInfo::BindRebaseSegInfo(), llvm::cantFail(), llvm::FileCheckString::Check(), llvm::FileCheckString::CheckNot(), llvm::pdb::PDBFileBuilder::commit(), llvm::msf::MSFBuilder::commit(), computeMemberData(), llvm::RuntimeDyldImpl::computeSectionStubBufSize(), llvm::RuntimeDyldImpl::computeTotalAllocSize(), llvm::orc::rpc::detail::ResultTraits< RetT >::consumeAbandoned(), llvm::object::SectionRef::containsSymbol(), copyAttributeNamespace(), llvm::object::MinidumpFile::create(), llvm::GlobPattern::create(), llvm::symbolize::SymbolizableObjectFile::create(), llvm::MinidumpYAML::Stream::create(), llvm::object::IRObjectFile::create(), llvm::lto::InputFile::create(), llvm::object::createBinary(), llvm::remarks::createBitstreamParserFromMeta(), llvm::LTOModule::createInputFile(), llvm::mca::InstrBuilder::createInstruction(), createOnDiskBuffer(), llvm::remarks::createYAMLParserFromMeta(), decode(), llvm::DWARFContext::defaultErrorHandler(), llvm::FileCheckPatternContext::defineCmdlineVariables(), llvm::dlltoolDriverMain(), doImportingForModule(), llvm::coverage::CounterMappingContext::dump(), llvm::object::ELFFile< ELFT >::dynamicEntries(), llvm::RuntimeDyldImpl::emitSection(), llvm::BitstreamCursor::EnterSubBlock(), llvm::coverage::CounterMappingContext::evaluate(), llvm::expectedToErrorOrAndEmitErrors(), llvm::RuntimeDyldELF::finalizeLoad(), llvm::RuntimeDyldCOFFX86_64::finalizeLoad(), llvm::pdb::GSIStreamBuilder::finalizeMsfLayout(), llvm::RuntimeDyldMachOX86_64::finalizeSection(), llvm::RuntimeDyldMachOI386::finalizeSection(), llvm::RuntimeDyldMachOAArch64::finalizeSection(), llvm::object::IRObjectFile::findBitcodeInMemBuffer(), llvm::object::IRObjectFile::findBitcodeInObject(), llvm::pdb::TpiStream::findFullDeclForForwardRef(), llvm::MCJIT::findSymbol(), llvm::pdb::SymbolCache::findSymbolByTypeIndex(), llvm::symbolize::LLVMSymbolizer::flush(), forceRenaming(), llvm::DWARFDebugAranges::generate(), llvm::MCJIT::generateCodeForModule(), llvm::object::MachOUniversalBinary::getArchiveForArch(), llvm::object::Archive::Child::getAsBinary(), llvm::object::COFFObjectFile::getAuxSymbol(), llvm::getBitcodeFileContents(), llvm::getBitcodeLTOInfo(), llvm::getBitcodeProducerString(), llvm::getBitcodeTargetTriple(), llvm::object::Archive::Child::getBuffer(), llvm::object::SectionRef::getContents(), getDbiStreamPtr(), llvm::pdb::DbiStream::getECName(), llvm::object::getELFAddend(), llvm::MemoryBuffer::getFileAsStream(), getFileAux(), llvm::object::Archive::Child::getFullName(), llvm::IndexedInstrProfReader::getFunctionCounts(), llvm::gsym::GsymReader::getFunctionInfo(), llvm::getLazyBitcodeModule(), llvm::DWARFContext::getLineTableForUnit(), llvm::object::MachOUniversalBinary::getMachOObjectForArch(), getMemoryBufferForStream(), llvm::object::Archive::Child::getMemoryBufferRef(), llvm::object::MinidumpFile::getMemoryInfoList(), llvm::getModuleSummaryIndex(), llvm::object::ArchiveMemberHeader::getName(), llvm::object::Archive::Child::getName(), llvm::object::Archive::Child::getNext(), llvm::getOffset(), llvm::NewArchiveMember::getOldMember(), getOpenFileImpl(), llvm::LTOModule::getProducerString(), llvm::object::Archive::Child::getRawSize(), getReadWriteFile(), llvm::object::ELFObjectFile< ELFT >::getRelocatedSection(), llvm::FileCheckStringSubstitution::getResult(), llvm::FileCheckNumericSubstitution::getResult(), getSingleModule(), llvm::object::Archive::Child::getSize(), getSymbolInfo(), llvm::object::ELFObjectFile< ELFT >::getSymbolName(), llvm::object::XCOFFObjectFile::getSymbolSection(), llvm::object::XCOFFObjectFile::getSymbolSectionName(), llvm::object::MachOObjectFile::getSymbolType(), handleNonPrevailingComdat(), llvm::pdb::PDBFile::hasPDBInjectedSourceStream(), llvm::pdb::PDBFile::hasPDBStringTable(), llvm::isBitcodeContainingObjCCategory(), llvm::LTOModule::isBitcodeFile(), llvm::LTOModule::isBitcodeForTarget(), isBlock(), llvm::object::Decompressor::isCompressed(), llvm::object::ObjectFile::isSectionBitcode(), llvm::LTOModule::isThinLTO(), llvm::isThumbFunc(), jumpToValueSymbolTable(), llvm::jitlink::JITLinkerBase::linkPhase2(), LLVMCreateBinary(), LLVMCreateObjectFile(), LLVMGetSymbolAddress(), LLVMGetSymbolName(), LLVMMoveToContainingSection(), LLVMRemarkParserGetNext(), llvm::object::ResourceSectionRef::load(), llvm::xray::loadInstrumentationMap(), loadObj(), llvm::RuntimeDyldELF::loadObject(), llvm::xray::loadProfile(), llvm::xray::loadTraceFile(), llvm::lto::localCache(), lookupSection(), llvm::FileCheckPattern::match(), mergeAttributes(), mergeNamespaces(), llvm::remarks::YAMLRemarkParser::next(), llvm::object::MinidumpFile::MemoryInfoIterator::operator++(), llvm::parseBitcodeFile(), parseBitcodeFileImpl(), parseBlock(), llvm::remarks::BitstreamParserHelper::parseBlockInfoBlock(), parseHexOcta(), llvm::FileCheckPattern::parseNumericSubstitutionBlock(), parseRecord(), llvm::remarks::BitstreamRemarkParser::parseRemark(), llvm::remarks::YAMLRemarkParser::parseRemark(), parseV5DirFileTables(), pathHasTraversal(), popFront(), printDwarfFileDirective(), llvm::BitcodeAnalyzer::printStats(), llvm::FileCheckPattern::printSubstitutions(), llvm::object::ObjectFile::printSymbolName(), llvm::RuntimeDyldCOFFI386::processRelocationRef(), llvm::RuntimeDyldCOFFThumb::processRelocationRef(), llvm::RuntimeDyldELF::processRelocationRef(), llvm::RuntimeDyldCOFFX86_64::processRelocationRef(), llvm::BitstreamCursor::ReadAbbrevRecord(), llvm::object::readIRSymtab(), llvm::readModuleSummaryIndex(), llvm::BitstreamCursor::readRecord(), readTriple(), llvm::object::XCOFFObjectFile::relocations(), llvm::orc::RemoteObjectLayer< RPCEndpoint >::remoteToJITSymbol(), llvm::pdb::PDBFile::safelyCreateNamedStream(), llvm::orc::rpc::detail::RespondHelper< true >::sendResult(), llvm::orc::OrcMCJITReplacement::setProcessAllSections(), llvm::setupOptimizationRemarks(), llvm::BitstreamCursor::SkipBlock(), llvm::BitstreamCursor::skipRecord(), sumEdgeCount(), llvm::object::SymbolicFile::SymbolicFile(), llvm::symbolize::LLVMSymbolizer::symbolizeCode(), llvm::detail::TakeExpected(), llvm::lto::thinBackend(), upgrade(), llvm::MetadataLoader::MetadataLoaderImpl::upgradeDebugIntrinsics(), llvm::writeArchive(), and llvm::yaml::yaml2ObjectFile().
AlignedCharArrayUnion<error_type> llvm::Expected< T >::ErrorStorage |
AlignedCharArrayUnion<storage_type> llvm::Expected< T >::TStorage |