bulbazord added inline comments.

================
Comment at: lldb/include/lldb/API/SBBreakpoint.h:18-19
 class ScriptInterpreter;
+namespace python {
+class SWIGBridge;
 }
----------------
mib wrote:
> We've talked about this offline, but I think we should stay language agnostic 
> in the SBAPI, so exposing a python namespace here is bothering me a little 
> bit.
I agree, but we can refactor this later. Removing and/or changing forward 
declarations doesn't break ABI.


================
Comment at: lldb/source/API/SBCommandInterpreter.cpp:37
+namespace lldb_private {
 class CommandPluginInterfaceImplementation : public CommandObjectParsed {
 public:
----------------
mib wrote:
> I find it a bit odd to have this here ... May be we should move this class 
> out the the `API` directory ?
It's a little odd for sure, but it is an implementation detail so having it in 
the cpp file seems alright. Where would you put it?


================
Comment at: 
lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h:64-90
+class SWIGBridge {
+public:
+  static PythonObject ToSWIGWrapper(std::unique_ptr<lldb::SBValue> value_sb);
+  static PythonObject ToSWIGWrapper(lldb::ValueObjectSP value_sp);
+  static PythonObject ToSWIGWrapper(lldb::TargetSP target_sp);
+  static PythonObject ToSWIGWrapper(lldb::ProcessSP process_sp);
+  static PythonObject ToSWIGWrapper(lldb::ThreadPlanSP thread_plan_sp);
----------------
mib wrote:
> Although this is nested in the `python` namespace, I think `SWIGBridge` 
> should be a templated class defined in the `ScriptedInterpreter` header and 
> this class should be instead renamed as `SWIGPythonBridge` and be a 
> specialization of the `SWIGBridge` class. We can do that as a follow-up but a 
> `TODO` comment would be nice.
Sure, I can add the TODO. I'd rather not add the templates or subclass in this 
patch as it is complicated enough already.


================
Comment at: 
lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h:248-254
+void *LLDBSWIGPython_CastPyObjectToSBData(PyObject *data);
+void *LLDBSWIGPython_CastPyObjectToSBBreakpoint(PyObject *data);
+void *LLDBSWIGPython_CastPyObjectToSBAttachInfo(PyObject *data);
+void *LLDBSWIGPython_CastPyObjectToSBLaunchInfo(PyObject *data);
+void *LLDBSWIGPython_CastPyObjectToSBError(PyObject *data);
+void *LLDBSWIGPython_CastPyObjectToSBValue(PyObject *data);
+void *LLDBSWIGPython_CastPyObjectToSBMemoryRegionInfo(PyObject *data);
----------------
mib wrote:
> Can we move these in the `python` namespace as well ?
Sure


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D150157/new/

https://reviews.llvm.org/D150157

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to