#include <climits>
#include <cstring>
#include <optional>
#include "lldb/Host/FileSystem.h"
#include "lldb/Host/PosixApi.h"
#include "lldb/Target/PathMappingList.h"
#include "lldb/Utility/FileSpec.h"
#include "lldb/Utility/Status.h"
#include "lldb/Utility/Stream.h"
#include "lldb/lldb-private-enumerations.h"
usingnamespacelldb;
usingnamespacelldb_private;
namespace {
std::string NormalizePath(llvm::StringRef path) { … }
}
PathMappingList::PathMappingList() : … { … }
PathMappingList::PathMappingList(ChangedCallback callback, void *callback_baton)
: … { … }
PathMappingList::PathMappingList(const PathMappingList &rhs)
: … { … }
const PathMappingList &PathMappingList::operator=(const PathMappingList &rhs) { … }
PathMappingList::~PathMappingList() = default;
void PathMappingList::Append(llvm::StringRef path, llvm::StringRef replacement,
bool notify) { … }
void PathMappingList::Append(const PathMappingList &rhs, bool notify) { … }
bool PathMappingList::AppendUnique(llvm::StringRef path,
llvm::StringRef replacement, bool notify) { … }
void PathMappingList::Insert(llvm::StringRef path, llvm::StringRef replacement,
uint32_t index, bool notify) { … }
bool PathMappingList::Replace(llvm::StringRef path, llvm::StringRef replacement,
uint32_t index, bool notify) { … }
bool PathMappingList::Remove(size_t index, bool notify) { … }
void PathMappingList::Dump(Stream *s, int pair_index) { … }
llvm::json::Value PathMappingList::ToJSON() { … }
void PathMappingList::Clear(bool notify) { … }
bool PathMappingList::RemapPath(ConstString path,
ConstString &new_path) const { … }
static void AppendPathComponents(FileSpec &path, llvm::StringRef components,
llvm::sys::path::Style style) { … }
std::optional<FileSpec> PathMappingList::RemapPath(llvm::StringRef mapping_path,
bool only_if_exists) const { … }
std::optional<llvm::StringRef>
PathMappingList::ReverseRemapPath(const FileSpec &file, FileSpec &fixed) const { … }
std::optional<FileSpec>
PathMappingList::FindFile(const FileSpec &orig_spec) const { … }
bool PathMappingList::Replace(llvm::StringRef path, llvm::StringRef new_path,
bool notify) { … }
bool PathMappingList::Remove(ConstString path, bool notify) { … }
PathMappingList::const_iterator
PathMappingList::FindIteratorForPath(ConstString path) const { … }
PathMappingList::iterator
PathMappingList::FindIteratorForPath(ConstString path) { … }
bool PathMappingList::GetPathsAtIndex(uint32_t idx, ConstString &path,
ConstString &new_path) const { … }
uint32_t PathMappingList::FindIndexForPath(llvm::StringRef orig_path) const { … }