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