#include "SymbolLocatorDebuginfod.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Interpreter/OptionValueString.h"
#include "lldb/Utility/Args.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "llvm/Debuginfod/Debuginfod.h"
#include "llvm/Debuginfod/HTTPClient.h"
usingnamespacelldb;
usingnamespacelldb_private;
LLDB_PLUGIN_DEFINE(…)
namespace {
#define LLDB_PROPERTIES_symbollocatordebuginfod
#include "SymbolLocatorDebuginfodProperties.inc"
enum { … };
class PluginProperties : public Properties { … };
}
static PluginProperties &GetGlobalPluginProperties() { … }
SymbolLocatorDebuginfod::SymbolLocatorDebuginfod() : … { … }
void SymbolLocatorDebuginfod::Initialize() { … }
void SymbolLocatorDebuginfod::DebuggerInitialize(Debugger &debugger) { … }
void SymbolLocatorDebuginfod::Terminate() { … }
llvm::StringRef SymbolLocatorDebuginfod::GetPluginDescriptionStatic() { … }
SymbolLocator *SymbolLocatorDebuginfod::CreateInstance() { … }
static std::optional<FileSpec>
GetFileForModule(const ModuleSpec &module_spec,
std::function<std::string(llvm::object::BuildID)> UrlBuilder) { … }
std::optional<ModuleSpec> SymbolLocatorDebuginfod::LocateExecutableObjectFile(
const ModuleSpec &module_spec) { … }
std::optional<FileSpec> SymbolLocatorDebuginfod::LocateExecutableSymbolFile(
const ModuleSpec &module_spec, const FileSpecList &default_search_paths) { … }