#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Host/FileSystem.h"
#include "lldb/Host/HostInfo.h"
#include "lldb/Interpreter/OptionValueProperties.h"
#include "lldb/Symbol/SaveCoreOptions.h"
#include "lldb/Target/Process.h"
#include "lldb/Utility/FileSpec.h"
#include "lldb/Utility/Status.h"
#include "lldb/Utility/StringList.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/DynamicLibrary.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <map>
#include <memory>
#include <mutex>
#include <string>
#include <utility>
#include <vector>
#if defined(_WIN32)
#include "lldb/Host/windows/PosixApi.h"
#endif
usingnamespacelldb;
usingnamespacelldb_private;
PluginInitCallback;
PluginTermCallback;
struct PluginInfo { … };
PluginTerminateMap;
static std::recursive_mutex &GetPluginMapMutex() { … }
static PluginTerminateMap &GetPluginMap() { … }
static bool PluginIsLoaded(const FileSpec &plugin_file_spec) { … }
static void SetPluginInfo(const FileSpec &plugin_file_spec,
const PluginInfo &plugin_info) { … }
template <typename FPtrTy> static FPtrTy CastToFPtr(void *VPtr) { … }
static FileSystem::EnumerateDirectoryResult
LoadPluginCallback(void *baton, llvm::sys::fs::file_type ft,
llvm::StringRef path) { … }
void PluginManager::Initialize() { … }
void PluginManager::Terminate() { … }
template <typename Callback> struct PluginInstance { … };
template <typename Instance> class PluginInstances { … };
#pragma mark ABI
ABIInstance;
ABIInstances;
static ABIInstances &GetABIInstances() { … }
bool PluginManager::RegisterPlugin(llvm::StringRef name,
llvm::StringRef description,
ABICreateInstance create_callback) { … }
bool PluginManager::UnregisterPlugin(ABICreateInstance create_callback) { … }
ABICreateInstance PluginManager::GetABICreateCallbackAtIndex(uint32_t idx) { … }
#pragma mark Architecture
ArchitectureInstance;
ArchitectureInstances;
static ArchitectureInstances &GetArchitectureInstances() { … }
void PluginManager::RegisterPlugin(llvm::StringRef name,
llvm::StringRef description,
ArchitectureCreateInstance create_callback) { … }
void PluginManager::UnregisterPlugin(
ArchitectureCreateInstance create_callback) { … }
std::unique_ptr<Architecture>
PluginManager::CreateArchitectureInstance(const ArchSpec &arch) { … }
#pragma mark Disassembler
DisassemblerInstance;
DisassemblerInstances;
static DisassemblerInstances &GetDisassemblerInstances() { … }
bool PluginManager::RegisterPlugin(llvm::StringRef name,
llvm::StringRef description,
DisassemblerCreateInstance create_callback) { … }
bool PluginManager::UnregisterPlugin(
DisassemblerCreateInstance create_callback) { … }
DisassemblerCreateInstance
PluginManager::GetDisassemblerCreateCallbackAtIndex(uint32_t idx) { … }
DisassemblerCreateInstance
PluginManager::GetDisassemblerCreateCallbackForPluginName(
llvm::StringRef name) { … }
#pragma mark DynamicLoader
DynamicLoaderInstance;
DynamicLoaderInstances;
static DynamicLoaderInstances &GetDynamicLoaderInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
DynamicLoaderCreateInstance create_callback,
DebuggerInitializeCallback debugger_init_callback) { … }
bool PluginManager::UnregisterPlugin(
DynamicLoaderCreateInstance create_callback) { … }
DynamicLoaderCreateInstance
PluginManager::GetDynamicLoaderCreateCallbackAtIndex(uint32_t idx) { … }
DynamicLoaderCreateInstance
PluginManager::GetDynamicLoaderCreateCallbackForPluginName(
llvm::StringRef name) { … }
#pragma mark JITLoader
JITLoaderInstance;
JITLoaderInstances;
static JITLoaderInstances &GetJITLoaderInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
JITLoaderCreateInstance create_callback,
DebuggerInitializeCallback debugger_init_callback) { … }
bool PluginManager::UnregisterPlugin(JITLoaderCreateInstance create_callback) { … }
JITLoaderCreateInstance
PluginManager::GetJITLoaderCreateCallbackAtIndex(uint32_t idx) { … }
#pragma mark EmulateInstruction
EmulateInstructionInstance;
EmulateInstructionInstances;
static EmulateInstructionInstances &GetEmulateInstructionInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
EmulateInstructionCreateInstance create_callback) { … }
bool PluginManager::UnregisterPlugin(
EmulateInstructionCreateInstance create_callback) { … }
EmulateInstructionCreateInstance
PluginManager::GetEmulateInstructionCreateCallbackAtIndex(uint32_t idx) { … }
EmulateInstructionCreateInstance
PluginManager::GetEmulateInstructionCreateCallbackForPluginName(
llvm::StringRef name) { … }
#pragma mark OperatingSystem
OperatingSystemInstance;
OperatingSystemInstances;
static OperatingSystemInstances &GetOperatingSystemInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
OperatingSystemCreateInstance create_callback,
DebuggerInitializeCallback debugger_init_callback) { … }
bool PluginManager::UnregisterPlugin(
OperatingSystemCreateInstance create_callback) { … }
OperatingSystemCreateInstance
PluginManager::GetOperatingSystemCreateCallbackAtIndex(uint32_t idx) { … }
OperatingSystemCreateInstance
PluginManager::GetOperatingSystemCreateCallbackForPluginName(
llvm::StringRef name) { … }
#pragma mark Language
LanguageInstance;
LanguageInstances;
static LanguageInstances &GetLanguageInstances() { … }
bool PluginManager::RegisterPlugin(llvm::StringRef name,
llvm::StringRef description,
LanguageCreateInstance create_callback) { … }
bool PluginManager::UnregisterPlugin(LanguageCreateInstance create_callback) { … }
LanguageCreateInstance
PluginManager::GetLanguageCreateCallbackAtIndex(uint32_t idx) { … }
#pragma mark LanguageRuntime
struct LanguageRuntimeInstance
: public PluginInstance<LanguageRuntimeCreateInstance> { … };
LanguageRuntimeInstances;
static LanguageRuntimeInstances &GetLanguageRuntimeInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
LanguageRuntimeCreateInstance create_callback,
LanguageRuntimeGetCommandObject command_callback,
LanguageRuntimeGetExceptionPrecondition precondition_callback) { … }
bool PluginManager::UnregisterPlugin(
LanguageRuntimeCreateInstance create_callback) { … }
LanguageRuntimeCreateInstance
PluginManager::GetLanguageRuntimeCreateCallbackAtIndex(uint32_t idx) { … }
LanguageRuntimeGetCommandObject
PluginManager::GetLanguageRuntimeGetCommandObjectAtIndex(uint32_t idx) { … }
LanguageRuntimeGetExceptionPrecondition
PluginManager::GetLanguageRuntimeGetExceptionPreconditionAtIndex(uint32_t idx) { … }
#pragma mark SystemRuntime
SystemRuntimeInstance;
SystemRuntimeInstances;
static SystemRuntimeInstances &GetSystemRuntimeInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
SystemRuntimeCreateInstance create_callback) { … }
bool PluginManager::UnregisterPlugin(
SystemRuntimeCreateInstance create_callback) { … }
SystemRuntimeCreateInstance
PluginManager::GetSystemRuntimeCreateCallbackAtIndex(uint32_t idx) { … }
#pragma mark ObjectFile
struct ObjectFileInstance : public PluginInstance<ObjectFileCreateInstance> { … };
ObjectFileInstances;
static ObjectFileInstances &GetObjectFileInstances() { … }
bool PluginManager::IsRegisteredObjectFilePluginName(llvm::StringRef name) { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
ObjectFileCreateInstance create_callback,
ObjectFileCreateMemoryInstance create_memory_callback,
ObjectFileGetModuleSpecifications get_module_specifications,
ObjectFileSaveCore save_core,
DebuggerInitializeCallback debugger_init_callback) { … }
bool PluginManager::UnregisterPlugin(ObjectFileCreateInstance create_callback) { … }
ObjectFileCreateInstance
PluginManager::GetObjectFileCreateCallbackAtIndex(uint32_t idx) { … }
ObjectFileCreateMemoryInstance
PluginManager::GetObjectFileCreateMemoryCallbackAtIndex(uint32_t idx) { … }
ObjectFileGetModuleSpecifications
PluginManager::GetObjectFileGetModuleSpecificationsCallbackAtIndex(
uint32_t idx) { … }
ObjectFileCreateMemoryInstance
PluginManager::GetObjectFileCreateMemoryCallbackForPluginName(
llvm::StringRef name) { … }
Status PluginManager::SaveCore(const lldb::ProcessSP &process_sp,
lldb_private::SaveCoreOptions &options) { … }
#pragma mark ObjectContainer
struct ObjectContainerInstance
: public PluginInstance<ObjectContainerCreateInstance> { … };
ObjectContainerInstances;
static ObjectContainerInstances &GetObjectContainerInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
ObjectContainerCreateInstance create_callback,
ObjectFileGetModuleSpecifications get_module_specifications,
ObjectContainerCreateMemoryInstance create_memory_callback) { … }
bool PluginManager::UnregisterPlugin(
ObjectContainerCreateInstance create_callback) { … }
ObjectContainerCreateInstance
PluginManager::GetObjectContainerCreateCallbackAtIndex(uint32_t idx) { … }
ObjectContainerCreateMemoryInstance
PluginManager::GetObjectContainerCreateMemoryCallbackAtIndex(uint32_t idx) { … }
ObjectFileGetModuleSpecifications
PluginManager::GetObjectContainerGetModuleSpecificationsCallbackAtIndex(
uint32_t idx) { … }
#pragma mark Platform
PlatformInstance;
PlatformInstances;
static PlatformInstances &GetPlatformInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
PlatformCreateInstance create_callback,
DebuggerInitializeCallback debugger_init_callback) { … }
bool PluginManager::UnregisterPlugin(PlatformCreateInstance create_callback) { … }
llvm::StringRef PluginManager::GetPlatformPluginNameAtIndex(uint32_t idx) { … }
llvm::StringRef
PluginManager::GetPlatformPluginDescriptionAtIndex(uint32_t idx) { … }
PlatformCreateInstance
PluginManager::GetPlatformCreateCallbackAtIndex(uint32_t idx) { … }
PlatformCreateInstance
PluginManager::GetPlatformCreateCallbackForPluginName(llvm::StringRef name) { … }
void PluginManager::AutoCompletePlatformName(llvm::StringRef name,
CompletionRequest &request) { … }
#pragma mark Process
ProcessInstance;
ProcessInstances;
static ProcessInstances &GetProcessInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
ProcessCreateInstance create_callback,
DebuggerInitializeCallback debugger_init_callback) { … }
bool PluginManager::UnregisterPlugin(ProcessCreateInstance create_callback) { … }
llvm::StringRef PluginManager::GetProcessPluginNameAtIndex(uint32_t idx) { … }
llvm::StringRef PluginManager::GetProcessPluginDescriptionAtIndex(uint32_t idx) { … }
ProcessCreateInstance
PluginManager::GetProcessCreateCallbackAtIndex(uint32_t idx) { … }
ProcessCreateInstance
PluginManager::GetProcessCreateCallbackForPluginName(llvm::StringRef name) { … }
void PluginManager::AutoCompleteProcessName(llvm::StringRef name,
CompletionRequest &request) { … }
#pragma mark RegisterTypeBuilder
struct RegisterTypeBuilderInstance
: public PluginInstance<RegisterTypeBuilderCreateInstance> { … };
RegisterTypeBuilderInstances;
static RegisterTypeBuilderInstances &GetRegisterTypeBuilderInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
RegisterTypeBuilderCreateInstance create_callback) { … }
bool PluginManager::UnregisterPlugin(
RegisterTypeBuilderCreateInstance create_callback) { … }
lldb::RegisterTypeBuilderSP
PluginManager::GetRegisterTypeBuilder(Target &target) { … }
#pragma mark ScriptInterpreter
struct ScriptInterpreterInstance
: public PluginInstance<ScriptInterpreterCreateInstance> { … };
ScriptInterpreterInstances;
static ScriptInterpreterInstances &GetScriptInterpreterInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
lldb::ScriptLanguage script_language,
ScriptInterpreterCreateInstance create_callback) { … }
bool PluginManager::UnregisterPlugin(
ScriptInterpreterCreateInstance create_callback) { … }
ScriptInterpreterCreateInstance
PluginManager::GetScriptInterpreterCreateCallbackAtIndex(uint32_t idx) { … }
lldb::ScriptInterpreterSP
PluginManager::GetScriptInterpreterForLanguage(lldb::ScriptLanguage script_lang,
Debugger &debugger) { … }
#pragma mark StructuredDataPlugin
struct StructuredDataPluginInstance
: public PluginInstance<StructuredDataPluginCreateInstance> { … };
StructuredDataPluginInstances;
static StructuredDataPluginInstances &GetStructuredDataPluginInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
StructuredDataPluginCreateInstance create_callback,
DebuggerInitializeCallback debugger_init_callback,
StructuredDataFilterLaunchInfo filter_callback) { … }
bool PluginManager::UnregisterPlugin(
StructuredDataPluginCreateInstance create_callback) { … }
StructuredDataPluginCreateInstance
PluginManager::GetStructuredDataPluginCreateCallbackAtIndex(uint32_t idx) { … }
StructuredDataFilterLaunchInfo
PluginManager::GetStructuredDataFilterCallbackAtIndex(
uint32_t idx, bool &iteration_complete) { … }
#pragma mark SymbolFile
SymbolFileInstance;
SymbolFileInstances;
static SymbolFileInstances &GetSymbolFileInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
SymbolFileCreateInstance create_callback,
DebuggerInitializeCallback debugger_init_callback) { … }
bool PluginManager::UnregisterPlugin(SymbolFileCreateInstance create_callback) { … }
SymbolFileCreateInstance
PluginManager::GetSymbolFileCreateCallbackAtIndex(uint32_t idx) { … }
#pragma mark SymbolVendor
SymbolVendorInstance;
SymbolVendorInstances;
static SymbolVendorInstances &GetSymbolVendorInstances() { … }
bool PluginManager::RegisterPlugin(llvm::StringRef name,
llvm::StringRef description,
SymbolVendorCreateInstance create_callback) { … }
bool PluginManager::UnregisterPlugin(
SymbolVendorCreateInstance create_callback) { … }
SymbolVendorCreateInstance
PluginManager::GetSymbolVendorCreateCallbackAtIndex(uint32_t idx) { … }
#pragma mark SymbolLocator
struct SymbolLocatorInstance
: public PluginInstance<SymbolLocatorCreateInstance> { … };
SymbolLocatorInstances;
static SymbolLocatorInstances &GetSymbolLocatorInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
SymbolLocatorCreateInstance create_callback,
SymbolLocatorLocateExecutableObjectFile locate_executable_object_file,
SymbolLocatorLocateExecutableSymbolFile locate_executable_symbol_file,
SymbolLocatorDownloadObjectAndSymbolFile download_object_symbol_file,
SymbolLocatorFindSymbolFileInBundle find_symbol_file_in_bundle,
DebuggerInitializeCallback debugger_init_callback) { … }
bool PluginManager::UnregisterPlugin(
SymbolLocatorCreateInstance create_callback) { … }
SymbolLocatorCreateInstance
PluginManager::GetSymbolLocatorCreateCallbackAtIndex(uint32_t idx) { … }
ModuleSpec
PluginManager::LocateExecutableObjectFile(const ModuleSpec &module_spec) { … }
FileSpec PluginManager::LocateExecutableSymbolFile(
const ModuleSpec &module_spec, const FileSpecList &default_search_paths) { … }
bool PluginManager::DownloadObjectAndSymbolFile(ModuleSpec &module_spec,
Status &error,
bool force_lookup,
bool copy_executable) { … }
FileSpec PluginManager::FindSymbolFileInBundle(const FileSpec &symfile_bundle,
const UUID *uuid,
const ArchSpec *arch) { … }
#pragma mark Trace
struct TraceInstance
: public PluginInstance<TraceCreateInstanceFromBundle> { … };
TraceInstances;
static TraceInstances &GetTracePluginInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
TraceCreateInstanceFromBundle create_callback_from_bundle,
TraceCreateInstanceForLiveProcess create_callback_for_live_process,
llvm::StringRef schema, DebuggerInitializeCallback debugger_init_callback) { … }
bool PluginManager::UnregisterPlugin(
TraceCreateInstanceFromBundle create_callback_from_bundle) { … }
TraceCreateInstanceFromBundle
PluginManager::GetTraceCreateCallback(llvm::StringRef plugin_name) { … }
TraceCreateInstanceForLiveProcess
PluginManager::GetTraceCreateCallbackForLiveProcess(llvm::StringRef plugin_name) { … }
llvm::StringRef PluginManager::GetTraceSchema(llvm::StringRef plugin_name) { … }
llvm::StringRef PluginManager::GetTraceSchema(size_t index) { … }
#pragma mark TraceExporter
struct TraceExporterInstance
: public PluginInstance<TraceExporterCreateInstance> { … };
TraceExporterInstances;
static TraceExporterInstances &GetTraceExporterInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
TraceExporterCreateInstance create_callback,
ThreadTraceExportCommandCreator create_thread_trace_export_command) { … }
TraceExporterCreateInstance
PluginManager::GetTraceExporterCreateCallback(llvm::StringRef plugin_name) { … }
bool PluginManager::UnregisterPlugin(
TraceExporterCreateInstance create_callback) { … }
ThreadTraceExportCommandCreator
PluginManager::GetThreadTraceExportCommandCreatorAtIndex(uint32_t index) { … }
llvm::StringRef
PluginManager::GetTraceExporterPluginNameAtIndex(uint32_t index) { … }
#pragma mark UnwindAssembly
UnwindAssemblyInstance;
UnwindAssemblyInstances;
static UnwindAssemblyInstances &GetUnwindAssemblyInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
UnwindAssemblyCreateInstance create_callback) { … }
bool PluginManager::UnregisterPlugin(
UnwindAssemblyCreateInstance create_callback) { … }
UnwindAssemblyCreateInstance
PluginManager::GetUnwindAssemblyCreateCallbackAtIndex(uint32_t idx) { … }
#pragma mark MemoryHistory
MemoryHistoryInstance;
MemoryHistoryInstances;
static MemoryHistoryInstances &GetMemoryHistoryInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
MemoryHistoryCreateInstance create_callback) { … }
bool PluginManager::UnregisterPlugin(
MemoryHistoryCreateInstance create_callback) { … }
MemoryHistoryCreateInstance
PluginManager::GetMemoryHistoryCreateCallbackAtIndex(uint32_t idx) { … }
#pragma mark InstrumentationRuntime
struct InstrumentationRuntimeInstance
: public PluginInstance<InstrumentationRuntimeCreateInstance> { … };
InstrumentationRuntimeInstances;
static InstrumentationRuntimeInstances &GetInstrumentationRuntimeInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
InstrumentationRuntimeCreateInstance create_callback,
InstrumentationRuntimeGetType get_type_callback) { … }
bool PluginManager::UnregisterPlugin(
InstrumentationRuntimeCreateInstance create_callback) { … }
InstrumentationRuntimeGetType
PluginManager::GetInstrumentationRuntimeGetTypeCallbackAtIndex(uint32_t idx) { … }
InstrumentationRuntimeCreateInstance
PluginManager::GetInstrumentationRuntimeCreateCallbackAtIndex(uint32_t idx) { … }
#pragma mark TypeSystem
struct TypeSystemInstance : public PluginInstance<TypeSystemCreateInstance> { … };
TypeSystemInstances;
static TypeSystemInstances &GetTypeSystemInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
TypeSystemCreateInstance create_callback,
LanguageSet supported_languages_for_types,
LanguageSet supported_languages_for_expressions) { … }
bool PluginManager::UnregisterPlugin(TypeSystemCreateInstance create_callback) { … }
TypeSystemCreateInstance
PluginManager::GetTypeSystemCreateCallbackAtIndex(uint32_t idx) { … }
LanguageSet PluginManager::GetAllTypeSystemSupportedLanguagesForTypes() { … }
LanguageSet PluginManager::GetAllTypeSystemSupportedLanguagesForExpressions() { … }
#pragma mark ScriptedInterfaces
struct ScriptedInterfaceInstance
: public PluginInstance<ScriptedInterfaceCreateInstance> { … };
ScriptedInterfaceInstances;
static ScriptedInterfaceInstances &GetScriptedInterfaceInstances() { … }
bool PluginManager::RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
ScriptedInterfaceCreateInstance create_callback,
lldb::ScriptLanguage language, ScriptedInterfaceUsages usages) { … }
bool PluginManager::UnregisterPlugin(
ScriptedInterfaceCreateInstance create_callback) { … }
uint32_t PluginManager::GetNumScriptedInterfaces() { … }
llvm::StringRef PluginManager::GetScriptedInterfaceNameAtIndex(uint32_t index) { … }
llvm::StringRef
PluginManager::GetScriptedInterfaceDescriptionAtIndex(uint32_t index) { … }
lldb::ScriptLanguage
PluginManager::GetScriptedInterfaceLanguageAtIndex(uint32_t idx) { … }
ScriptedInterfaceUsages
PluginManager::GetScriptedInterfaceUsagesAtIndex(uint32_t idx) { … }
#pragma mark REPL
struct REPLInstance : public PluginInstance<REPLCreateInstance> { … };
REPLInstances;
static REPLInstances &GetREPLInstances() { … }
bool PluginManager::RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
REPLCreateInstance create_callback,
LanguageSet supported_languages) { … }
bool PluginManager::UnregisterPlugin(REPLCreateInstance create_callback) { … }
REPLCreateInstance PluginManager::GetREPLCreateCallbackAtIndex(uint32_t idx) { … }
LanguageSet PluginManager::GetREPLSupportedLanguagesAtIndex(uint32_t idx) { … }
LanguageSet PluginManager::GetREPLAllTypeSystemSupportedLanguages() { … }
#pragma mark PluginManager
void PluginManager::DebuggerInitialize(Debugger &debugger) { … }
static lldb::OptionValuePropertiesSP
GetDebuggerPropertyForPlugins(Debugger &debugger, llvm::StringRef plugin_type_name,
llvm::StringRef plugin_type_desc,
bool can_create) { … }
static lldb::OptionValuePropertiesSP GetDebuggerPropertyForPluginsOldStyle(
Debugger &debugger, llvm::StringRef plugin_type_name,
llvm::StringRef plugin_type_desc, bool can_create) { … }
namespace {
GetDebuggerPropertyForPluginsPtr;
}
static lldb::OptionValuePropertiesSP
GetSettingForPlugin(Debugger &debugger, llvm::StringRef setting_name,
llvm::StringRef plugin_type_name,
GetDebuggerPropertyForPluginsPtr get_debugger_property =
GetDebuggerPropertyForPlugins) { … }
static bool
CreateSettingForPlugin(Debugger &debugger, llvm::StringRef plugin_type_name,
llvm::StringRef plugin_type_desc,
const lldb::OptionValuePropertiesSP &properties_sp,
llvm::StringRef description, bool is_global_property,
GetDebuggerPropertyForPluginsPtr get_debugger_property =
GetDebuggerPropertyForPlugins) { … }
static constexpr llvm::StringLiteral kDynamicLoaderPluginName("dynamic-loader");
static constexpr llvm::StringLiteral kPlatformPluginName("platform");
static constexpr llvm::StringLiteral kProcessPluginName("process");
static constexpr llvm::StringLiteral kTracePluginName("trace");
static constexpr llvm::StringLiteral kObjectFilePluginName("object-file");
static constexpr llvm::StringLiteral kSymbolFilePluginName("symbol-file");
static constexpr llvm::StringLiteral kSymbolLocatorPluginName("symbol-locator");
static constexpr llvm::StringLiteral kJITLoaderPluginName("jit-loader");
static constexpr llvm::StringLiteral
kStructuredDataPluginName("structured-data");
lldb::OptionValuePropertiesSP
PluginManager::GetSettingForDynamicLoaderPlugin(Debugger &debugger,
llvm::StringRef setting_name) { … }
bool PluginManager::CreateSettingForDynamicLoaderPlugin(
Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
llvm::StringRef description, bool is_global_property) { … }
lldb::OptionValuePropertiesSP
PluginManager::GetSettingForPlatformPlugin(Debugger &debugger,
llvm::StringRef setting_name) { … }
bool PluginManager::CreateSettingForPlatformPlugin(
Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
llvm::StringRef description, bool is_global_property) { … }
lldb::OptionValuePropertiesSP
PluginManager::GetSettingForProcessPlugin(Debugger &debugger,
llvm::StringRef setting_name) { … }
bool PluginManager::CreateSettingForProcessPlugin(
Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
llvm::StringRef description, bool is_global_property) { … }
lldb::OptionValuePropertiesSP
PluginManager::GetSettingForSymbolLocatorPlugin(Debugger &debugger,
llvm::StringRef setting_name) { … }
bool PluginManager::CreateSettingForSymbolLocatorPlugin(
Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
llvm::StringRef description, bool is_global_property) { … }
bool PluginManager::CreateSettingForTracePlugin(
Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
llvm::StringRef description, bool is_global_property) { … }
lldb::OptionValuePropertiesSP
PluginManager::GetSettingForObjectFilePlugin(Debugger &debugger,
llvm::StringRef setting_name) { … }
bool PluginManager::CreateSettingForObjectFilePlugin(
Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
llvm::StringRef description, bool is_global_property) { … }
lldb::OptionValuePropertiesSP
PluginManager::GetSettingForSymbolFilePlugin(Debugger &debugger,
llvm::StringRef setting_name) { … }
bool PluginManager::CreateSettingForSymbolFilePlugin(
Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
llvm::StringRef description, bool is_global_property) { … }
lldb::OptionValuePropertiesSP
PluginManager::GetSettingForJITLoaderPlugin(Debugger &debugger,
llvm::StringRef setting_name) { … }
bool PluginManager::CreateSettingForJITLoaderPlugin(
Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
llvm::StringRef description, bool is_global_property) { … }
static const char *kOperatingSystemPluginName("os");
lldb::OptionValuePropertiesSP
PluginManager::GetSettingForOperatingSystemPlugin(Debugger &debugger,
llvm::StringRef setting_name) { … }
bool PluginManager::CreateSettingForOperatingSystemPlugin(
Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
llvm::StringRef description, bool is_global_property) { … }
lldb::OptionValuePropertiesSP
PluginManager::GetSettingForStructuredDataPlugin(Debugger &debugger,
llvm::StringRef setting_name) { … }
bool PluginManager::CreateSettingForStructuredDataPlugin(
Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
llvm::StringRef description, bool is_global_property) { … }