#include "llvm/DebugInfo/CodeView/RecordName.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
#include "llvm/DebugInfo/CodeView/CodeView.h"
#include "llvm/DebugInfo/CodeView/SymbolRecord.h"
#include "llvm/DebugInfo/CodeView/SymbolRecordMapping.h"
#include "llvm/DebugInfo/CodeView/TypeCollection.h"
#include "llvm/DebugInfo/CodeView/TypeIndex.h"
#include "llvm/DebugInfo/CodeView/TypeRecord.h"
#include "llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h"
#include "llvm/Support/FormatVariadic.h"
usingnamespacellvm;
usingnamespacellvm::codeview;
namespace {
class TypeNameComputer : public TypeVisitorCallbacks { … };
}
Error TypeNameComputer::visitTypeBegin(CVType &Record) { … }
Error TypeNameComputer::visitTypeBegin(CVType &Record, TypeIndex Index) { … }
Error TypeNameComputer::visitTypeEnd(CVType &CVR) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR,
FieldListRecord &FieldList) { … }
Error TypeNameComputer::visitKnownRecord(CVRecord<TypeLeafKind> &CVR,
StringIdRecord &String) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR, ArgListRecord &Args) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR,
StringListRecord &Strings) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR, ClassRecord &Class) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR, UnionRecord &Union) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR, EnumRecord &Enum) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR, ArrayRecord &AT) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR, VFTableRecord &VFT) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR, MemberFuncIdRecord &Id) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR, ProcedureRecord &Proc) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR,
MemberFunctionRecord &MF) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR, FuncIdRecord &Func) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR, TypeServer2Record &TS) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR, PointerRecord &Ptr) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR, ModifierRecord &Mod) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR,
VFTableShapeRecord &Shape) { … }
Error TypeNameComputer::visitKnownRecord(
CVType &CVR, UdtModSourceLineRecord &ModSourceLine) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR,
UdtSourceLineRecord &SourceLine) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR, BitFieldRecord &BF) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR,
MethodOverloadListRecord &Overloads) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR, BuildInfoRecord &BI) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR, LabelRecord &R) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR,
PrecompRecord &Precomp) { … }
Error TypeNameComputer::visitKnownRecord(CVType &CVR,
EndPrecompRecord &EndPrecomp) { … }
std::string llvm::codeview::computeTypeName(TypeCollection &Types,
TypeIndex Index) { … }
static int getSymbolNameOffset(CVSymbol Sym) { … }
StringRef llvm::codeview::getSymbolName(CVSymbol Sym) { … }