#include "llvm/DebugInfo/LogicalView/Core/LVSymbol.h"
#include "llvm/DebugInfo/LogicalView/Core/LVCompare.h"
#include "llvm/DebugInfo/LogicalView/Core/LVLocation.h"
#include "llvm/DebugInfo/LogicalView/Core/LVReader.h"
#include "llvm/DebugInfo/LogicalView/Core/LVScope.h"
usingnamespacellvm;
usingnamespacellvm::logicalview;
#define DEBUG_TYPE …
namespace {
const char *const KindCallSiteParameter = …;
const char *const KindConstant = …;
const char *const KindInherits = …;
const char *const KindMember = …;
const char *const KindParameter = …;
const char *const KindUndefined = …;
const char *const KindUnspecified = …;
const char *const KindVariable = …;
}
const char *LVSymbol::kind() const { … }
LVSymbolDispatch LVSymbol::Dispatch = …;
void LVSymbol::addLocation(dwarf::Attribute Attr, LVAddress LowPC,
LVAddress HighPC, LVUnsigned SectionOffset,
uint64_t LocDescOffset, bool CallSiteLocation) { … }
void LVSymbol::addLocationOperands(LVSmall Opcode,
ArrayRef<uint64_t> Operands) { … }
void LVSymbol::addLocationConstant(dwarf::Attribute Attr, LVUnsigned Constant,
uint64_t LocDescOffset) { … }
LVLocations::iterator LVSymbol::addLocationGap(LVLocations::iterator Pos,
LVAddress LowPC,
LVAddress HighPC) { … }
void LVSymbol::fillLocationGaps() { … }
void LVSymbol::getLocations(LVLocations &LocationList,
LVValidLocation ValidLocation, bool RecordInvalid) { … }
void LVSymbol::getLocations(LVLocations &LocationList) const { … }
void LVSymbol::calculateCoverage() { … }
void LVSymbol::resolveName() { … }
void LVSymbol::resolveReferences() { … }
StringRef LVSymbol::resolveReferencesChain() { … }
void LVSymbol::markMissingParents(const LVSymbols *References,
const LVSymbols *Targets) { … }
LVSymbol *LVSymbol::findIn(const LVSymbols *Targets) const { … }
bool LVSymbol::parametersMatch(const LVSymbols *References,
const LVSymbols *Targets) { … }
void LVSymbol::getParameters(const LVSymbols *Symbols, LVSymbols *Parameters) { … }
bool LVSymbol::equals(const LVSymbol *Symbol) const { … }
bool LVSymbol::equals(const LVSymbols *References, const LVSymbols *Targets) { … }
void LVSymbol::report(LVComparePass Pass) { … }
void LVSymbol::printLocations(raw_ostream &OS, bool Full) const { … }
void LVSymbol::print(raw_ostream &OS, bool Full) const { … }
void LVSymbol::printExtra(raw_ostream &OS, bool Full) const { … }