llvm/llvm/lib/TextAPI/BinaryReader/DylibReader.cpp

//===- DylibReader.cpp -------------- TAPI MachO Dylib Reader --*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
///
/// Implements the TAPI Reader for Mach-O dynamic libraries.
///
//===----------------------------------------------------------------------===//

#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) {}