Author: rchamala Date: 2025-01-06T09:17:58-08:00 New Revision: b6960e2a631df38c076cee2845978b0606cea066
URL: https://github.com/llvm/llvm-project/commit/b6960e2a631df38c076cee2845978b0606cea066 DIFF: https://github.com/llvm/llvm-project/commit/b6960e2a631df38c076cee2845978b0606cea066.diff LOG: [lldb][ResolveSourceFileCallback] Update SBModule (#120832) Summary: RFC https://discourse.llvm.org/t/rfc-python-callback-for-source-file-resolution/83545 SBModule will be used for resolve source file callback as Python function arguments. This diff allows these things. Can be instantiated from SBPlatform. Can be passed to/from Python. Test Plan: N/A. The next set of diffs in the stack have unittests and shell test validation Co-authored-by: Rahul Reddy Chamala <racha...@fb.com> Added: Modified: lldb/bindings/python/python-swigsafecast.swig lldb/include/lldb/API/SBModule.h lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h Removed: ################################################################################ diff --git a/lldb/bindings/python/python-swigsafecast.swig b/lldb/bindings/python/python-swigsafecast.swig index 7a4f7e81f1cc3b..429baad158ca5d 100644 --- a/lldb/bindings/python/python-swigsafecast.swig +++ b/lldb/bindings/python/python-swigsafecast.swig @@ -23,6 +23,11 @@ PythonObject SWIGBridge::ToSWIGWrapper(lldb::ProcessSP process_sp) { SWIGTYPE_p_lldb__SBProcess); } +PythonObject SWIGBridge::ToSWIGWrapper(lldb::ModuleSP module_sp) { + return ToSWIGHelper(new lldb::SBModule(std::move(module_sp)), + SWIGTYPE_p_lldb__SBModule); +} + PythonObject SWIGBridge::ToSWIGWrapper(lldb::ThreadPlanSP thread_plan_sp) { return ToSWIGHelper(new lldb::SBThreadPlan(std::move(thread_plan_sp)), SWIGTYPE_p_lldb__SBThreadPlan); diff --git a/lldb/include/lldb/API/SBModule.h b/lldb/include/lldb/API/SBModule.h index 7200a1ef53fd82..85332066ee6875 100644 --- a/lldb/include/lldb/API/SBModule.h +++ b/lldb/include/lldb/API/SBModule.h @@ -301,9 +301,12 @@ class LLDB_API SBModule { friend class SBFrame; friend class SBSection; friend class SBSymbolContext; + friend class SBPlatform; friend class SBTarget; friend class SBType; + friend class lldb_private::python::SWIGBridge; + explicit SBModule(const lldb::ModuleSP &module_sp); ModuleSP GetSP() const; diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h b/lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h index 518a478af5f6a8..0f0e4a563e8b2b 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h +++ b/lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h @@ -84,6 +84,7 @@ class SWIGBridge { 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::ModuleSP module_sp); static PythonObject ToSWIGWrapper(lldb::ThreadPlanSP thread_plan_sp); static PythonObject ToSWIGWrapper(lldb::BreakpointSP breakpoint_sp); static PythonObject ToSWIGWrapper(Status &&status); _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits