LLVM 18.0.0git
|
#include "llvm/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.h"
Public Attributes | |
LVElement * | CurrentElement = nullptr |
LVScope * | CurrentScope = nullptr |
LVSymbol * | CurrentSymbol = nullptr |
LVType * | CurrentType = nullptr |
Definition at line 233 of file LVCodeViewVisitor.h.
LVLogicalVisitor::LVLogicalVisitor | ( | LVCodeViewReader * | Reader, |
ScopedPrinter & | W, | ||
llvm::pdb::InputFile & | Input | ||
) |
Definition at line 1739 of file LVCodeViewVisitor.cpp.
Definition at line 2962 of file LVCodeViewVisitor.cpp.
References llvm::logicalview::LVScope::addElement(), llvm::logicalview::IsCompileUnit, popScope(), and pushScope().
Referenced by visitKnownMember(), and llvm::logicalview::LVSymbolVisitor::visitSymbolBegin().
void LVLogicalVisitor::addElement | ( | LVSymbol * | Symbol | ) |
Definition at line 2977 of file LVCodeViewVisitor.cpp.
References llvm::logicalview::LVScope::addElement().
void LVLogicalVisitor::addElement | ( | LVType * | Type | ) |
Definition at line 2981 of file LVCodeViewVisitor.cpp.
References llvm::logicalview::LVScope::addElement().
|
inline |
Definition at line 303 of file LVCodeViewVisitor.h.
References llvm::logicalview::Filename.
|
inline |
Definition at line 332 of file LVCodeViewVisitor.h.
References popScope().
LVElement * LVLogicalVisitor::createElement | ( | SymbolKind | Kind | ) |
Definition at line 3070 of file LVCodeViewVisitor.cpp.
References CurrentScope, CurrentSymbol, CurrentType, llvm::logicalview::LVReader::setCompileUnit(), and llvm::logicalview::LVObject::setTag().
LVElement * LVLogicalVisitor::createElement | ( | TypeIndex | TI, |
TypeLeafKind | Kind | ||
) |
Definition at line 3137 of file LVCodeViewVisitor.cpp.
References createElement(), llvm::codeview::TypeIndex::FirstNonSimpleIndex, llvm::pdb::formatTypeLeafKind(), llvm::codeview::TypeIndex::getIndex(), llvm::ScopedPrinter::printString(), printTypeIndex(), llvm::logicalview::LVObject::setOffset(), and llvm::pdb::StreamTPI.
LVElement * LVLogicalVisitor::createElement | ( | TypeLeafKind | Kind | ) |
Definition at line 2985 of file LVCodeViewVisitor.cpp.
References CurrentScope, CurrentSymbol, CurrentType, llvm::codeview::TypeIndex::FirstNonSimpleIndex, llvm::logicalview::options(), llvm::logicalview::LVElement::setName(), and llvm::logicalview::LVObject::setTag().
Referenced by createElement(), visitKnownMember(), and llvm::logicalview::LVSymbolVisitor::visitSymbolBegin().
Definition at line 2916 of file LVCodeViewVisitor.cpp.
References llvm::Error::success(), and visitUnknownType().
Referenced by getElement(), visitKnownMember(), llvm::logicalview::LVSymbolVisitor::visitKnownRecord(), and visitKnownRecord().
|
inline |
Definition at line 344 of file LVCodeViewVisitor.h.
LVElement * LVLogicalVisitor::getElement | ( | uint32_t | StreamIdx, |
TypeIndex | TI, | ||
LVScope * | Parent = nullptr |
||
) |
Definition at line 3322 of file LVCodeViewVisitor.cpp.
References llvm::logicalview::LVScope::addElement(), llvm::consumeError(), finishVisitation(), llvm::codeview::TypeIndex::getIndex(), llvm::codeview::TypeIndex::isNoneType(), llvm::codeview::TypeIndex::isSimple(), LLVM_DEBUG, llvm::ScopedPrinter::printHex(), printTypeIndex(), llvm::codeview::TypeIndex::simpleTypeName(), llvm::pdb::StreamTPI, and llvm::logicalview::Types.
Referenced by visitKnownMember(), llvm::logicalview::LVSymbolVisitor::visitKnownRecord(), and visitKnownRecord().
|
inline |
Definition at line 353 of file LVCodeViewVisitor.h.
Referenced by llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
|
inline |
Definition at line 351 of file LVCodeViewVisitor.h.
Error LVLogicalVisitor::inlineSiteAnnotation | ( | LVScope * | AbstractFunction, |
LVScope * | InlinedFunction, | ||
InlineSiteSym & | InlineSite | ||
) |
Definition at line 3429 of file LVCodeViewVisitor.cpp.
References llvm::logicalview::LVBinaryReader::addInlineeLines(), llvm::logicalview::LVScope::addObject(), llvm::codeview::CodeOffset, llvm::dbgs(), llvm::logicalview::Filename, llvm::fmt_align(), llvm::formatv(), llvm::logicalview::LVElement::getName(), llvm::logicalview::LVObject::getParentScope(), llvm::logicalview::LVScope::getRanges(), llvm::logicalview::hexValue(), llvm::codeview::InlineeLines, llvm::Left, LLVM_DEBUG, llvm::logicalview::Locations, llvm::logicalview::Offset, llvm::logicalview::options(), llvm::logicalview::LVObject::setLineNumber(), and llvm::Error::success().
Referenced by llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
|
inline |
Definition at line 327 of file LVCodeViewVisitor.h.
Referenced by addElement(), closeScope(), and llvm::logicalview::LVSymbolVisitor::visitSymbolEnd().
void llvm::logicalview::LVLogicalVisitor::printMemberAttributes | ( | MemberAccess | Access, |
MethodKind | Kind, | ||
MethodOptions | Options | ||
) |
void llvm::logicalview::LVLogicalVisitor::printMemberAttributes | ( | MemberAttributes | Attrs | ) |
void LVLogicalVisitor::printMemberBegin | ( | CVMemberRecord & | Record, |
TypeIndex | TI, | ||
LVElement * | Element, | ||
uint32_t | StreamIdx | ||
) |
Definition at line 1771 of file LVCodeViewVisitor.cpp.
References llvm::pdb::formatTypeLeafKind(), llvm::codeview::TypeIndex::getIndex(), llvm::logicalview::LVElement::getName(), llvm::logicalview::LVObject::getOffset(), llvm::ScopedPrinter::getOStream(), llvm::ScopedPrinter::indent(), llvm::logicalview::LeafTypeNames, llvm::ScopedPrinter::printEnum(), printTypeIndex(), and llvm::ScopedPrinter::startLine().
Referenced by visitKnownMember().
void LVLogicalVisitor::printMemberEnd | ( | CVMemberRecord & | Record | ) |
Definition at line 1785 of file LVCodeViewVisitor.cpp.
References llvm::ScopedPrinter::startLine(), and llvm::ScopedPrinter::unindent().
Referenced by visitKnownMember().
void LVLogicalVisitor::printRecords | ( | raw_ostream & | OS | ) | const |
Definition at line 3399 of file LVCodeViewVisitor.cpp.
References llvm::format(), llvm::pdb::formatTypeLeafKind(), llvm::logicalview::LVCodeViewReader::getSymbolKindName(), llvm::logicalview::Name, llvm::logicalview::options(), and OS.
void LVLogicalVisitor::printTypeBegin | ( | CVType & | Record, |
TypeIndex | TI, | ||
LVElement * | Element, | ||
uint32_t | StreamIdx | ||
) |
Definition at line 1753 of file LVCodeViewVisitor.cpp.
References llvm::pdb::formatTypeLeafKind(), llvm::codeview::TypeIndex::getIndex(), llvm::logicalview::LVElement::getName(), llvm::logicalview::LVObject::getOffset(), llvm::ScopedPrinter::getOStream(), llvm::ScopedPrinter::indent(), llvm::logicalview::LeafTypeNames, llvm::ScopedPrinter::printEnum(), printTypeIndex(), and llvm::ScopedPrinter::startLine().
Referenced by visitKnownRecord().
void LVLogicalVisitor::printTypeEnd | ( | CVType & | Record | ) |
Definition at line 1766 of file LVCodeViewVisitor.cpp.
References llvm::ScopedPrinter::startLine(), and llvm::ScopedPrinter::unindent().
Referenced by visitKnownRecord().
Definition at line 1747 of file LVCodeViewVisitor.cpp.
References llvm::codeview::printTypeIndex(), and llvm::pdb::StreamTPI.
Referenced by createElement(), getElement(), printMemberBegin(), printTypeBegin(), processLines(), visitKnownMember(), visitKnownRecord(), and visitUnknownType().
void LVLogicalVisitor::processFiles | ( | ) |
Definition at line 3397 of file LVCodeViewVisitor.cpp.
void LVLogicalVisitor::processLines | ( | ) |
Definition at line 3363 of file LVCodeViewVisitor.cpp.
References llvm::consumeError(), llvm::codeview::TypeDeserializer::deserializeAs(), llvm::codeview::LazyRandomTypeCollection::getType(), LLVM_DEBUG, llvm::ScopedPrinter::printNumber(), printTypeIndex(), llvm::logicalview::LVElement::setFilenameIndex(), llvm::logicalview::LVObject::setLineNumber(), llvm::pdb::StreamIPI, and llvm::pdb::StreamTPI.
void LVLogicalVisitor::processNamespaces | ( | ) |
Definition at line 3392 of file LVCodeViewVisitor.cpp.
|
inline |
Definition at line 322 of file LVCodeViewVisitor.h.
Referenced by addElement().
|
inline |
Definition at line 345 of file LVCodeViewVisitor.h.
References llvm::logicalview::Name.
Referenced by llvm::logicalview::LVTypeVisitor::visitKnownRecord().
|
inline |
Definition at line 299 of file LVCodeViewVisitor.h.
|
inline |
Definition at line 296 of file LVCodeViewVisitor.h.
|
inline |
Definition at line 338 of file LVCodeViewVisitor.h.
Referenced by llvm::logicalview::LVCodeViewReader::createScopes().
|
inline |
Definition at line 362 of file LVCodeViewVisitor.h.
Referenced by llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
|
inline |
Definition at line 363 of file LVCodeViewVisitor.h.
Referenced by llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
Error LVLogicalVisitor::visitKnownMember | ( | CVMemberRecord & | Record, |
BaseClassRecord & | Base, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2641 of file LVCodeViewVisitor.cpp.
References addElement(), llvm::logicalview::Base, llvm::pdb::BaseClass, createElement(), CurrentSymbol, getElement(), LLVM_DEBUG, llvm::ScopedPrinter::printHex(), printMemberBegin(), printMemberEnd(), printTypeIndex(), llvm::pdb::StreamTPI, and llvm::Error::success().
Referenced by visitKnownMember(), and visitKnownRecord().
Error LVLogicalVisitor::visitKnownMember | ( | CVMemberRecord & | Record, |
DataMemberRecord & | Field, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2664 of file LVCodeViewVisitor.cpp.
References LLVM_DEBUG, llvm::ScopedPrinter::printHex(), printMemberBegin(), printMemberEnd(), llvm::ScopedPrinter::printString(), printTypeIndex(), llvm::pdb::StreamTPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownMember | ( | CVMemberRecord & | Record, |
EnumeratorRecord & | Enum, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2682 of file LVCodeViewVisitor.cpp.
References addElement(), createElement(), CurrentType, llvm::pdb::Enum, LLVM_DEBUG, printMemberBegin(), printMemberEnd(), llvm::ScopedPrinter::printNumber(), llvm::ScopedPrinter::printString(), llvm::pdb::StreamTPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownMember | ( | CVMemberRecord & | Record, |
ListContinuationRecord & | Cont, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2705 of file LVCodeViewVisitor.cpp.
References llvm::codeview::ListContinuationRecord::getContinuationIndex(), LLVM_DEBUG, printMemberBegin(), printMemberEnd(), printTypeIndex(), llvm::pdb::StreamTPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownMember | ( | CVMemberRecord & | Record, |
NestedTypeRecord & | Nested, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2717 of file LVCodeViewVisitor.cpp.
References createElement(), llvm::StringRef::equals(), getElement(), llvm::logicalview::getInnerComponent(), llvm::logicalview::LVElement::getName(), llvm::logicalview::getRecordName(), LLVM_DEBUG, llvm::codeview::Nested, printMemberBegin(), printMemberEnd(), llvm::ScopedPrinter::printString(), printTypeIndex(), llvm::StringRef::size(), llvm::pdb::StreamTPI, llvm::Error::success(), llvm::pdb::Typedef, and llvm::logicalview::LVElement::updateLevel().
Error LVLogicalVisitor::visitKnownMember | ( | CVMemberRecord & | Record, |
OneMethodRecord & | Method, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2762 of file LVCodeViewVisitor.cpp.
References addElement(), llvm::codeview::OneMethodRecord::Attrs, createElement(), finishVisitation(), llvm::codeview::OneMethodRecord::getAccess(), llvm::codeview::MemberAttributes::getFlags(), llvm::codeview::OneMethodRecord::getMethodKind(), llvm::codeview::OneMethodRecord::getName(), llvm::codeview::OneMethodRecord::getType(), llvm::codeview::OneMethodRecord::getVFTableOffset(), llvm::codeview::OneMethodRecord::isIntroducingVirtual(), LLVM_DEBUG, llvm::ScopedPrinter::printHex(), printMemberBegin(), printMemberEnd(), llvm::ScopedPrinter::printString(), printTypeIndex(), llvm::pdb::StreamTPI, llvm::Error::success(), and llvm::logicalview::Types.
Error LVLogicalVisitor::visitKnownMember | ( | CVMemberRecord & | Record, |
OverloadedMethodRecord & | Method, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2808 of file LVCodeViewVisitor.cpp.
References finishVisitation(), llvm::codeview::OverloadedMethodRecord::getMethodList(), llvm::codeview::OverloadedMethodRecord::getName(), llvm::codeview::OverloadedMethodRecord::getNumOverloads(), LLVM_DEBUG, llvm::ScopedPrinter::printHex(), printMemberBegin(), printMemberEnd(), llvm::ScopedPrinter::printString(), printTypeIndex(), llvm::pdb::StreamTPI, llvm::Error::success(), and llvm::logicalview::Types.
Error LVLogicalVisitor::visitKnownMember | ( | CVMemberRecord & | Record, |
StaticDataMemberRecord & | Field, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2831 of file LVCodeViewVisitor.cpp.
References LLVM_DEBUG, printMemberBegin(), printMemberEnd(), llvm::ScopedPrinter::printString(), printTypeIndex(), llvm::pdb::StreamTPI, and llvm::Error::success().
|
inline |
Definition at line 446 of file LVCodeViewVisitor.h.
References llvm::Error::success(), and visitKnownMember().
Error LVLogicalVisitor::visitKnownMember | ( | CVMemberRecord & | Record, |
VFPtrRecord & | VFTable, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2848 of file LVCodeViewVisitor.cpp.
References llvm::codeview::VFPtrRecord::getType(), LLVM_DEBUG, printMemberBegin(), printMemberEnd(), printTypeIndex(), llvm::pdb::StreamTPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownMember | ( | CVMemberRecord & | Record, |
VirtualBaseClassRecord & | Base, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2860 of file LVCodeViewVisitor.cpp.
References addElement(), llvm::logicalview::Base, llvm::pdb::BaseClass, createElement(), CurrentSymbol, getElement(), LLVM_DEBUG, llvm::ScopedPrinter::printHex(), printMemberBegin(), printMemberEnd(), printTypeIndex(), llvm::pdb::StreamTPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
ArgListRecord & | Args, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 1799 of file LVCodeViewVisitor.cpp.
References Arguments, I, LLVM_DEBUG, llvm::ScopedPrinter::printNumber(), printTypeBegin(), printTypeEnd(), printTypeIndex(), llvm::ArrayRef< T >::size(), Size, llvm::pdb::StreamTPI, and llvm::Error::success().
Referenced by visitKnownRecord().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
ArrayRecord & | AT, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 1822 of file LVCodeViewVisitor.cpp.
References llvm::logicalview::LVScope::addElement(), llvm::consumeError(), llvm::codeview::TypeDeserializer::deserializeAs(), finishVisitation(), llvm::logicalview::LVReader::getCompileUnit(), llvm::logicalview::LVElement::getCount(), getElement(), llvm::codeview::ArrayRecord::getElementType(), llvm::codeview::TypeIndex::getIndex(), llvm::codeview::ArrayRecord::getIndexType(), llvm::codeview::getModifiedType(), llvm::codeview::ArrayRecord::getName(), llvm::codeview::TypeIndex::getSimpleKind(), llvm::codeview::ArrayRecord::getSize(), llvm::codeview::getSizeInBytesForTypeIndex(), llvm::codeview::getSizeInBytesForTypeRecord(), llvm::logicalview::getTrueType(), llvm::codeview::isAggregate(), llvm::codeview::TypeIndex::isSimple(), llvm::codeview::CVRecord< Kind >::kind(), LLVM_DEBUG, llvm::ScopedPrinter::printNumber(), llvm::ScopedPrinter::printString(), printTypeBegin(), printTypeEnd(), printTypeIndex(), llvm::logicalview::LVElement::setCount(), Size, llvm::pdb::StreamTPI, llvm::logicalview::Subrange, llvm::Error::success(), and llvm::logicalview::Types.
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
BitFieldRecord & | BF, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 1940 of file LVCodeViewVisitor.cpp.
References llvm::codeview::BitFieldRecord::getBitOffset(), llvm::codeview::BitFieldRecord::getBitSize(), getElement(), llvm::codeview::BitFieldRecord::getType(), LLVM_DEBUG, llvm::ScopedPrinter::printNumber(), printTypeBegin(), printTypeEnd(), printTypeIndex(), llvm::logicalview::LVElement::setBitSize(), llvm::logicalview::LVElement::setType(), llvm::pdb::StreamTPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
BuildInfoRecord & | BI, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 1956 of file LVCodeViewVisitor.cpp.
References Arguments, llvm::codeview::BuildInfoRecord::getArgs(), llvm::getTypeName(), LLVM_DEBUG, llvm::logicalview::Name, llvm::ScopedPrinter::printNumber(), printTypeBegin(), printTypeEnd(), printTypeIndex(), llvm::logicalview::LVElement::setName(), llvm::pdb::StreamIPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
ClassRecord & | Class, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 1980 of file LVCodeViewVisitor.cpp.
References llvm::logicalview::LVScope::addElement(), llvm::pdb::Class, llvm::codeview::TypeDeserializer::deserializeAs(), finishVisitation(), llvm::logicalview::LVReader::getCompileUnit(), llvm::codeview::TagRecord::getFieldList(), llvm::codeview::TypeIndex::isNoneType(), llvm::codeview::CVRecord< Kind >::kind(), LLVM_DEBUG, llvm::ScopedPrinter::printNumber(), llvm::ScopedPrinter::printString(), printTypeBegin(), printTypeEnd(), printTypeIndex(), llvm::pdb::StreamTPI, llvm::Error::success(), and llvm::logicalview::Types.
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
EndPrecompRecord & | EndPrecomp, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2623 of file LVCodeViewVisitor.cpp.
References llvm::codeview::EndPrecompRecord::getSignature(), LLVM_DEBUG, llvm::ScopedPrinter::printHex(), printTypeBegin(), printTypeEnd(), llvm::pdb::StreamTPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
EnumRecord & | Enum, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2050 of file LVCodeViewVisitor.cpp.
References llvm::logicalview::LVScope::addElement(), llvm::pdb::Enum, finishVisitation(), llvm::logicalview::LVReader::getCompileUnit(), getElement(), llvm::codeview::TypeIndex::isNoneType(), LLVM_DEBUG, llvm::ScopedPrinter::printNumber(), llvm::ScopedPrinter::printString(), printTypeBegin(), printTypeEnd(), printTypeIndex(), llvm::pdb::StreamTPI, llvm::Error::success(), and llvm::logicalview::Types.
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
FieldListRecord & | FieldList, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2107 of file LVCodeViewVisitor.cpp.
References llvm::codeview::FieldList, LLVM_DEBUG, printTypeBegin(), printTypeEnd(), llvm::pdb::StreamTPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
FuncIdRecord & | Func, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2122 of file LVCodeViewVisitor.cpp.
References llvm::logicalview::LVScope::addElement(), finishVisitation(), llvm::logicalview::LVReader::getCompileUnit(), llvm::codeview::LazyRandomTypeCollection::getType(), llvm::codeview::TypeIndex::isNoneType(), LLVM_DEBUG, llvm::ScopedPrinter::printString(), printTypeBegin(), printTypeEnd(), printTypeIndex(), llvm::pdb::StreamIPI, llvm::pdb::StreamTPI, llvm::Error::success(), and llvm::logicalview::Types.
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
LabelRecord & | LR, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2167 of file LVCodeViewVisitor.cpp.
References LLVM_DEBUG, printTypeBegin(), printTypeEnd(), llvm::pdb::StreamTPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
MemberFuncIdRecord & | Id, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2177 of file LVCodeViewVisitor.cpp.
References llvm::pdb::Class, finishVisitation(), llvm::codeview::LazyRandomTypeCollection::getType(), LLVM_DEBUG, llvm::ScopedPrinter::printString(), printTypeBegin(), printTypeEnd(), printTypeIndex(), llvm::pdb::StreamIPI, llvm::pdb::StreamTPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
MemberFunctionRecord & | MF, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2208 of file LVCodeViewVisitor.cpp.
References llvm::pdb::Class, finishVisitation(), llvm::codeview::MemberFunctionRecord::getArgumentList(), llvm::codeview::MemberFunctionRecord::getClassType(), getElement(), llvm::codeview::TypeIndex::getIndex(), llvm::codeview::MemberFunctionRecord::getParameterCount(), llvm::codeview::MemberFunctionRecord::getReturnType(), llvm::codeview::MemberFunctionRecord::getThisPointerAdjustment(), llvm::codeview::MemberFunctionRecord::getThisType(), LLVM_DEBUG, llvm::ScopedPrinter::printNumber(), printTypeBegin(), printTypeEnd(), printTypeIndex(), llvm::logicalview::LVElement::setType(), llvm::pdb::StreamTPI, llvm::Error::success(), llvm::codeview::This, and llvm::logicalview::Types.
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
MethodOverloadListRecord & | Overloads, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2255 of file LVCodeViewVisitor.cpp.
References LLVM_DEBUG, llvm::codeview::MethodOverloadListRecord::Methods, llvm::codeview::OneMethodRecord::Name, printTypeBegin(), printTypeEnd(), llvm::pdb::StreamTPI, llvm::Error::success(), and visitKnownMember().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
ModifierRecord & | Mod, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2275 of file LVCodeViewVisitor.cpp.
References llvm::dwarf::DW_TAG_unaligned, llvm::logicalview::LVReader::getCompileUnit(), getElement(), llvm::logicalview::LVObject::getParentScope(), LLVM_DEBUG, llvm::Mod, printTypeBegin(), printTypeEnd(), printTypeIndex(), llvm::logicalview::LVElement::setName(), llvm::logicalview::LVObject::setTag(), llvm::logicalview::LVElement::setType(), llvm::pdb::StreamTPI, llvm::Error::success(), llvm::codeview::Unaligned, and llvm::codeview::Volatile.
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
PointerRecord & | Ptr, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2336 of file LVCodeViewVisitor.cpp.
References llvm::logicalview::LVReader::getCompileUnit(), getElement(), llvm::logicalview::LVObject::getParentScope(), LLVM_DEBUG, MI, llvm::codeview::Pointer, llvm::ScopedPrinter::printNumber(), printTypeBegin(), printTypeEnd(), printTypeIndex(), Ptr, llvm::codeview::Restrict, llvm::logicalview::LVElement::setName(), llvm::logicalview::LVObject::setTag(), llvm::logicalview::LVElement::setType(), llvm::pdb::StreamTPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
PrecompRecord & | Precomp, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2609 of file LVCodeViewVisitor.cpp.
References llvm::codeview::PrecompRecord::getPrecompFilePath(), llvm::codeview::PrecompRecord::getSignature(), llvm::codeview::PrecompRecord::getStartTypeIndex(), llvm::codeview::PrecompRecord::getTypesCount(), LLVM_DEBUG, llvm::ScopedPrinter::printHex(), llvm::ScopedPrinter::printString(), printTypeBegin(), printTypeEnd(), llvm::pdb::StreamTPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
ProcedureRecord & | Proc, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2419 of file LVCodeViewVisitor.cpp.
References finishVisitation(), llvm::codeview::ProcedureRecord::getArgumentList(), getElement(), llvm::codeview::ProcedureRecord::getParameterCount(), llvm::codeview::ProcedureRecord::getReturnType(), LLVM_DEBUG, llvm::ScopedPrinter::printNumber(), printTypeBegin(), printTypeEnd(), printTypeIndex(), llvm::pdb::StreamTPI, llvm::Error::success(), and llvm::logicalview::Types.
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
StringIdRecord & | String, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2556 of file LVCodeViewVisitor.cpp.
References llvm::logicalview::LVScope::addElement(), llvm::logicalview::LVObject::getParentScope(), LLVM_DEBUG, llvm::ScopedPrinter::printString(), printTypeIndex(), llvm::pdb::StreamIPI, llvm::String, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
StringListRecord & | Strings, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2538 of file LVCodeViewVisitor.cpp.
References Arguments, I, LLVM_DEBUG, llvm::ScopedPrinter::printNumber(), printTypeBegin(), printTypeEnd(), printTypeIndex(), llvm::ArrayRef< T >::size(), Size, llvm::pdb::StreamIPI, and llvm::Error::success().
|
inline |
Definition at line 459 of file LVCodeViewVisitor.h.
References llvm::codeview::TypeDeserializer::deserializeAs(), llvm::Error::success(), and visitKnownRecord().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
TypeServer2Record & | TS, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2497 of file LVCodeViewVisitor.cpp.
References llvm::formatv(), llvm::codeview::TypeServer2Record::getAge(), llvm::codeview::TypeServer2Record::getGuid(), llvm::codeview::TypeServer2Record::getName(), LLVM_DEBUG, llvm::ScopedPrinter::printNumber(), llvm::ScopedPrinter::printString(), printTypeBegin(), printTypeEnd(), llvm::pdb::StreamTPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
UdtModSourceLineRecord & | ModSourceLine, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2592 of file LVCodeViewVisitor.cpp.
References llvm::codeview::UdtModSourceLineRecord::getLineNumber(), llvm::codeview::UdtModSourceLineRecord::getModule(), llvm::codeview::UdtModSourceLineRecord::getSourceFile(), llvm::codeview::UdtModSourceLineRecord::getUDT(), LLVM_DEBUG, llvm::ScopedPrinter::printNumber(), printTypeBegin(), printTypeEnd(), printTypeIndex(), llvm::pdb::StreamIPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
UdtSourceLineRecord & | SourceLine, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2578 of file LVCodeViewVisitor.cpp.
References llvm::codeview::UdtSourceLineRecord::getLineNumber(), llvm::codeview::UdtSourceLineRecord::getSourceFile(), llvm::codeview::UdtSourceLineRecord::getUDT(), LLVM_DEBUG, llvm::ScopedPrinter::printNumber(), printTypeIndex(), llvm::pdb::StreamIPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
UnionRecord & | Union, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2450 of file LVCodeViewVisitor.cpp.
References llvm::logicalview::LVScope::addElement(), finishVisitation(), llvm::logicalview::LVReader::getCompileUnit(), LLVM_DEBUG, llvm::ScopedPrinter::printNumber(), llvm::ScopedPrinter::printString(), printTypeBegin(), printTypeEnd(), printTypeIndex(), llvm::pdb::StreamTPI, llvm::Error::success(), llvm::logicalview::Types, and llvm::pdb::Union.
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
VFTableRecord & | VFT, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2510 of file LVCodeViewVisitor.cpp.
References llvm::codeview::VFTableRecord::getCompleteClass(), llvm::codeview::VFTableRecord::getMethodNames(), llvm::codeview::VFTableRecord::getName(), llvm::codeview::VFTableRecord::getOverriddenVTable(), llvm::codeview::VFTableRecord::getVFPtrOffset(), LLVM_DEBUG, N, llvm::ScopedPrinter::printHex(), llvm::ScopedPrinter::printString(), printTypeBegin(), printTypeEnd(), printTypeIndex(), llvm::pdb::StreamTPI, and llvm::Error::success().
Error LVLogicalVisitor::visitKnownRecord | ( | CVType & | Record, |
VFTableShapeRecord & | Shape, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2526 of file LVCodeViewVisitor.cpp.
References llvm::codeview::VFTableShapeRecord::getEntryCount(), LLVM_DEBUG, llvm::ScopedPrinter::printNumber(), printTypeBegin(), printTypeEnd(), llvm::pdb::StreamTPI, and llvm::Error::success().
Error LVLogicalVisitor::visitMemberRecord | ( | CVMemberRecord & | Record, |
TypeVisitorCallbacks & | Callbacks, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Error LVLogicalVisitor::visitUnknownMember | ( | CVMemberRecord & | Record, |
TypeIndex | TI | ||
) |
Definition at line 2634 of file LVCodeViewVisitor.cpp.
References LLVM_DEBUG, llvm::ScopedPrinter::printHex(), and llvm::Error::success().
Definition at line 1790 of file LVCodeViewVisitor.cpp.
References LLVM_DEBUG, llvm::ScopedPrinter::printNumber(), printTypeIndex(), llvm::pdb::StreamTPI, and llvm::Error::success().
Referenced by finishVisitation().
LVElement* llvm::logicalview::LVLogicalVisitor::CurrentElement = nullptr |
Definition at line 290 of file LVCodeViewVisitor.h.
Referenced by llvm::logicalview::LVSymbolVisitor::visitSymbolBegin().
LVScope* llvm::logicalview::LVLogicalVisitor::CurrentScope = nullptr |
Definition at line 291 of file LVCodeViewVisitor.h.
Referenced by createElement(), llvm::logicalview::LVSymbolVisitor::visitKnownRecord(), and llvm::logicalview::LVSymbolVisitor::visitSymbolBegin().
LVSymbol* llvm::logicalview::LVLogicalVisitor::CurrentSymbol = nullptr |
Definition at line 292 of file LVCodeViewVisitor.h.
Referenced by createElement(), visitKnownMember(), llvm::logicalview::LVSymbolVisitor::visitKnownRecord(), and llvm::logicalview::LVSymbolVisitor::visitSymbolBegin().
LVType* llvm::logicalview::LVLogicalVisitor::CurrentType = nullptr |
Definition at line 293 of file LVCodeViewVisitor.h.
Referenced by createElement(), visitKnownMember(), llvm::logicalview::LVSymbolVisitor::visitKnownRecord(), and llvm::logicalview::LVSymbolVisitor::visitSymbolBegin().