19 : Callbacks(Callbacks) {}
26 if (
auto EC = Callbacks.visitKnownRecord(Record, KnownRecord))
33 switch (Record.
Type) {
38 #define SYMBOL_RECORD(EnumName, EnumVal, Name) \ 40 if (auto EC = visitKnownRecord<Name>(Record, Callbacks)) \ 44 #define SYMBOL_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName) \ 45 SYMBOL_RECORD(EnumVal, EnumVal, AliasName) 46 #include "llvm/DebugInfo/CodeView/CodeViewSymbols.def" 68 for (
auto I : Symbols) {
77 for (
auto I : Symbols) {
80 InitialOffset +=
I.length();
SymbolRecordKind
Distinguishes individual records in the Symbols subsection of a .debug$S section. ...
This class represents lattice values for constants.
virtual Error visitUnknownSymbol(CVSymbol &Record)
Action to take on unknown symbols. By default, they are ignored.
Error visitSymbolRecord(CVSymbol &Record)
virtual Error visitSymbolBegin(CVSymbol &Record, uint32_t Offset)
Paired begin/end actions for all symbols.
CVSymbolVisitor(SymbolVisitorCallbacks &Callbacks)
virtual Error visitSymbolEnd(CVSymbol &Record)
static Error visitKnownRecord(CVSymbol &Record, SymbolVisitorCallbacks &Callbacks)
static ErrorSuccess success()
Create a success value.
Error visitSymbolStream(const CVSymbolArray &Symbols)
static Error finishVisitation(CVSymbol &Record, SymbolVisitorCallbacks &Callbacks)
Lightweight error class with error context and mandatory checking.