================
@@ -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

Reply via email to