#include "llvm/DebugInfo/LogicalView/Readers/LVCodeViewReader.h"
#include "llvm/DebugInfo/CodeView/CVSymbolVisitor.h"
#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
#include "llvm/DebugInfo/CodeView/EnumTables.h"
#include "llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h"
#include "llvm/DebugInfo/CodeView/SymbolDeserializer.h"
#include "llvm/DebugInfo/CodeView/SymbolVisitorCallbackPipeline.h"
#include "llvm/DebugInfo/LogicalView/Core/LVLine.h"
#include "llvm/DebugInfo/LogicalView/Core/LVScope.h"
#include "llvm/DebugInfo/LogicalView/Core/LVSymbol.h"
#include "llvm/DebugInfo/LogicalView/Core/LVType.h"
#include "llvm/DebugInfo/PDB/GenericError.h"
#include "llvm/DebugInfo/PDB/Native/DbiStream.h"
#include "llvm/DebugInfo/PDB/Native/GlobalsStream.h"
#include "llvm/DebugInfo/PDB/Native/InfoStream.h"
#include "llvm/DebugInfo/PDB/Native/LinePrinter.h"
#include "llvm/DebugInfo/PDB/Native/PDBFile.h"
#include "llvm/DebugInfo/PDB/Native/RawConstants.h"
#include "llvm/DebugInfo/PDB/Native/SymbolStream.h"
#include "llvm/DebugInfo/PDB/Native/TpiStream.h"
#include "llvm/Demangle/Demangle.h"
#include "llvm/Object/COFF.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/FormatAdapters.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/WithColor.h"
usingnamespacellvm;
usingnamespacellvm::codeview;
usingnamespacellvm::logicalview;
usingnamespacellvm::msf;
usingnamespacellvm::object;
usingnamespacellvm::pdb;
#define DEBUG_TYPE …
StringRef LVCodeViewReader::getSymbolKindName(SymbolKind Kind) { … }
std::string LVCodeViewReader::formatRegisterId(RegisterId Register,
CPUType CPU) { … }
void LVCodeViewReader::printRelocatedField(StringRef Label,
const coff_section *CoffSection,
uint32_t RelocOffset,
uint32_t Offset,
StringRef *RelocSym) { … }
void LVCodeViewReader::getLinkageName(const coff_section *CoffSection,
uint32_t RelocOffset, uint32_t Offset,
StringRef *RelocSym) { … }
Expected<StringRef>
LVCodeViewReader::getFileNameForFileOffset(uint32_t FileOffset,
const SymbolGroup *SG) { … }
Error LVCodeViewReader::printFileNameForOffset(StringRef Label,
uint32_t FileOffset,
const SymbolGroup *SG) { … }
void LVCodeViewReader::cacheRelocations() { … }
Error LVCodeViewReader::resolveSymbol(const coff_section *CoffSection,
uint64_t Offset, SymbolRef &Sym) { … }
Error LVCodeViewReader::resolveSymbolName(const coff_section *CoffSection,
uint64_t Offset, StringRef &Name) { … }
bool LVCodeViewReader::isSystemEntry(LVElement *Element, StringRef Name) const { … }
Error LVCodeViewReader::collectInlineeInfo(
DebugInlineeLinesSubsectionRef &Lines, const llvm::pdb::SymbolGroup *SG) { … }
Error LVCodeViewReader::traverseInlineeLines(StringRef Subsection) { … }
Error LVCodeViewReader::createLines(
const FixedStreamArray<LineNumberEntry> &LineNumbers, LVAddress Addendum,
uint32_t Segment, uint32_t Begin, uint32_t Size, uint32_t NameIndex,
const SymbolGroup *SG) { … }
Error LVCodeViewReader::initializeFileAndStringTables(
BinaryStreamReader &Reader) { … }
Error LVCodeViewReader::loadTypeServer(TypeServer2Record &TS) { … }
Error LVCodeViewReader::loadPrecompiledObject(PrecompRecord &Precomp,
CVTypeArray &CVTypesObj) { … }
Error LVCodeViewReader::traverseTypeSection(StringRef SectionName,
const SectionRef &Section) { … }
Error LVCodeViewReader::traverseTypes(PDBFile &Pdb,
LazyRandomTypeCollection &Types,
LazyRandomTypeCollection &Ids) { … }
Error LVCodeViewReader::traverseSymbolsSubsection(StringRef Subsection,
const SectionRef &Section,
StringRef SectionContents) { … }
Error LVCodeViewReader::traverseSymbolSection(StringRef SectionName,
const SectionRef &Section) { … }
void LVCodeViewReader::sortScopes() { … }
void LVCodeViewReader::print(raw_ostream &OS) const { … }
void LVCodeViewReader::mapRangeAddress(const ObjectFile &Obj,
const SectionRef &Section,
bool IsComdat) { … }
Error LVCodeViewReader::createScopes(COFFObjectFile &Obj) { … }
Error LVCodeViewReader::createScopes(PDBFile &Pdb) { … }
Error LVCodeViewReader::processModule() { … }
Error LVCodeViewReader::createScopes() { … }
Error LVCodeViewReader::loadTargetInfo(const ObjectFile &Obj) { … }
Error LVCodeViewReader::loadTargetInfo(const PDBFile &Pdb) { … }
std::string LVCodeViewReader::getRegisterName(LVSmall Opcode,
ArrayRef<uint64_t> Operands) { … }