1namespace lldb_private { 2namespace python { 3 4PyObject *SBTypeToSWIGWrapper(lldb::SBEvent &event_sb) { 5 return SWIG_NewPointerObj(&event_sb, SWIGTYPE_p_lldb__SBEvent, 0); 6} 7 8PyObject *SBTypeToSWIGWrapper(lldb::SBCommandReturnObject &cmd_ret_obj_sb) { 9 return SWIG_NewPointerObj(&cmd_ret_obj_sb, 10 SWIGTYPE_p_lldb__SBCommandReturnObject, 0); 11} 12 13PythonObject ToSWIGHelper(void *obj, swig_type_info *info) { 14 return {PyRefType::Owned, SWIG_NewPointerObj(obj, info, SWIG_POINTER_OWN)}; 15} 16 17PythonObject ToSWIGWrapper(std::unique_ptr<lldb::SBValue> value_sb) { 18 return ToSWIGHelper(value_sb.release(), SWIGTYPE_p_lldb__SBValue); 19} 20 21PythonObject ToSWIGWrapper(lldb::ValueObjectSP value_sp) { 22 return ToSWIGWrapper(std::make_unique<lldb::SBValue>(std::move(value_sp))); 23} 24 25PythonObject ToSWIGWrapper(lldb::TargetSP target_sp) { 26 return ToSWIGHelper(new lldb::SBTarget(std::move(target_sp)), 27 SWIGTYPE_p_lldb__SBTarget); 28} 29 30PythonObject ToSWIGWrapper(lldb::ProcessSP process_sp) { 31 return ToSWIGHelper(new lldb::SBProcess(std::move(process_sp)), 32 SWIGTYPE_p_lldb__SBProcess); 33} 34 35PythonObject ToSWIGWrapper(lldb::ThreadPlanSP thread_plan_sp) { 36 return ToSWIGHelper(new lldb::SBThreadPlan(std::move(thread_plan_sp)), 37 SWIGTYPE_p_lldb__SBThreadPlan); 38} 39 40PythonObject ToSWIGWrapper(lldb::BreakpointSP breakpoint_sp) { 41 return ToSWIGHelper(new lldb::SBBreakpoint(std::move(breakpoint_sp)), 42 SWIGTYPE_p_lldb__SBBreakpoint); 43} 44 45PythonObject ToSWIGWrapper(std::unique_ptr<lldb::SBStream> stream_sb) { 46 return ToSWIGHelper(stream_sb.release(), SWIGTYPE_p_lldb__SBStream); 47} 48 49PythonObject ToSWIGWrapper(std::unique_ptr<lldb::SBStructuredData> data_sb) { 50 return ToSWIGHelper(data_sb.release(), SWIGTYPE_p_lldb__SBStructuredData); 51} 52 53PythonObject ToSWIGWrapper(const StructuredDataImpl &data_impl) { 54 return ToSWIGWrapper(std::make_unique<lldb::SBStructuredData>(data_impl)); 55} 56 57PythonObject ToSWIGWrapper(lldb::ThreadSP thread_sp) { 58 return ToSWIGHelper(new lldb::SBThread(std::move(thread_sp)), 59 SWIGTYPE_p_lldb__SBThread); 60} 61 62PythonObject ToSWIGWrapper(lldb::StackFrameSP frame_sp) { 63 return ToSWIGHelper(new lldb::SBFrame(std::move(frame_sp)), 64 SWIGTYPE_p_lldb__SBFrame); 65} 66 67PythonObject ToSWIGWrapper(lldb::DebuggerSP debugger_sp) { 68 return ToSWIGHelper(new lldb::SBDebugger(std::move(debugger_sp)), 69 SWIGTYPE_p_lldb__SBDebugger); 70} 71 72PythonObject ToSWIGWrapper(lldb::WatchpointSP watchpoint_sp) { 73 return ToSWIGHelper(new lldb::SBWatchpoint(std::move(watchpoint_sp)), 74 SWIGTYPE_p_lldb__SBWatchpoint); 75} 76 77PythonObject ToSWIGWrapper(lldb::BreakpointLocationSP bp_loc_sp) { 78 return ToSWIGHelper(new lldb::SBBreakpointLocation(std::move(bp_loc_sp)), 79 SWIGTYPE_p_lldb__SBBreakpointLocation); 80} 81 82PythonObject ToSWIGWrapper(lldb::ExecutionContextRefSP ctx_sp) { 83 return ToSWIGHelper(new lldb::SBExecutionContext(std::move(ctx_sp)), 84 SWIGTYPE_p_lldb__SBExecutionContext); 85} 86 87PythonObject ToSWIGWrapper(const TypeSummaryOptions &summary_options) { 88 return ToSWIGHelper(new lldb::SBTypeSummaryOptions(summary_options), 89 SWIGTYPE_p_lldb__SBTypeSummaryOptions); 90} 91 92PythonObject ToSWIGWrapper(const SymbolContext &sym_ctx) { 93 return ToSWIGHelper(new lldb::SBSymbolContext(sym_ctx), 94 SWIGTYPE_p_lldb__SBSymbolContext); 95} 96 97} // namespace python 98} // namespace lldb_private 99