LLVM 20.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 232 of file LVCodeViewVisitor.h.
LVLogicalVisitor::LVLogicalVisitor | ( | LVCodeViewReader * | Reader, |
ScopedPrinter & | W, | ||
llvm::pdb::InputFile & | Input | ||
) |
Definition at line 1736 of file LVCodeViewVisitor.cpp.
Definition at line 2959 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 2974 of file LVCodeViewVisitor.cpp.
References llvm::logicalview::LVScope::addElement().
void LVLogicalVisitor::addElement | ( | LVType * | Type | ) |
Definition at line 2978 of file LVCodeViewVisitor.cpp.
References llvm::logicalview::LVScope::addElement().
|
inline |
Definition at line 302 of file LVCodeViewVisitor.h.
References llvm::logicalview::Filename.
|
inline |
Definition at line 331 of file LVCodeViewVisitor.h.
References popScope().
LVElement * LVLogicalVisitor::createElement | ( | SymbolKind | Kind | ) |
Definition at line 3067 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 3134 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 2982 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 2913 of file LVCodeViewVisitor.cpp.
References llvm::Error::success(), and visitUnknownType().
Referenced by getElement(), visitKnownMember(), llvm::logicalview::LVSymbolVisitor::visitKnownRecord(), and visitKnownRecord().
|
inline |
Definition at line 343 of file LVCodeViewVisitor.h.
LVElement * LVLogicalVisitor::getElement | ( | uint32_t | StreamIdx, |
TypeIndex | TI, | ||
LVScope * | Parent = nullptr |
||
) |
Definition at line 3319 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 352 of file LVCodeViewVisitor.h.
Referenced by llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
|
inline |
Definition at line 350 of file LVCodeViewVisitor.h.
Error LVLogicalVisitor::inlineSiteAnnotation | ( | LVScope * | AbstractFunction, |
LVScope * | InlinedFunction, | ||
InlineSiteSym & | InlineSite | ||
) |
Definition at line 3426 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 326 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 1768 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 1782 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 3396 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 1750 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 1763 of file LVCodeViewVisitor.cpp.
References llvm::ScopedPrinter::startLine(), and llvm::ScopedPrinter::unindent().
Referenced by visitKnownRecord().
Definition at line 1744 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 3394 of file LVCodeViewVisitor.cpp.
void LVLogicalVisitor::processLines | ( | ) |
Definition at line 3360 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 3389 of file LVCodeViewVisitor.cpp.
|
inline |
Definition at line 321 of file LVCodeViewVisitor.h.
Referenced by addElement().
|
inline |
Definition at line 344 of file LVCodeViewVisitor.h.
References llvm::logicalview::Name.
Referenced by llvm::logicalview::LVTypeVisitor::visitKnownRecord().
|
inline |
Definition at line 298 of file LVCodeViewVisitor.h.
|
inline |
Definition at line 295 of file LVCodeViewVisitor.h.
|
inline |
Definition at line 337 of file LVCodeViewVisitor.h.
Referenced by llvm::logicalview::LVCodeViewReader::createScopes().
|
inline |
Definition at line 361 of file LVCodeViewVisitor.h.
Referenced by llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
|
inline |
Definition at line 362 of file LVCodeViewVisitor.h.
Referenced by llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
Error LVLogicalVisitor::visitKnownMember | ( | CVMemberRecord & | Record, |
BaseClassRecord & | Base, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2638 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 2661 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 2679 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 2702 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 2714 of file LVCodeViewVisitor.cpp.
References createElement(), 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 2759 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 2805 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 2828 of file LVCodeViewVisitor.cpp.
References LLVM_DEBUG, printMemberBegin(), printMemberEnd(), llvm::ScopedPrinter::printString(), printTypeIndex(), llvm::pdb::StreamTPI, and llvm::Error::success().
|
inline |
Definition at line 445 of file LVCodeViewVisitor.h.
References llvm::Error::success(), and visitKnownMember().
Error LVLogicalVisitor::visitKnownMember | ( | CVMemberRecord & | Record, |
VFPtrRecord & | VFTable, | ||
TypeIndex | TI, | ||
LVElement * | Element | ||
) |
Definition at line 2845 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 2857 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 1796 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 1819 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 1937 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 1953 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 1977 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 2620 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 2047 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 2104 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 2119 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 2164 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 2174 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 2205 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 2252 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 2272 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 2333 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 2606 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 2416 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 2553 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 2535 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 458 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 2494 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 2589 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 2575 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 2447 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 2507 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 2523 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 2631 of file LVCodeViewVisitor.cpp.
References LLVM_DEBUG, llvm::ScopedPrinter::printHex(), and llvm::Error::success().
Definition at line 1787 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 289 of file LVCodeViewVisitor.h.
Referenced by llvm::logicalview::LVSymbolVisitor::visitSymbolBegin().
LVScope* llvm::logicalview::LVLogicalVisitor::CurrentScope = nullptr |
Definition at line 290 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 291 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 292 of file LVCodeViewVisitor.h.
Referenced by createElement(), visitKnownMember(), llvm::logicalview::LVSymbolVisitor::visitKnownRecord(), and llvm::logicalview::LVSymbolVisitor::visitSymbolBegin().