#include "llvm/TextAPI/DylibReader.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/DebugInfo/DWARF/DWARFCompileUnit.h"
#include "llvm/DebugInfo/DWARF/DWARFContext.h"
#include "llvm/Object/Binary.h"
#include "llvm/Object/MachOUniversal.h"
#include "llvm/Support/Endian.h"
#include "llvm/TargetParser/Triple.h"
#include "llvm/TextAPI/InterfaceFile.h"
#include "llvm/TextAPI/RecordsSlice.h"
#include "llvm/TextAPI/TextAPIError.h"
#include <iomanip>
#include <set>
#include <sstream>
#include <string>
#include <tuple>
usingnamespacellvm;
usingnamespacellvm::object;
usingnamespacellvm::MachO;
usingnamespacellvm::MachO::DylibReader;
TripleVec;
static typename TripleVec::iterator emplace(TripleVec &Container, Triple &&T) { … }
static TripleVec constructTriples(MachOObjectFile *Obj,
const Architecture ArchT) { … }
static Error readMachOHeader(MachOObjectFile *Obj, RecordsSlice &Slice) { … }
static Error readSymbols(MachOObjectFile *Obj, RecordsSlice &Slice,
const ParseOption &Opt) { … }
static Error load(MachOObjectFile *Obj, RecordsSlice &Slice,
const ParseOption &Opt, const Architecture Arch) { … }
Expected<Records> DylibReader::readFile(MemoryBufferRef Buffer,
const ParseOption &Opt) { … }
Expected<std::unique_ptr<InterfaceFile>>
DylibReader::get(MemoryBufferRef Buffer) { … }
static void DWARFErrorHandler(Error Err) { … }
static SymbolToSourceLocMap
accumulateLocs(MachOObjectFile &Obj,
const std::unique_ptr<DWARFContext> &DiCtx) { … }
SymbolToSourceLocMap
DylibReader::accumulateSourceLocFromDSYM(const StringRef DSYM,
const Target &T) { … }