================
@@ -356,6 +356,34 @@ class PluginManager {
GetScriptInterpreterForLanguage(lldb::ScriptLanguage script_lang,
Debugger &debugger);
+ // SyntheticFrameProvider (scripted)
+ static bool
+ RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
+ ScriptedFrameProviderCreateInstance create_callback);
+
+ static bool
+ UnregisterPlugin(ScriptedFrameProviderCreateInstance create_callback);
+
+ static ScriptedFrameProviderCreateInstance
+ GetScriptedFrameProviderCreateCallbackAtIndex(uint32_t idx);
+
+ static ScriptedFrameProviderCreateInstance
+ GetScriptedFrameProviderCreateCallbackForPluginName(llvm::StringRef name);
+
+ // SyntheticFrameProvider (C++)
+ static bool
+ RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
+ SyntheticFrameProviderCreateInstance create_callback);
+
+ static bool
+ UnregisterPlugin(SyntheticFrameProviderCreateInstance create_callback);
+
+ static SyntheticFrameProviderCreateInstance
+ GetSyntheticFrameProviderCreateCallbackAtIndex(uint32_t idx);
+
+ static SyntheticFrameProviderCreateInstance
+ GetSyntheticFrameProviderCreateCallbackForPluginName(llvm::StringRef name);
----------------
JDevlieghere wrote:
Now this looks like two plugins. Can we not do one plugin, with two callbacks,
one for creating a "Scripted" instance, and one for the C++ backed instance?
Something like:
```
static bool RegisterPlugin(
llvm::StringRef name, llvm::StringRef description,
SyntheticFrameProviderCreateInstance create_callback,
SyntheticFrameProviderCreateScriptedInstance create_scripted_callback)
```
https://github.com/llvm/llvm-project/pull/166664
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits