xref: /freebsd/contrib/llvm-project/lldb/bindings/python/python-swigsafecast.swig (revision 0eae32dcef82f6f06de6419a0d623d7def0cc8f6)
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