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