LLDB mainline
PluginManager.h File Reference
#include "lldb/Core/Architecture.h"
#include "lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h"
#include "lldb/Symbol/TypeSystem.h"
#include "lldb/Target/Statistics.h"
#include "lldb/Utility/CompletionRequest.h"
#include "lldb/Utility/FileSpec.h"
#include "lldb/Utility/Status.h"
#include "lldb/lldb-enumerations.h"
#include "lldb/lldb-forward.h"
#include "lldb/lldb-private-interfaces.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/JSON.h"
#include <cstddef>
#include <cstdint>
#include <functional>
#include <vector>

Go to the source code of this file.

Classes

struct  lldb_private::RegisteredPluginInfo
struct  lldb_private::PluginNamespace
struct  lldb_private::InstrumentationRuntimeCallbacks
struct  lldb_private::LanguageRuntimeCallbacks
struct  lldb_private::ObjectFileCallbacks
struct  lldb_private::ObjectContainerCallbacks
struct  lldb_private::StructuredDataPluginCallbacks
struct  lldb_private::REPLCallbacks
struct  lldb_private::TraceExporterCallbacks
class  lldb_private::PluginManager

Namespaces

namespace  lldb_private
 A class that represents a running process on the host machine.

Macros

#define LLDB_PLUGIN_DEFINE_ADV(ClassName, PluginName)
#define LLDB_PLUGIN_DEFINE(PluginName)
#define LLDB_PLUGIN_DECLARE(PluginName)
#define LLDB_PLUGIN_INITIALIZE(PluginName)
#define LLDB_PLUGIN_TERMINATE(PluginName)

Typedefs

using lldb_private::GetPluginInfo = std::function<llvm::SmallVector<RegisteredPluginInfo>()>
using lldb_private::SetPluginEnabled = std::function<bool(llvm::StringRef, bool)>

Macro Definition Documentation

◆ LLDB_PLUGIN_DECLARE

#define LLDB_PLUGIN_DECLARE ( PluginName)
Value:
extern "C" { \
extern bool lldb_initialize_##PluginName(); \
extern void lldb_terminate_##PluginName(); \
}

Definition at line 47 of file PluginManager.h.

◆ LLDB_PLUGIN_DEFINE

#define LLDB_PLUGIN_DEFINE ( PluginName)
Value:
LLDB_PLUGIN_DEFINE_ADV(PluginName, PluginName)
#define LLDB_PLUGIN_DEFINE_ADV(ClassName, PluginName)

Definition at line 43 of file PluginManager.h.

◆ LLDB_PLUGIN_DEFINE_ADV

#define LLDB_PLUGIN_DEFINE_ADV ( ClassName,
PluginName )
Value:
extern "C" { \
bool lldb_initialize_##PluginName() { \
ClassName::Initialize(); \
return true; \
} \
void lldb_terminate_##PluginName() { ClassName::Terminate(); } \
}

Definition at line 34 of file PluginManager.h.

◆ LLDB_PLUGIN_INITIALIZE

#define LLDB_PLUGIN_INITIALIZE ( PluginName)
Value:
lldb_initialize_##PluginName()

Definition at line 53 of file PluginManager.h.

◆ LLDB_PLUGIN_TERMINATE

#define LLDB_PLUGIN_TERMINATE ( PluginName)
Value:
lldb_terminate_##PluginName()

Definition at line 54 of file PluginManager.h.