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 1730 of file LVCodeViewVisitor.cpp.
Definition at line 2953 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 2968 of file LVCodeViewVisitor.cpp.
References llvm::logicalview::LVScope::addElement().
void LVLogicalVisitor::addElement | ( | LVType * | Type | ) |
Definition at line 2972 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 3061 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 3128 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 2976 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 2907 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 3313 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 3420 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 1762 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 1776 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 3390 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 1744 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 1757 of file LVCodeViewVisitor.cpp.
References llvm::ScopedPrinter::startLine(), and llvm::ScopedPrinter::unindent().
Referenced by visitKnownRecord().
Definition at line 1738 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 3388 of file LVCodeViewVisitor.cpp.
void LVLogicalVisitor::processLines | ( | ) |
Definition at line 3354 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 3383 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 2632 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 2655 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 2673 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 2696 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 2708 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 2753 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 2799 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 2822 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 2839 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 2851 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 1790 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 1813 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 1931 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 1947 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 1971 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 2614 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 2041 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 2098 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 2113 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 2158 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 2168 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 2199 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 2246 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 2266 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 2327 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 2600 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 2410 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 2547 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 2529 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 2488 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 2583 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 2569 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 2441 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 2501 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 2517 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 2625 of file LVCodeViewVisitor.cpp.
References LLVM_DEBUG, llvm::ScopedPrinter::printHex(), and llvm::Error::success().
Definition at line 1781 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().