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::SBStructuredData &structured_data_sb) {
45  return SWIG_NewPointerObj(&structured_data_sb,
46                            SWIGTYPE_p_lldb__SBStructuredData, 0);
47}
48
49PyObject *SBTypeToSWIGWrapper(lldb::SBSymbolContext &sym_ctx_sb) {
50  return SWIG_NewPointerObj(&sym_ctx_sb, SWIGTYPE_p_lldb__SBSymbolContext, 0);
51}
52
53PyObject *SBTypeToSWIGWrapper(lldb::SBStream &stream_sb) {
54  return SWIG_NewPointerObj(&stream_sb, SWIGTYPE_p_lldb__SBStream, 0);
55}
56
57PythonObject ToSWIGHelper(void *obj, swig_type_info *info) {
58  return {PyRefType::Owned, SWIG_NewPointerObj(obj, info, SWIG_POINTER_OWN)};
59}
60
61PythonObject ToSWIGWrapper(std::unique_ptr<lldb::SBValue> value_sb) {
62  return ToSWIGHelper(value_sb.release(), SWIGTYPE_p_lldb__SBValue);
63}
64
65PythonObject ToSWIGWrapper(lldb::ValueObjectSP value_sp) {
66  return ToSWIGWrapper(std::make_unique<lldb::SBValue>(std::move(value_sp)));
67}
68
69PythonObject ToSWIGWrapper(lldb::TargetSP target_sp) {
70  return ToSWIGHelper(new lldb::SBTarget(std::move(target_sp)),
71                      SWIGTYPE_p_lldb__SBTarget);
72}
73
74PythonObject ToSWIGWrapper(lldb::ProcessSP process_sp) {
75  return ToSWIGHelper(new lldb::SBProcess(std::move(process_sp)),
76                      SWIGTYPE_p_lldb__SBProcess);
77}
78
79PythonObject ToSWIGWrapper(lldb::ThreadPlanSP thread_plan_sp) {
80  return ToSWIGHelper(new lldb::SBThreadPlan(std::move(thread_plan_sp)),
81                      SWIGTYPE_p_lldb__SBThreadPlan);
82}
83
84PythonObject ToSWIGWrapper(lldb::BreakpointSP breakpoint_sp) {
85  return ToSWIGHelper(new lldb::SBBreakpoint(std::move(breakpoint_sp)),
86                      SWIGTYPE_p_lldb__SBBreakpoint);
87}
88
89} // namespace python
90} // namespace lldb_private
91