Bug Summary

File:build/source/build-llvm/tools/clang/stage2-bins/tools/lldb/bindings/python/LLDBWrapPython.cpp
Warning:line 4289, column 5
Called C++ object pointer is null

Annotated Source Code

Press '?' to see keyboard shortcuts

clang -cc1 -cc1 -triple x86_64-pc-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name LLDBWrapPython.cpp -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=cplusplus -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -analyzer-config-compatibility-mode=true -mrelocation-model pic -pic-level 2 -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -ffunction-sections -fdata-sections -fcoverage-compilation-dir=/build/source/build-llvm/tools/clang/stage2-bins -resource-dir /usr/lib/llvm-17/lib/clang/17 -isystem /usr/include/libxml2 -D HAVE_ROUND -D LLDB_IN_LIBLLDB -D _DEBUG -D _GLIBCXX_ASSERTIONS -D _GNU_SOURCE -D _LIBCPP_ENABLE_ASSERTIONS -D __STDC_CONSTANT_MACROS -D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -I tools/lldb/source/API -I /build/source/lldb/source/API -I /build/source/lldb/include -I tools/lldb/include -I include -I /build/source/llvm/include -I /usr/include/python3.9 -I /build/source/clang/include -I tools/lldb/../clang/include -I /build/source/lldb/source -I tools/lldb/source -D _FORTIFY_SOURCE=2 -D NDEBUG -U NDEBUG -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/backward -internal-isystem /usr/lib/llvm-17/lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fmacro-prefix-map=/build/source/build-llvm/tools/clang/stage2-bins=build-llvm/tools/clang/stage2-bins -fmacro-prefix-map=/build/source/= -fcoverage-prefix-map=/build/source/build-llvm/tools/clang/stage2-bins=build-llvm/tools/clang/stage2-bins -fcoverage-prefix-map=/build/source/= -source-date-epoch 1683717183 -O2 -Wno-unused-command-line-argument -Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wno-comment -Wno-misleading-indentation -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-stringop-truncation -Wno-sequence-point -Wno-cast-qual -std=c++17 -fdeprecated-macro -fdebug-compilation-dir=/build/source/build-llvm/tools/clang/stage2-bins -fdebug-prefix-map=/build/source/build-llvm/tools/clang/stage2-bins=build-llvm/tools/clang/stage2-bins -fdebug-prefix-map=/build/source/= -ferror-limit 19 -fvisibility-inlines-hidden -stack-protector 2 -fgnuc-version=4.2.1 -fcolor-diagnostics -vectorize-loops -vectorize-slp -analyzer-output=html -analyzer-config stable-report-filename=true -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/scan-build-2023-05-10-133810-16478-1 -x c++ tools/lldb/bindings/python/LLDBWrapPython.cpp
1/* ----------------------------------------------------------------------------
2 * This file was automatically generated by SWIG (http://www.swig.org).
3 * Version 4.0.2
4 *
5 * This file is not intended to be easily readable and contains a number of
6 * coding conventions designed to improve portability and efficiency. Do not make
7 * changes to this file unless you know what you are doing--modify the SWIG
8 * interface file instead.
9 * ----------------------------------------------------------------------------- */
10
11
12#ifndef SWIGPYTHON
13#define SWIGPYTHON
14#endif
15
16#define SWIG_PYTHON_THREADS
17#define SWIG_PYTHON_DIRECTOR_NO_VTABLE
18
19
20#ifdef __cplusplus201703L
21/* SwigValueWrapper is described in swig.swg */
22template<typename T> class SwigValueWrapper {
23 struct SwigMovePointer {
24 T *ptr;
25 SwigMovePointer(T *p) : ptr(p) { }
26 ~SwigMovePointer() { delete ptr; }
27 SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
28 } pointer;
29 SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
30 SwigValueWrapper(const SwigValueWrapper<T>& rhs);
31public:
32 SwigValueWrapper() : pointer(0) { }
33 SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
34 operator T&() const { return *pointer.ptr; }
35 T *operator&() { return pointer.ptr; }
36};
37
38template <typename T> T SwigValueInit() {
39 return T();
40}
41#endif
42
43/* -----------------------------------------------------------------------------
44 * This section contains generic SWIG labels for method/variable
45 * declarations/attributes, and other compiler dependent labels.
46 * ----------------------------------------------------------------------------- */
47
48/* template workaround for compilers that cannot correctly implement the C++ standard */
49#ifndef SWIGTEMPLATEDISAMBIGUATOR
50# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
51# define SWIGTEMPLATEDISAMBIGUATOR template
52# elif defined(__HP_aCC)
53/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
54/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
55# define SWIGTEMPLATEDISAMBIGUATOR template
56# else
57# define SWIGTEMPLATEDISAMBIGUATOR
58# endif
59#endif
60
61/* inline attribute */
62#ifndef SWIGINLINEinline
63# if defined(__cplusplus201703L) || (defined(__GNUC__4) && !defined(__STRICT_ANSI__1))
64# define SWIGINLINEinline inline
65# else
66# define SWIGINLINEinline
67# endif
68#endif
69
70/* attribute recognised by some compilers to avoid 'unused' warnings */
71#ifndef SWIGUNUSED__attribute__ ((__unused__))
72# if defined(__GNUC__4)
73# if !(defined(__cplusplus201703L)) || (__GNUC__4 > 3 || (__GNUC__4 == 3 && __GNUC_MINOR__2 >= 4))
74# define SWIGUNUSED__attribute__ ((__unused__)) __attribute__ ((__unused__))
75# else
76# define SWIGUNUSED__attribute__ ((__unused__))
77# endif
78# elif defined(__ICC)
79# define SWIGUNUSED__attribute__ ((__unused__)) __attribute__ ((__unused__))
80# else
81# define SWIGUNUSED__attribute__ ((__unused__))
82# endif
83#endif
84
85#ifndef SWIG_MSC_UNSUPPRESS_4505
86# if defined(_MSC_VER)
87# pragma warning(disable : 4505) /* unreferenced local function has been removed */
88# endif
89#endif
90
91#ifndef SWIGUNUSEDPARM
92# ifdef __cplusplus201703L
93# define SWIGUNUSEDPARM(p)
94# else
95# define SWIGUNUSEDPARM(p) p SWIGUNUSED__attribute__ ((__unused__))
96# endif
97#endif
98
99/* internal SWIG method */
100#ifndef SWIGINTERNstatic __attribute__ ((__unused__))
101# define SWIGINTERNstatic __attribute__ ((__unused__)) static SWIGUNUSED__attribute__ ((__unused__))
102#endif
103
104/* internal inline SWIG method */
105#ifndef SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline
106# define SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline SWIGINTERNstatic __attribute__ ((__unused__)) SWIGINLINEinline
107#endif
108
109/* exporting methods */
110#if defined(__GNUC__4)
111# if (__GNUC__4 >= 4) || (__GNUC__4 == 3 && __GNUC_MINOR__2 >= 4)
112# ifndef GCC_HASCLASSVISIBILITY
113# define GCC_HASCLASSVISIBILITY
114# endif
115# endif
116#endif
117
118#ifndef SWIGEXPORT__attribute__ ((visibility("default")))
119# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
120# if defined(STATIC_LINKED)
121# define SWIGEXPORT__attribute__ ((visibility("default")))
122# else
123# define SWIGEXPORT__attribute__ ((visibility("default"))) __declspec(dllexport)
124# endif
125# else
126# if defined(__GNUC__4) && defined(GCC_HASCLASSVISIBILITY)
127# define SWIGEXPORT__attribute__ ((visibility("default"))) __attribute__ ((visibility("default")))
128# else
129# define SWIGEXPORT__attribute__ ((visibility("default")))
130# endif
131# endif
132#endif
133
134/* calling conventions for Windows */
135#ifndef SWIGSTDCALL
136# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
137# define SWIGSTDCALL __stdcall
138# else
139# define SWIGSTDCALL
140# endif
141#endif
142
143/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
144#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
145# define _CRT_SECURE_NO_DEPRECATE
146#endif
147
148/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
149#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
150# define _SCL_SECURE_NO_DEPRECATE
151#endif
152
153/* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
154#if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
155# define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
156#endif
157
158/* Intel's compiler complains if a variable which was never initialised is
159 * cast to void, which is a common idiom which we use to indicate that we
160 * are aware a variable isn't used. So we just silence that warning.
161 * See: https://github.com/swig/swig/issues/192 for more discussion.
162 */
163#ifdef __INTEL_COMPILER
164# pragma warning disable 592
165#endif
166
167
168#if defined(__GNUC__4) && defined(_WIN32) && !defined(SWIG_PYTHON_NO_HYPOT_WORKAROUND)
169/* Workaround for '::hypot' has not been declared', see https://bugs.python.org/issue11566 */
170# include <math.h>
171#endif
172
173#if defined(_DEBUG1) && defined(SWIG_PYTHON_INTERPRETER_NO_DEBUG)
174/* Use debug wrappers with the Python release dll */
175# undef _DEBUG1
176# include <Python.h>
177# define _DEBUG1 1
178#else
179# include <Python.h>
180#endif
181
182/* -----------------------------------------------------------------------------
183 * swigrun.swg
184 *
185 * This file contains generic C API SWIG runtime support for pointer
186 * type checking.
187 * ----------------------------------------------------------------------------- */
188
189/* This should only be incremented when either the layout of swig_type_info changes,
190 or for whatever reason, the runtime changes incompatibly */
191#define SWIG_RUNTIME_VERSION"4" "4"
192
193/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
194#ifdef SWIG_TYPE_TABLE
195# define SWIG_QUOTE_STRING(x) #x
196# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
197# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
198#else
199# define SWIG_TYPE_TABLE_NAME
200#endif
201
202/*
203 You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
204 creating a static or dynamic library from the SWIG runtime code.
205 In 99.9% of the cases, SWIG just needs to declare them as 'static'.
206
207 But only do this if strictly necessary, ie, if you have problems
208 with your compiler or suchlike.
209*/
210
211#ifndef SWIGRUNTIMEstatic __attribute__ ((__unused__))
212# define SWIGRUNTIMEstatic __attribute__ ((__unused__)) SWIGINTERNstatic __attribute__ ((__unused__))
213#endif
214
215#ifndef SWIGRUNTIMEINLINEstatic __attribute__ ((__unused__)) inline
216# define SWIGRUNTIMEINLINEstatic __attribute__ ((__unused__)) inline SWIGRUNTIMEstatic __attribute__ ((__unused__)) SWIGINLINEinline
217#endif
218
219/* Generic buffer size */
220#ifndef SWIG_BUFFER_SIZE1024
221# define SWIG_BUFFER_SIZE1024 1024
222#endif
223
224/* Flags for pointer conversions */
225#define SWIG_POINTER_DISOWN0x1 0x1
226#define SWIG_CAST_NEW_MEMORY0x2 0x2
227#define SWIG_POINTER_NO_NULL0x4 0x4
228
229/* Flags for new pointer objects */
230#define SWIG_POINTER_OWN0x1 0x1
231
232
233/*
234 Flags/methods for returning states.
235
236 The SWIG conversion methods, as ConvertPtr, return an integer
237 that tells if the conversion was successful or not. And if not,
238 an error code can be returned (see swigerrors.swg for the codes).
239
240 Use the following macros/flags to set or process the returning
241 states.
242
243 In old versions of SWIG, code such as the following was usually written:
244
245 if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
246 // success code
247 } else {
248 //fail code
249 }
250
251 Now you can be more explicit:
252
253 int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
254 if (SWIG_IsOK(res)) {
255 // success code
256 } else {
257 // fail code
258 }
259
260 which is the same really, but now you can also do
261
262 Type *ptr;
263 int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
264 if (SWIG_IsOK(res)) {
265 // success code
266 if (SWIG_IsNewObj(res) {
267 ...
268 delete *ptr;
269 } else {
270 ...
271 }
272 } else {
273 // fail code
274 }
275
276 I.e., now SWIG_ConvertPtr can return new objects and you can
277 identify the case and take care of the deallocation. Of course that
278 also requires SWIG_ConvertPtr to return new result values, such as
279
280 int SWIG_ConvertPtr(obj, ptr,...) {
281 if (<obj is ok>) {
282 if (<need new object>) {
283 *ptr = <ptr to new allocated object>;
284 return SWIG_NEWOBJ;
285 } else {
286 *ptr = <ptr to old object>;
287 return SWIG_OLDOBJ;
288 }
289 } else {
290 return SWIG_BADOBJ;
291 }
292 }
293
294 Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
295 more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
296 SWIG errors code.
297
298 Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
299 allows to return the 'cast rank', for example, if you have this
300
301 int food(double)
302 int fooi(int);
303
304 and you call
305
306 food(1) // cast rank '1' (1 -> 1.0)
307 fooi(1) // cast rank '0'
308
309 just use the SWIG_AddCast()/SWIG_CheckState()
310*/
311
312#define SWIG_OK(0) (0)
313#define SWIG_ERROR(-1) (-1)
314#define SWIG_IsOK(r)(r >= 0) (r >= 0)
315#define SWIG_ArgError(r)((r != (-1)) ? r : -5) ((r != SWIG_ERROR(-1)) ? r : SWIG_TypeError-5)
316
317/* The CastRankLimit says how many bits are used for the cast rank */
318#define SWIG_CASTRANKLIMIT(1 << 8) (1 << 8)
319/* The NewMask denotes the object was created (using new/malloc) */
320#define SWIG_NEWOBJMASK((1 << 8) << 1) (SWIG_CASTRANKLIMIT(1 << 8) << 1)
321/* The TmpMask is for in/out typemaps that use temporal objects */
322#define SWIG_TMPOBJMASK(((1 << 8) << 1) << 1) (SWIG_NEWOBJMASK((1 << 8) << 1) << 1)
323/* Simple returning values */
324#define SWIG_BADOBJ((-1)) (SWIG_ERROR(-1))
325#define SWIG_OLDOBJ((0)) (SWIG_OK(0))
326#define SWIG_NEWOBJ((0) | ((1 << 8) << 1)) (SWIG_OK(0) | SWIG_NEWOBJMASK((1 << 8) << 1))
327#define SWIG_TMPOBJ((0) | (((1 << 8) << 1) << 1)) (SWIG_OK(0) | SWIG_TMPOBJMASK(((1 << 8) << 1) << 1))
328/* Check, add and del mask methods */
329#define SWIG_AddNewMask(r)((r >= 0) ? (r | ((1 << 8) << 1)) : r) (SWIG_IsOK(r)(r >= 0) ? (r | SWIG_NEWOBJMASK((1 << 8) << 1)) : r)
330#define SWIG_DelNewMask(r)((r >= 0) ? (r & ~((1 << 8) << 1)) : r) (SWIG_IsOK(r)(r >= 0) ? (r & ~SWIG_NEWOBJMASK((1 << 8) << 1)) : r)
331#define SWIG_IsNewObj(r)((r >= 0) && (r & ((1 << 8) << 1))
)
(SWIG_IsOK(r)(r >= 0) && (r & SWIG_NEWOBJMASK((1 << 8) << 1)))
332#define SWIG_AddTmpMask(r)((r >= 0) ? (r | (((1 << 8) << 1) << 1))
: r)
(SWIG_IsOK(r)(r >= 0) ? (r | SWIG_TMPOBJMASK(((1 << 8) << 1) << 1)) : r)
333#define SWIG_DelTmpMask(r)((r >= 0) ? (r & ~(((1 << 8) << 1) <<
1)) : r)
(SWIG_IsOK(r)(r >= 0) ? (r & ~SWIG_TMPOBJMASK(((1 << 8) << 1) << 1)) : r)
334#define SWIG_IsTmpObj(r)((r >= 0) && (r & (((1 << 8) << 1)
<< 1)))
(SWIG_IsOK(r)(r >= 0) && (r & SWIG_TMPOBJMASK(((1 << 8) << 1) << 1)))
335
336/* Cast-Rank Mode */
337#if defined(SWIG_CASTRANK_MODE)
338# ifndef SWIG_TypeRank
339# define SWIG_TypeRank unsigned long
340# endif
341# ifndef SWIG_MAXCASTRANK /* Default cast allowed */
342# define SWIG_MAXCASTRANK (2)
343# endif
344# define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT(1 << 8)) -1)
345# define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK)
346SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline int SWIG_AddCast(int r)(int r) {
347 return SWIG_IsOK(r)(r >= 0) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR(-1)) : r;
348}
349SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline int SWIG_CheckState(int r)((int r >= 0) ? 1 : 0) {
350 return SWIG_IsOK(r)(r >= 0) ? SWIG_CastRank(r) + 1 : 0;
351}
352#else /* no cast-rank mode */
353# define SWIG_AddCast(r)(r) (r)
354# define SWIG_CheckState(r)((r >= 0) ? 1 : 0) (SWIG_IsOK(r)(r >= 0) ? 1 : 0)
355#endif
356
357
358#include <string.h>
359
360#ifdef __cplusplus201703L
361extern "C" {
362#endif
363
364typedef void *(*swig_converter_func)(void *, int *);
365typedef struct swig_type_info *(*swig_dycast_func)(void **);
366
367/* Structure to store information on one type */
368typedef struct swig_type_info {
369 const char *name; /* mangled name of this type */
370 const char *str; /* human readable name of this type */
371 swig_dycast_func dcast; /* dynamic cast function down a hierarchy */
372 struct swig_cast_info *cast; /* linked list of types that can cast into this type */
373 void *clientdata; /* language specific type data */
374 int owndata; /* flag if the structure owns the clientdata */
375} swig_type_info;
376
377/* Structure to store a type and conversion function used for casting */
378typedef struct swig_cast_info {
379 swig_type_info *type; /* pointer to type that is equivalent to this type */
380 swig_converter_func converter; /* function to cast the void pointers */
381 struct swig_cast_info *next; /* pointer to next cast in linked list */
382 struct swig_cast_info *prev; /* pointer to the previous cast */
383} swig_cast_info;
384
385/* Structure used to store module information
386 * Each module generates one structure like this, and the runtime collects
387 * all of these structures and stores them in a circularly linked list.*/
388typedef struct swig_module_info {
389 swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */
390 size_t size; /* Number of types in this module */
391 struct swig_module_info *next; /* Pointer to next element in circularly linked list */
392 swig_type_info **type_initial; /* Array of initially generated type structures */
393 swig_cast_info **cast_initial; /* Array of initially generated casting structures */
394 void *clientdata; /* Language specific module data */
395} swig_module_info;
396
397/*
398 Compare two type names skipping the space characters, therefore
399 "char*" == "char *" and "Class<int>" == "Class<int >", etc.
400
401 Return 0 when the two name types are equivalent, as in
402 strncmp, but skipping ' '.
403*/
404SWIGRUNTIMEstatic __attribute__ ((__unused__)) int
405SWIG_TypeNameComp(const char *f1, const char *l1,
406 const char *f2, const char *l2) {
407 for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
408 while ((*f1 == ' ') && (f1 != l1)) ++f1;
409 while ((*f2 == ' ') && (f2 != l2)) ++f2;
410 if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
411 }
412 return (int)((l1 - f1) - (l2 - f2));
413}
414
415/*
416 Check type equivalence in a name list like <name1>|<name2>|...
417 Return 0 if equal, -1 if nb < tb, 1 if nb > tb
418*/
419SWIGRUNTIMEstatic __attribute__ ((__unused__)) int
420SWIG_TypeCmp(const char *nb, const char *tb) {
421 int equiv = 1;
422 const char* te = tb + strlen(tb);
423 const char* ne = nb;
424 while (equiv != 0 && *ne) {
425 for (nb = ne; *ne; ++ne) {
426 if (*ne == '|') break;
427 }
428 equiv = SWIG_TypeNameComp(nb, ne, tb, te);
429 if (*ne) ++ne;
430 }
431 return equiv;
432}
433
434/*
435 Check type equivalence in a name list like <name1>|<name2>|...
436 Return 0 if not equal, 1 if equal
437*/
438SWIGRUNTIMEstatic __attribute__ ((__unused__)) int
439SWIG_TypeEquiv(const char *nb, const char *tb) {
440 return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0;
441}
442
443/*
444 Check the typename
445*/
446SWIGRUNTIMEstatic __attribute__ ((__unused__)) swig_cast_info *
447SWIG_TypeCheck(const char *c, swig_type_info *ty) {
448 if (ty) {
449 swig_cast_info *iter = ty->cast;
450 while (iter) {
451 if (strcmp(iter->type->name, c) == 0) {
452 if (iter == ty->cast)
453 return iter;
454 /* Move iter to the top of the linked list */
455 iter->prev->next = iter->next;
456 if (iter->next)
457 iter->next->prev = iter->prev;
458 iter->next = ty->cast;
459 iter->prev = 0;
460 if (ty->cast) ty->cast->prev = iter;
461 ty->cast = iter;
462 return iter;
463 }
464 iter = iter->next;
465 }
466 }
467 return 0;
468}
469
470/*
471 Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
472*/
473SWIGRUNTIMEstatic __attribute__ ((__unused__)) swig_cast_info *
474SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
475 if (ty) {
476 swig_cast_info *iter = ty->cast;
477 while (iter) {
478 if (iter->type == from) {
479 if (iter == ty->cast)
480 return iter;
481 /* Move iter to the top of the linked list */
482 iter->prev->next = iter->next;
483 if (iter->next)
484 iter->next->prev = iter->prev;
485 iter->next = ty->cast;
486 iter->prev = 0;
487 if (ty->cast) ty->cast->prev = iter;
488 ty->cast = iter;
489 return iter;
490 }
491 iter = iter->next;
492 }
493 }
494 return 0;
495}
496
497/*
498 Cast a pointer up an inheritance hierarchy
499*/
500SWIGRUNTIMEINLINEstatic __attribute__ ((__unused__)) inline void *
501SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
502 return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
503}
504
505/*
506 Dynamic pointer casting. Down an inheritance hierarchy
507*/
508SWIGRUNTIMEstatic __attribute__ ((__unused__)) swig_type_info *
509SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
510 swig_type_info *lastty = ty;
511 if (!ty || !ty->dcast) return ty;
512 while (ty && (ty->dcast)) {
513 ty = (*ty->dcast)(ptr);
514 if (ty) lastty = ty;
515 }
516 return lastty;
517}
518
519/*
520 Return the name associated with this type
521*/
522SWIGRUNTIMEINLINEstatic __attribute__ ((__unused__)) inline const char *
523SWIG_TypeName(const swig_type_info *ty) {
524 return ty->name;
525}
526
527/*
528 Return the pretty name associated with this type,
529 that is an unmangled type name in a form presentable to the user.
530*/
531SWIGRUNTIMEstatic __attribute__ ((__unused__)) const char *
532SWIG_TypePrettyName(const swig_type_info *type) {
533 /* The "str" field contains the equivalent pretty names of the
534 type, separated by vertical-bar characters. We choose
535 to print the last name, as it is often (?) the most
536 specific. */
537 if (!type) return NULL__null;
538 if (type->str != NULL__null) {
539 const char *last_name = type->str;
540 const char *s;
541 for (s = type->str; *s; s++)
542 if (*s == '|') last_name = s+1;
543 return last_name;
544 }
545 else
546 return type->name;
547}
548
549/*
550 Set the clientdata field for a type
551*/
552SWIGRUNTIMEstatic __attribute__ ((__unused__)) void
553SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
554 swig_cast_info *cast = ti->cast;
555 /* if (ti->clientdata == clientdata) return; */
556 ti->clientdata = clientdata;
557
558 while (cast) {
559 if (!cast->converter) {
560 swig_type_info *tc = cast->type;
561 if (!tc->clientdata) {
562 SWIG_TypeClientData(tc, clientdata);
563 }
564 }
565 cast = cast->next;
566 }
567}
568SWIGRUNTIMEstatic __attribute__ ((__unused__)) void
569SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
570 SWIG_TypeClientData(ti, clientdata);
571 ti->owndata = 1;
572}
573
574/*
575 Search for a swig_type_info structure only by mangled name
576 Search is a O(log #types)
577
578 We start searching at module start, and finish searching when start == end.
579 Note: if start == end at the beginning of the function, we go all the way around
580 the circular list.
581*/
582SWIGRUNTIMEstatic __attribute__ ((__unused__)) swig_type_info *
583SWIG_MangledTypeQueryModule(swig_module_info *start,
584 swig_module_info *end,
585 const char *name) {
586 swig_module_info *iter = start;
587 do {
588 if (iter->size) {
589 size_t l = 0;
590 size_t r = iter->size - 1;
591 do {
592 /* since l+r >= 0, we can (>> 1) instead (/ 2) */
593 size_t i = (l + r) >> 1;
594 const char *iname = iter->types[i]->name;
595 if (iname) {
596 int compare = strcmp(name, iname);
597 if (compare == 0) {
598 return iter->types[i];
599 } else if (compare < 0) {
600 if (i) {
601 r = i - 1;
602 } else {
603 break;
604 }
605 } else if (compare > 0) {
606 l = i + 1;
607 }
608 } else {
609 break; /* should never happen */
610 }
611 } while (l <= r);
612 }
613 iter = iter->next;
614 } while (iter != end);
615 return 0;
616}
617
618/*
619 Search for a swig_type_info structure for either a mangled name or a human readable name.
620 It first searches the mangled names of the types, which is a O(log #types)
621 If a type is not found it then searches the human readable names, which is O(#types).
622
623 We start searching at module start, and finish searching when start == end.
624 Note: if start == end at the beginning of the function, we go all the way around
625 the circular list.
626*/
627SWIGRUNTIMEstatic __attribute__ ((__unused__)) swig_type_info *
628SWIG_TypeQueryModule(swig_module_info *start,
629 swig_module_info *end,
630 const char *name) {
631 /* STEP 1: Search the name field using binary search */
632 swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
633 if (ret) {
634 return ret;
635 } else {
636 /* STEP 2: If the type hasn't been found, do a complete search
637 of the str field (the human readable name) */
638 swig_module_info *iter = start;
639 do {
640 size_t i = 0;
641 for (; i < iter->size; ++i) {
642 if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
643 return iter->types[i];
644 }
645 iter = iter->next;
646 } while (iter != end);
647 }
648
649 /* neither found a match */
650 return 0;
651}
652
653/*
654 Pack binary data into a string
655*/
656SWIGRUNTIMEstatic __attribute__ ((__unused__)) char *
657SWIG_PackData(char *c, void *ptr, size_t sz) {
658 static const char hex[17] = "0123456789abcdef";
659 const unsigned char *u = (unsigned char *) ptr;
660 const unsigned char *eu = u + sz;
661 for (; u != eu; ++u) {
662 unsigned char uu = *u;
663 *(c++) = hex[(uu & 0xf0) >> 4];
664 *(c++) = hex[uu & 0xf];
665 }
666 return c;
667}
668
669/*
670 Unpack binary data from a string
671*/
672SWIGRUNTIMEstatic __attribute__ ((__unused__)) const char *
673SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
674 unsigned char *u = (unsigned char *) ptr;
675 const unsigned char *eu = u + sz;
676 for (; u != eu; ++u) {
677 char d = *(c++);
678 unsigned char uu;
679 if ((d >= '0') && (d <= '9'))
680 uu = (unsigned char)((d - '0') << 4);
681 else if ((d >= 'a') && (d <= 'f'))
682 uu = (unsigned char)((d - ('a'-10)) << 4);
683 else
684 return (char *) 0;
685 d = *(c++);
686 if ((d >= '0') && (d <= '9'))
687 uu |= (unsigned char)(d - '0');
688 else if ((d >= 'a') && (d <= 'f'))
689 uu |= (unsigned char)(d - ('a'-10));
690 else
691 return (char *) 0;
692 *u = uu;
693 }
694 return c;
695}
696
697/*
698 Pack 'void *' into a string buffer.
699*/
700SWIGRUNTIMEstatic __attribute__ ((__unused__)) char *
701SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
702 char *r = buff;
703 if ((2*sizeof(void *) + 2) > bsz) return 0;
704 *(r++) = '_';
705 r = SWIG_PackData(r,&ptr,sizeof(void *));
706 if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
707 strcpy(r,name);
708 return buff;
709}
710
711SWIGRUNTIMEstatic __attribute__ ((__unused__)) const char *
712SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
713 if (*c != '_') {
714 if (strcmp(c,"NULL") == 0) {
715 *ptr = (void *) 0;
716 return name;
717 } else {
718 return 0;
719 }
720 }
721 return SWIG_UnpackData(++c,ptr,sizeof(void *));
722}
723
724SWIGRUNTIMEstatic __attribute__ ((__unused__)) char *
725SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
726 char *r = buff;
727 size_t lname = (name ? strlen(name) : 0);
728 if ((2*sz + 2 + lname) > bsz) return 0;
729 *(r++) = '_';
730 r = SWIG_PackData(r,ptr,sz);
731 if (lname) {
732 strncpy(r,name,lname+1);
733 } else {
734 *r = 0;
735 }
736 return buff;
737}
738
739SWIGRUNTIMEstatic __attribute__ ((__unused__)) const char *
740SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
741 if (*c != '_') {
742 if (strcmp(c,"NULL") == 0) {
743 memset(ptr,0,sz);
744 return name;
745 } else {
746 return 0;
747 }
748 }
749 return SWIG_UnpackData(++c,ptr,sz);
750}
751
752#ifdef __cplusplus201703L
753}
754#endif
755
756/* Errors in SWIG */
757#define SWIG_UnknownError-1 -1
758#define SWIG_IOError-2 -2
759#define SWIG_RuntimeError-3 -3
760#define SWIG_IndexError-4 -4
761#define SWIG_TypeError-5 -5
762#define SWIG_DivisionByZero-6 -6
763#define SWIG_OverflowError-7 -7
764#define SWIG_SyntaxError-8 -8
765#define SWIG_ValueError-9 -9
766#define SWIG_SystemError-10 -10
767#define SWIG_AttributeError-11 -11
768#define SWIG_MemoryError-12 -12
769#define SWIG_NullReferenceError-13 -13
770
771
772
773/* Compatibility macros for Python 3 */
774#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000
775
776#define PyClass_Check(obj)PyObject_IsInstance(obj, (PyObject *)&PyType_Type) PyObject_IsInstance(obj, (PyObject *)&PyType_Type)
777#define PyInt_Check(x)PyType_HasFeature((((PyObject*)(x))->ob_type), (1UL <<
24))
PyLong_Check(x)PyType_HasFeature((((PyObject*)(x))->ob_type), (1UL <<
24))
778#define PyInt_AsLong(x)PyLong_AsLong(x) PyLong_AsLong(x)
779#define PyInt_FromLong(x)PyLong_FromLong(x) PyLong_FromLong(x)
780#define PyInt_FromSize_t(x)PyLong_FromSize_t(x) PyLong_FromSize_t(x)
781#define PyString_Check(name)PyType_HasFeature((((PyObject*)(name))->ob_type), (1UL <<
27))
PyBytes_Check(name)PyType_HasFeature((((PyObject*)(name))->ob_type), (1UL <<
27))
782#define PyString_FromString(x)PyUnicode_FromString(x) PyUnicode_FromString(x)
783#define PyString_Format(fmt, args)PyUnicode_Format(fmt, args) PyUnicode_Format(fmt, args)
784#define PyString_AsString(str)PyBytes_AsString(str) PyBytes_AsString(str)
785#define PyString_Size(str)PyBytes_Size(str) PyBytes_Size(str)
786#define PyString_InternFromString(key)PyUnicode_InternFromString(key) PyUnicode_InternFromString(key)
787#define Py_TPFLAGS_HAVE_CLASS(1UL << 10) Py_TPFLAGS_BASETYPE(1UL << 10)
788#define PyString_AS_STRING(x)PyUnicode_AS_STRING(x) PyUnicode_AS_STRING(x)
789#define _PyLong_FromSsize_t(x)PyLong_FromSsize_t(x) PyLong_FromSsize_t(x)
790
791#endif
792
793#ifndef Py_TYPE
794# define Py_TYPE(op)(((PyObject*)(op))->ob_type) ((op)->ob_type)
795#endif
796
797/* SWIG APIs for compatibility of both Python 2 & 3 */
798
799#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000
800# define SWIG_Python_str_FromFormatPyUnicode_FromFormat PyUnicode_FromFormat
801#else
802# define SWIG_Python_str_FromFormatPyUnicode_FromFormat PyString_FromFormat
803#endif
804
805
806/* Warning: This function will allocate a new string in Python 3,
807 * so please call SWIG_Python_str_DelForPy3(x) to free the space.
808 */
809SWIGINTERNstatic __attribute__ ((__unused__)) char*
810SWIG_Python_str_AsChar(PyObject *str)
811{
812#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03030000
813 return (char *)PyUnicode_AsUTF8(str);
814#elif PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000
815 char *newstr = 0;
816 str = PyUnicode_AsUTF8String(str);
817 if (str) {
818 char *cstr;
819 Py_ssize_t len;
820 if (PyBytes_AsStringAndSize(str, &cstr, &len) != -1) {
821 newstr = (char *) malloc(len+1);
822 if (newstr)
823 memcpy(newstr, cstr, len+1);
824 }
825 Py_XDECREF(str)_Py_XDECREF(((PyObject*)(str)));
826 }
827 return newstr;
828#else
829 return PyString_AsString(str)PyBytes_AsString(str);
830#endif
831}
832
833#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03030000 || PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
< 0x03000000
834# define SWIG_Python_str_DelForPy3(x)
835#else
836# define SWIG_Python_str_DelForPy3(x) free( (void*) (x) )
837#endif
838
839
840SWIGINTERNstatic __attribute__ ((__unused__)) PyObject*
841SWIG_Python_str_FromChar(const char *c)
842{
843#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000
844 return PyUnicode_FromString(c);
845#else
846 return PyString_FromString(c)PyUnicode_FromString(c);
847#endif
848}
849
850#ifndef PyObject_DELPyObject_Free
851# define PyObject_DELPyObject_Free PyObject_DelPyObject_Free
852#endif
853
854// SWIGPY_USE_CAPSULE is no longer used within SWIG itself, but some user
855// interface files check for it.
856# define SWIGPY_USE_CAPSULE
857# define SWIGPY_CAPSULE_NAME("swig_runtime_data" "4" ".type_pointer_capsule" ) ("swig_runtime_data" SWIG_RUNTIME_VERSION"4" ".type_pointer_capsule" SWIG_TYPE_TABLE_NAME)
858
859#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
< 0x03020000
860#define PyDescr_TYPE(x)(((PyDescrObject *)(x))->d_type) (((PyDescrObject *)(x))->d_type)
861#define PyDescr_NAME(x)(((PyDescrObject *)(x))->d_name) (((PyDescrObject *)(x))->d_name)
862#define Py_hash_t long
863#endif
864
865/* -----------------------------------------------------------------------------
866 * error manipulation
867 * ----------------------------------------------------------------------------- */
868
869SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject*
870SWIG_Python_ErrorType(int code) {
871 PyObject* type = 0;
872 switch(code) {
873 case SWIG_MemoryError-12:
874 type = PyExc_MemoryError;
875 break;
876 case SWIG_IOError-2:
877 type = PyExc_IOError;
878 break;
879 case SWIG_RuntimeError-3:
880 type = PyExc_RuntimeError;
881 break;
882 case SWIG_IndexError-4:
883 type = PyExc_IndexError;
884 break;
885 case SWIG_TypeError-5:
886 type = PyExc_TypeError;
887 break;
888 case SWIG_DivisionByZero-6:
889 type = PyExc_ZeroDivisionError;
890 break;
891 case SWIG_OverflowError-7:
892 type = PyExc_OverflowError;
893 break;
894 case SWIG_SyntaxError-8:
895 type = PyExc_SyntaxError;
896 break;
897 case SWIG_ValueError-9:
898 type = PyExc_ValueError;
899 break;
900 case SWIG_SystemError-10:
901 type = PyExc_SystemError;
902 break;
903 case SWIG_AttributeError-11:
904 type = PyExc_AttributeError;
905 break;
906 default:
907 type = PyExc_RuntimeError;
908 }
909 return type;
910}
911
912
913SWIGRUNTIMEstatic __attribute__ ((__unused__)) void
914SWIG_Python_AddErrorMsg(const char* mesg)
915{
916 PyObject *type = 0;
917 PyObject *value = 0;
918 PyObject *traceback = 0;
919
920 if (PyErr_Occurred())
921 PyErr_Fetch(&type, &value, &traceback);
922 if (value) {
923 PyObject *old_str = PyObject_Str(value);
924 const char *tmp = SWIG_Python_str_AsChar(old_str);
925 PyErr_Clear();
926 Py_XINCREF(type)_Py_XINCREF(((PyObject*)(type)));
927 if (tmp)
928 PyErr_Format(type, "%s %s", tmp, mesg);
929 else
930 PyErr_Format(type, "%s", mesg);
931 SWIG_Python_str_DelForPy3(tmp);
932 Py_DECREF(old_str)_Py_DECREF(((PyObject*)(old_str)));
933 Py_DECREF(value)_Py_DECREF(((PyObject*)(value)));
934 } else {
935 PyErr_SetString(PyExc_RuntimeError, mesg);
936 }
937}
938
939SWIGRUNTIMEstatic __attribute__ ((__unused__)) int
940SWIG_Python_TypeErrorOccurred(PyObject *obj)
941{
942 PyObject *error;
943 if (obj)
944 return 0;
945 error = PyErr_Occurred();
946 return error && PyErr_GivenExceptionMatches(error, PyExc_TypeError);
947}
948
949SWIGRUNTIMEstatic __attribute__ ((__unused__)) void
950SWIG_Python_RaiseOrModifyTypeError(const char *message)
951{
952 if (SWIG_Python_TypeErrorOccurred(NULL__null)) {
953 /* Use existing TypeError to preserve stacktrace and enhance with given message */
954 PyObject *newvalue;
955 PyObject *type = NULL__null, *value = NULL__null, *traceback = NULL__null;
956 PyErr_Fetch(&type, &value, &traceback);
957#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000
958 newvalue = PyUnicode_FromFormat("%S\nAdditional information:\n%s", value, message);
959#else
960 newvalue = PyString_FromFormat("%s\nAdditional information:\n%s", PyString_AsString(value)PyBytes_AsString(value), message);
961#endif
962 Py_XDECREF(value)_Py_XDECREF(((PyObject*)(value)));
963 PyErr_Restore(type, newvalue, traceback);
964 } else {
965 /* Raise TypeError using given message */
966 PyErr_SetString(PyExc_TypeError, message);
967 }
968}
969
970#if defined(SWIG_PYTHON_NO_THREADS)
971# if defined(SWIG_PYTHON_THREADS)
972# undef SWIG_PYTHON_THREADS
973# endif
974#endif
975#if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */
976# if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL)
977# define SWIG_PYTHON_USE_GIL
978# endif
979# if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */
980# ifndef SWIG_PYTHON_INITIALIZE_THREADSPyEval_InitThreads()
981# define SWIG_PYTHON_INITIALIZE_THREADSPyEval_InitThreads() PyEval_InitThreads()
982# endif
983# ifdef __cplusplus201703L /* C++ code */
984 class SWIG_Python_Thread_Block {
985 bool status;
986 PyGILState_STATE state;
987 public:
988 void end() { if (status) { PyGILState_Release(state); status = false;} }
989 SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {}
990 ~SWIG_Python_Thread_Block() { end(); }
991 };
992 class SWIG_Python_Thread_Allow {
993 bool status;
994 PyThreadState *save;
995 public:
996 void end() { if (status) { PyEval_RestoreThread(save); status = false; }}
997 SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {}
998 ~SWIG_Python_Thread_Allow() { end(); }
999 };
1000# define SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block SWIG_Python_Thread_Block _swig_thread_block
1001# define SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end() _swig_thread_block.end()
1002# define SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow SWIG_Python_Thread_Allow _swig_thread_allow
1003# define SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end() _swig_thread_allow.end()
1004# else /* C code */
1005# define SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block PyGILState_STATE _swig_thread_block = PyGILState_Ensure()
1006# define SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end() PyGILState_Release(_swig_thread_block)
1007# define SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow PyThreadState *_swig_thread_allow = PyEval_SaveThread()
1008# define SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end() PyEval_RestoreThread(_swig_thread_allow)
1009# endif
1010# else /* Old thread way, not implemented, user must provide it */
1011# if !defined(SWIG_PYTHON_INITIALIZE_THREADSPyEval_InitThreads())
1012# define SWIG_PYTHON_INITIALIZE_THREADSPyEval_InitThreads()
1013# endif
1014# if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block)
1015# define SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block
1016# endif
1017# if !defined(SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end())
1018# define SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end()
1019# endif
1020# if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow)
1021# define SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow
1022# endif
1023# if !defined(SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end())
1024# define SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end()
1025# endif
1026# endif
1027#else /* No thread support */
1028# define SWIG_PYTHON_INITIALIZE_THREADSPyEval_InitThreads()
1029# define SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block
1030# define SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end()
1031# define SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow
1032# define SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end()
1033#endif
1034
1035/* -----------------------------------------------------------------------------
1036 * Python API portion that goes into the runtime
1037 * ----------------------------------------------------------------------------- */
1038
1039#ifdef __cplusplus201703L
1040extern "C" {
1041#endif
1042
1043/* -----------------------------------------------------------------------------
1044 * Constant declarations
1045 * ----------------------------------------------------------------------------- */
1046
1047/* Constant Types */
1048#define SWIG_PY_POINTER4 4
1049#define SWIG_PY_BINARY5 5
1050
1051/* Constant information structure */
1052typedef struct swig_const_info {
1053 int type;
1054 const char *name;
1055 long lvalue;
1056 double dvalue;
1057 void *pvalue;
1058 swig_type_info **ptype;
1059} swig_const_info;
1060
1061#ifdef __cplusplus201703L
1062}
1063#endif
1064
1065
1066/* -----------------------------------------------------------------------------
1067 * pyrun.swg
1068 *
1069 * This file contains the runtime support for Python modules
1070 * and includes code for managing global variables and pointer
1071 * type checking.
1072 *
1073 * ----------------------------------------------------------------------------- */
1074
1075#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
< 0x02070000 /* 2.7.0 */
1076# error "This version of SWIG only supports Python >= 2.7"
1077#endif
1078
1079#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000 && PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
< 0x03020000
1080# error "This version of SWIG only supports Python 3 >= 3.2"
1081#endif
1082
1083/* Common SWIG API */
1084
1085/* for raw pointers */
1086#define SWIG_Python_ConvertPtr(obj, pptr, type, flags)SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0)
1087#define SWIG_ConvertPtr(obj, pptr, type, flags)SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0) SWIG_Python_ConvertPtr(obj, pptr, type, flags)SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0)
1088#define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own)SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own)
1089
1090#ifdef SWIGPYTHON_BUILTIN
1091#define SWIG_NewPointerObj(ptr, type, flags)SWIG_Python_NewPointerObj(__null, ptr, type, flags) SWIG_Python_NewPointerObj(self, ptr, type, flags)
1092#else
1093#define SWIG_NewPointerObj(ptr, type, flags)SWIG_Python_NewPointerObj(__null, ptr, type, flags) SWIG_Python_NewPointerObj(NULL__null, ptr, type, flags)
1094#endif
1095
1096#define SWIG_InternalNewPointerObj(ptr, type, flags)SWIG_Python_NewPointerObj(__null, ptr, type, flags) SWIG_Python_NewPointerObj(NULL__null, ptr, type, flags)
1097
1098#define SWIG_CheckImplicit(ty)SWIG_Python_CheckImplicit(ty) SWIG_Python_CheckImplicit(ty)
1099#define SWIG_AcquirePtr(ptr, src)SWIG_Python_AcquirePtr(ptr, src) SWIG_Python_AcquirePtr(ptr, src)
1100#define swig_owntypeint int
1101
1102/* for raw packed data */
1103#define SWIG_ConvertPacked(obj, ptr, sz, ty)SWIG_Python_ConvertPacked(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
1104#define SWIG_NewPackedObj(ptr, sz, type)SWIG_Python_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)
1105
1106/* for class or struct pointers */
1107#define SWIG_ConvertInstance(obj, pptr, type, flags)SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0) SWIG_ConvertPtr(obj, pptr, type, flags)SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0)
1108#define SWIG_NewInstanceObj(ptr, type, flags)SWIG_Python_NewPointerObj(__null, ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags)SWIG_Python_NewPointerObj(__null, ptr, type, flags)
1109
1110/* for C or C++ function pointers */
1111#define SWIG_ConvertFunctionPtr(obj, pptr, type)SWIG_Python_ConvertFunctionPtr(obj, pptr, type) SWIG_Python_ConvertFunctionPtr(obj, pptr, type)
1112#define SWIG_NewFunctionPtrObj(ptr, type)SWIG_Python_NewPointerObj(__null, ptr, type, 0) SWIG_Python_NewPointerObj(NULL__null, ptr, type, 0)
1113
1114/* for C++ member pointers, ie, member methods */
1115#define SWIG_ConvertMember(obj, ptr, sz, ty)SWIG_Python_ConvertPacked(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
1116#define SWIG_NewMemberObj(ptr, sz, type)SWIG_Python_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)
1117
1118
1119/* Runtime API */
1120
1121#define SWIG_GetModule(clientdata)SWIG_Python_GetModule(clientdata) SWIG_Python_GetModule(clientdata)
1122#define SWIG_SetModule(clientdata, pointer)SWIG_Python_SetModule(pointer) SWIG_Python_SetModule(pointer)
1123#define SWIG_NewClientData(obj)SwigPyClientData_New(obj) SwigPyClientData_New(obj)
1124
1125#define SWIG_SetErrorObjSWIG_Python_SetErrorObj SWIG_Python_SetErrorObj
1126#define SWIG_SetErrorMsgSWIG_Python_SetErrorMsg SWIG_Python_SetErrorMsg
1127#define SWIG_ErrorType(code)SWIG_Python_ErrorType(code) SWIG_Python_ErrorType(code)
1128#define SWIG_Error(code, msg)SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(code), msg) SWIG_Python_SetErrorMsg(SWIG_ErrorType(code)SWIG_Python_ErrorType(code), msg)
1129#define SWIG_failgoto fail goto fail
1130
1131
1132/* Runtime API implementation */
1133
1134/* Error manipulation */
1135
1136SWIGINTERNstatic __attribute__ ((__unused__)) void
1137SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj) {
1138 SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block;
1139 PyErr_SetObject(errtype, obj);
1140 Py_DECREF(obj)_Py_DECREF(((PyObject*)(obj)));
1141 SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end();
1142}
1143
1144SWIGINTERNstatic __attribute__ ((__unused__)) void
1145SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg) {
1146 SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block;
1147 PyErr_SetString(errtype, msg);
1148 SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end();
1149}
1150
1151#define SWIG_Python_Raise(obj, type, desc)SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj) SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj)
1152
1153/* Set a constant value */
1154
1155#if defined(SWIGPYTHON_BUILTIN)
1156
1157SWIGINTERNstatic __attribute__ ((__unused__)) void
1158SwigPyBuiltin_AddPublicSymbol(PyObject *seq, const char *key) {
1159 PyObject *s = PyString_InternFromString(key)PyUnicode_InternFromString(key);
1160 PyList_Append(seq, s);
1161 Py_DECREF(s)_Py_DECREF(((PyObject*)(s)));
1162}
1163
1164SWIGINTERNstatic __attribute__ ((__unused__)) void
1165SWIG_Python_SetConstant(PyObject *d, PyObject *public_interface, const char *name, PyObject *obj) {
1166 PyDict_SetItemString(d, name, obj);
1167 Py_DECREF(obj)_Py_DECREF(((PyObject*)(obj)));
1168 if (public_interface)
1169 SwigPyBuiltin_AddPublicSymbol(public_interface, name);
1170}
1171
1172#else
1173
1174SWIGINTERNstatic __attribute__ ((__unused__)) void
1175SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) {
1176 PyDict_SetItemString(d, name, obj);
1177 Py_DECREF(obj)_Py_DECREF(((PyObject*)(obj)));
1178}
1179
1180#endif
1181
1182/* Append a value to the result obj */
1183
1184SWIGINTERNstatic __attribute__ ((__unused__)) PyObject*
1185SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) {
1186 if (!result) {
1187 result = obj;
1188 } else if (result == Py_None(&_Py_NoneStruct)) {
1189 Py_DECREF(result)_Py_DECREF(((PyObject*)(result)));
1190 result = obj;
1191 } else {
1192 if (!PyList_Check(result)PyType_HasFeature((((PyObject*)(result))->ob_type), (1UL <<
25))
) {
1193 PyObject *o2 = result;
1194 result = PyList_New(1);
1195 PyList_SetItem(result, 0, o2);
1196 }
1197 PyList_Append(result,obj);
1198 Py_DECREF(obj)_Py_DECREF(((PyObject*)(obj)));
1199 }
1200 return result;
1201}
1202
1203/* Unpack the argument tuple */
1204
1205SWIGINTERNstatic __attribute__ ((__unused__)) Py_ssize_t
1206SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
1207{
1208 if (!args) {
1209 if (!min && !max) {
1210 return 1;
1211 } else {
1212 PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none",
1213 name, (min == max ? "" : "at least "), (int)min);
1214 return 0;
1215 }
1216 }
1217 if (!PyTuple_Check(args)PyType_HasFeature((((PyObject*)(args))->ob_type), (1UL <<
26))
) {
1218 if (min <= 1 && max >= 1) {
1219 Py_ssize_t i;
1220 objs[0] = args;
1221 for (i = 1; i < max; ++i) {
1222 objs[i] = 0;
1223 }
1224 return 2;
1225 }
1226 PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple");
1227 return 0;
1228 } else {
1229 Py_ssize_t l = PyTuple_GET_SIZE(args)(((PyVarObject*)(((static_cast <bool> (PyType_HasFeature
((((PyObject*)(args))->ob_type), (1UL << 26))) ? void
(0) : __assert_fail ("PyTuple_Check(args)", "tools/lldb/bindings/python/LLDBWrapPython.cpp"
, 1229, __extension__ __PRETTY_FUNCTION__)), (PyTupleObject *
)(args))))->ob_size)
;
1230 if (l < min) {
1231 PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
1232 name, (min == max ? "" : "at least "), (int)min, (int)l);
1233 return 0;
1234 } else if (l > max) {
1235 PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
1236 name, (min == max ? "" : "at most "), (int)max, (int)l);
1237 return 0;
1238 } else {
1239 Py_ssize_t i;
1240 for (i = 0; i < l; ++i) {
1241 objs[i] = PyTuple_GET_ITEM(args, i)(((static_cast <bool> (PyType_HasFeature((((PyObject*)(
args))->ob_type), (1UL << 26))) ? void (0) : __assert_fail
("PyTuple_Check(args)", "tools/lldb/bindings/python/LLDBWrapPython.cpp"
, 1241, __extension__ __PRETTY_FUNCTION__)), (PyTupleObject *
)(args))->ob_item[i])
;
1242 }
1243 for (; l < max; ++l) {
1244 objs[l] = 0;
1245 }
1246 return i + 1;
1247 }
1248 }
1249}
1250
1251SWIGINTERNstatic __attribute__ ((__unused__)) int
1252SWIG_Python_CheckNoKeywords(PyObject *kwargs, const char *name) {
1253 int no_kwargs = 1;
1254 if (kwargs) {
1255 assert(PyDict_Check(kwargs))(static_cast <bool> (PyType_HasFeature((((PyObject*)(kwargs
))->ob_type), (1UL << 29))) ? void (0) : __assert_fail
("PyDict_Check(kwargs)", "tools/lldb/bindings/python/LLDBWrapPython.cpp"
, 1255, __extension__ __PRETTY_FUNCTION__))
;
1256 if (PyDict_Size(kwargs) > 0) {
1257 PyErr_Format(PyExc_TypeError, "%s() does not take keyword arguments", name);
1258 no_kwargs = 0;
1259 }
1260 }
1261 return no_kwargs;
1262}
1263
1264/* A functor is a function object with one single object argument */
1265#define SWIG_Python_CallFunctor(functor, obj)PyObject_CallFunctionObjArgs(functor, obj, __null); PyObject_CallFunctionObjArgs(functor, obj, NULL__null);
1266
1267/*
1268 Helper for static pointer initialization for both C and C++ code, for example
1269 static PyObject *SWIG_STATIC_POINTER(MyVar) = NewSomething(...);
1270*/
1271#ifdef __cplusplus201703L
1272#define SWIG_STATIC_POINTER(var)var var
1273#else
1274#define SWIG_STATIC_POINTER(var)var var = 0; if (!var) var
1275#endif
1276
1277/* -----------------------------------------------------------------------------
1278 * Pointer declarations
1279 * ----------------------------------------------------------------------------- */
1280
1281/* Flags for new pointer objects */
1282#define SWIG_POINTER_NOSHADOW(0x1 << 1) (SWIG_POINTER_OWN0x1 << 1)
1283#define SWIG_POINTER_NEW((0x1 << 1) | 0x1) (SWIG_POINTER_NOSHADOW(0x1 << 1) | SWIG_POINTER_OWN0x1)
1284
1285#define SWIG_POINTER_IMPLICIT_CONV(0x1 << 1) (SWIG_POINTER_DISOWN0x1 << 1)
1286
1287#define SWIG_BUILTIN_TP_INIT(0x1 << 2) (SWIG_POINTER_OWN0x1 << 2)
1288#define SWIG_BUILTIN_INIT((0x1 << 2) | 0x1) (SWIG_BUILTIN_TP_INIT(0x1 << 2) | SWIG_POINTER_OWN0x1)
1289
1290#ifdef __cplusplus201703L
1291extern "C" {
1292#endif
1293
1294/* The python void return value */
1295
1296SWIGRUNTIMEINLINEstatic __attribute__ ((__unused__)) inline PyObject *
1297SWIG_Py_Void(void)
1298{
1299 PyObject *none = Py_None(&_Py_NoneStruct);
1300 Py_INCREF(none)_Py_INCREF(((PyObject*)(none)));
1301 return none;
1302}
1303
1304/* SwigPyClientData */
1305
1306typedef struct {
1307 PyObject *klass;
1308 PyObject *newraw;
1309 PyObject *newargs;
1310 PyObject *destroy;
1311 int delargs;
1312 int implicitconv;
1313 PyTypeObject *pytype;
1314} SwigPyClientData;
1315
1316SWIGRUNTIMEINLINEstatic __attribute__ ((__unused__)) inline int
1317SWIG_Python_CheckImplicit(swig_type_info *ty)
1318{
1319 SwigPyClientData *data = (SwigPyClientData *)ty->clientdata;
1320 int fail = data ? data->implicitconv : 0;
1321 if (fail)
1322 PyErr_SetString(PyExc_TypeError, "Implicit conversion is prohibited for explicit constructors.");
1323 return fail;
1324}
1325
1326SWIGRUNTIMEINLINEstatic __attribute__ ((__unused__)) inline PyObject *
1327SWIG_Python_ExceptionType(swig_type_info *desc) {
1328 SwigPyClientData *data = desc ? (SwigPyClientData *) desc->clientdata : 0;
1329 PyObject *klass = data ? data->klass : 0;
1330 return (klass ? klass : PyExc_RuntimeError);
1331}
1332
1333
1334SWIGRUNTIMEstatic __attribute__ ((__unused__)) SwigPyClientData *
1335SwigPyClientData_New(PyObject* obj)
1336{
1337 if (!obj) {
1338 return 0;
1339 } else {
1340 SwigPyClientData *data = (SwigPyClientData *)malloc(sizeof(SwigPyClientData));
1341 /* the klass element */
1342 data->klass = obj;
1343 Py_INCREF(data->klass)_Py_INCREF(((PyObject*)(data->klass)));
1344 /* the newraw method and newargs arguments used to create a new raw instance */
1345 if (PyClass_Check(obj)PyObject_IsInstance(obj, (PyObject *)&PyType_Type)) {
1346 data->newraw = 0;
1347 data->newargs = obj;
1348 Py_INCREF(obj)_Py_INCREF(((PyObject*)(obj)));
1349 } else {
1350 data->newraw = PyObject_GetAttrString(data->klass, "__new__");
1351 if (data->newraw) {
1352 Py_INCREF(data->newraw)_Py_INCREF(((PyObject*)(data->newraw)));
1353 data->newargs = PyTuple_New(1);
1354 PyTuple_SetItem(data->newargs, 0, obj);
1355 } else {
1356 data->newargs = obj;
1357 }
1358 Py_INCREF(data->newargs)_Py_INCREF(((PyObject*)(data->newargs)));
1359 }
1360 /* the destroy method, aka as the C++ delete method */
1361 data->destroy = PyObject_GetAttrString(data->klass, "__swig_destroy__");
1362 if (PyErr_Occurred()) {
1363 PyErr_Clear();
1364 data->destroy = 0;
1365 }
1366 if (data->destroy) {
1367 int flags;
1368 Py_INCREF(data->destroy)_Py_INCREF(((PyObject*)(data->destroy)));
1369 flags = PyCFunction_GET_FLAGS(data->destroy)(((PyCFunctionObject *)data->destroy) -> m_ml -> ml_flags
)
;
1370 data->delargs = !(flags & (METH_O0x0008));
1371 } else {
1372 data->delargs = 0;
1373 }
1374 data->implicitconv = 0;
1375 data->pytype = 0;
1376 return data;
1377 }
1378}
1379
1380SWIGRUNTIMEstatic __attribute__ ((__unused__)) void
1381SwigPyClientData_Del(SwigPyClientData *data) {
1382 Py_XDECREF(data->newraw)_Py_XDECREF(((PyObject*)(data->newraw)));
1383 Py_XDECREF(data->newargs)_Py_XDECREF(((PyObject*)(data->newargs)));
1384 Py_XDECREF(data->destroy)_Py_XDECREF(((PyObject*)(data->destroy)));
1385}
1386
1387/* =============== SwigPyObject =====================*/
1388
1389typedef struct {
1390 PyObject_HEADPyObject ob_base;
1391 void *ptr;
1392 swig_type_info *ty;
1393 int own;
1394 PyObject *next;
1395#ifdef SWIGPYTHON_BUILTIN
1396 PyObject *dict;
1397#endif
1398} SwigPyObject;
1399
1400
1401#ifdef SWIGPYTHON_BUILTIN
1402
1403SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject *
1404SwigPyObject_get___dict__(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
1405{
1406 SwigPyObject *sobj = (SwigPyObject *)v;
1407
1408 if (!sobj->dict)
1409 sobj->dict = PyDict_New();
1410
1411 Py_INCREF(sobj->dict)_Py_INCREF(((PyObject*)(sobj->dict)));
1412 return sobj->dict;
1413}
1414
1415#endif
1416
1417SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject *
1418SwigPyObject_long(SwigPyObject *v)
1419{
1420 return PyLong_FromVoidPtr(v->ptr);
1421}
1422
1423SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject *
1424SwigPyObject_format(const char* fmt, SwigPyObject *v)
1425{
1426 PyObject *res = NULL__null;
1427 PyObject *args = PyTuple_New(1);
1428 if (args) {
1429 if (PyTuple_SetItem(args, 0, SwigPyObject_long(v)) == 0) {
1430 PyObject *ofmt = SWIG_Python_str_FromChar(fmt);
1431 if (ofmt) {
1432#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000
1433 res = PyUnicode_Format(ofmt,args);
1434#else
1435 res = PyString_Format(ofmt,args)PyUnicode_Format(ofmt, args);
1436#endif
1437 Py_DECREF(ofmt)_Py_DECREF(((PyObject*)(ofmt)));
1438 }
1439 Py_DECREF(args)_Py_DECREF(((PyObject*)(args)));
1440 }
1441 }
1442 return res;
1443}
1444
1445SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject *
1446SwigPyObject_oct(SwigPyObject *v)
1447{
1448 return SwigPyObject_format("%o",v);
1449}
1450
1451SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject *
1452SwigPyObject_hex(SwigPyObject *v)
1453{
1454 return SwigPyObject_format("%x",v);
1455}
1456
1457SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject *
1458SwigPyObject_repr(SwigPyObject *v)
1459{
1460 const char *name = SWIG_TypePrettyName(v->ty);
1461 PyObject *repr = SWIG_Python_str_FromFormatPyUnicode_FromFormat("<Swig Object of type '%s' at %p>", (name ? name : "unknown"), (void *)v);
1462 if (v->next) {
1463 PyObject *nrep = SwigPyObject_repr((SwigPyObject *)v->next);
1464# if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000
1465 PyObject *joined = PyUnicode_Concat(repr, nrep);
1466 Py_DecRef(repr);
1467 Py_DecRef(nrep);
1468 repr = joined;
1469# else
1470 PyString_ConcatAndDel(&repr,nrep);
1471# endif
1472 }
1473 return repr;
1474}
1475
1476/* We need a version taking two PyObject* parameters so it's a valid
1477 * PyCFunction to use in swigobject_methods[]. */
1478SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject *
1479SwigPyObject_repr2(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
1480{
1481 return SwigPyObject_repr((SwigPyObject*)v);
1482}
1483
1484SWIGRUNTIMEstatic __attribute__ ((__unused__)) int
1485SwigPyObject_compare(SwigPyObject *v, SwigPyObject *w)
1486{
1487 void *i = v->ptr;
1488 void *j = w->ptr;
1489 return (i < j) ? -1 : ((i > j) ? 1 : 0);
1490}
1491
1492/* Added for Python 3.x, would it also be useful for Python 2.x? */
1493SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject*
1494SwigPyObject_richcompare(SwigPyObject *v, SwigPyObject *w, int op)
1495{
1496 PyObject* res;
1497 if( op != Py_EQ2 && op != Py_NE3 ) {
1498 Py_INCREF(Py_NotImplemented)_Py_INCREF(((PyObject*)((&_Py_NotImplementedStruct))));
1499 return Py_NotImplemented(&_Py_NotImplementedStruct);
1500 }
1501 res = PyBool_FromLong( (SwigPyObject_compare(v, w)==0) == (op == Py_EQ2) ? 1 : 0);
1502 return res;
1503}
1504
1505
1506SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyTypeObject* SwigPyObject_TypeOnce(void);
1507
1508#ifdef SWIGPYTHON_BUILTIN
1509static swig_type_info *SwigPyObject_stype = 0;
1510SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyTypeObject*
1511SwigPyObject_type(void) {
1512 SwigPyClientData *cd;
1513 assert(SwigPyObject_stype)(static_cast <bool> (SwigPyObject_stype) ? void (0) : __assert_fail
("SwigPyObject_stype", "tools/lldb/bindings/python/LLDBWrapPython.cpp"
, 1513, __extension__ __PRETTY_FUNCTION__))
;
1514 cd = (SwigPyClientData*) SwigPyObject_stype->clientdata;
1515 assert(cd)(static_cast <bool> (cd) ? void (0) : __assert_fail ("cd"
, "tools/lldb/bindings/python/LLDBWrapPython.cpp", 1515, __extension__
__PRETTY_FUNCTION__))
;
1516 assert(cd->pytype)(static_cast <bool> (cd->pytype) ? void (0) : __assert_fail
("cd->pytype", "tools/lldb/bindings/python/LLDBWrapPython.cpp"
, 1516, __extension__ __PRETTY_FUNCTION__))
;
1517 return cd->pytype;
1518}
1519#else
1520SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyTypeObject*
1521SwigPyObject_type(void) {
1522 static PyTypeObject *SWIG_STATIC_POINTER(type)type = SwigPyObject_TypeOnce();
1523 return type;
1524}
1525#endif
1526
1527SWIGRUNTIMEINLINEstatic __attribute__ ((__unused__)) inline int
1528SwigPyObject_Check(PyObject *op) {
1529#ifdef SWIGPYTHON_BUILTIN
1530 PyTypeObject *target_tp = SwigPyObject_type();
1531 if (PyType_IsSubtype(op->ob_type, target_tp))
1532 return 1;
1533 return (strcmp(op->ob_type->tp_name, "SwigPyObject") == 0);
1534#else
1535 return (Py_TYPE(op)(((PyObject*)(op))->ob_type) == SwigPyObject_type())
1536 || (strcmp(Py_TYPE(op)(((PyObject*)(op))->ob_type)->tp_name,"SwigPyObject") == 0);
1537#endif
1538}
1539
1540SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject *
1541SwigPyObject_New(void *ptr, swig_type_info *ty, int own);
1542
1543SWIGRUNTIMEstatic __attribute__ ((__unused__)) void
1544SwigPyObject_dealloc(PyObject *v)
1545{
1546 SwigPyObject *sobj = (SwigPyObject *) v;
1547 PyObject *next = sobj->next;
1548 if (sobj->own == SWIG_POINTER_OWN0x1) {
1549 swig_type_info *ty = sobj->ty;
1550 SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0;
1551 PyObject *destroy = data ? data->destroy : 0;
1552 if (destroy) {
1553 /* destroy is always a VARARGS method */
1554 PyObject *res;
1555
1556 /* PyObject_CallFunction() has the potential to silently drop
1557 the active exception. In cases of unnamed temporary
1558 variable or where we just finished iterating over a generator
1559 StopIteration will be active right now, and this needs to
1560 remain true upon return from SwigPyObject_dealloc. So save
1561 and restore. */
1562
1563 PyObject *type = NULL__null, *value = NULL__null, *traceback = NULL__null;
1564 PyErr_Fetch(&type, &value, &traceback);
1565
1566 if (data->delargs) {
1567 /* we need to create a temporary object to carry the destroy operation */
1568 PyObject *tmp = SwigPyObject_New(sobj->ptr, ty, 0);
1569 res = SWIG_Python_CallFunctor(destroy, tmp)PyObject_CallFunctionObjArgs(destroy, tmp, __null);;
1570 Py_DECREF(tmp)_Py_DECREF(((PyObject*)(tmp)));
1571 } else {
1572 PyCFunction meth = PyCFunction_GET_FUNCTION(destroy)(((PyCFunctionObject *)destroy) -> m_ml -> ml_meth);
1573 PyObject *mself = PyCFunction_GET_SELF(destroy)(((PyCFunctionObject *)destroy) -> m_ml -> ml_flags &
0x0020 ? __null : ((PyCFunctionObject *)destroy) -> m_self
)
;
1574 res = ((*meth)(mself, v));
1575 }
1576 if (!res)
1577 PyErr_WriteUnraisable(destroy);
1578
1579 PyErr_Restore(type, value, traceback);
1580
1581 Py_XDECREF(res)_Py_XDECREF(((PyObject*)(res)));
1582 }
1583#if !defined(SWIG_PYTHON_SILENT_MEMLEAK)
1584 else {
1585 const char *name = SWIG_TypePrettyName(ty);
1586 printf("swig/python detected a memory leak of type '%s', no destructor found.\n", (name ? name : "unknown"));
1587 }
1588#endif
1589 }
1590 Py_XDECREF(next)_Py_XDECREF(((PyObject*)(next)));
1591 PyObject_DELPyObject_Free(v);
1592}
1593
1594SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject*
1595SwigPyObject_append(PyObject* v, PyObject* next)
1596{
1597 SwigPyObject *sobj = (SwigPyObject *) v;
1598 if (!SwigPyObject_Check(next)) {
1599 PyErr_SetString(PyExc_TypeError, "Attempt to append a non SwigPyObject");
1600 return NULL__null;
1601 }
1602 sobj->next = next;
1603 Py_INCREF(next)_Py_INCREF(((PyObject*)(next)));
1604 return SWIG_Py_Void();
1605}
1606
1607SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject*
1608SwigPyObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1609{
1610 SwigPyObject *sobj = (SwigPyObject *) v;
1611 if (sobj->next) {
1612 Py_INCREF(sobj->next)_Py_INCREF(((PyObject*)(sobj->next)));
1613 return sobj->next;
1614 } else {
1615 return SWIG_Py_Void();
1616 }
1617}
1618
1619SWIGINTERNstatic __attribute__ ((__unused__)) PyObject*
1620SwigPyObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1621{
1622 SwigPyObject *sobj = (SwigPyObject *)v;
1623 sobj->own = 0;
1624 return SWIG_Py_Void();
1625}
1626
1627SWIGINTERNstatic __attribute__ ((__unused__)) PyObject*
1628SwigPyObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1629{
1630 SwigPyObject *sobj = (SwigPyObject *)v;
1631 sobj->own = SWIG_POINTER_OWN0x1;
1632 return SWIG_Py_Void();
1633}
1634
1635SWIGINTERNstatic __attribute__ ((__unused__)) PyObject*
1636SwigPyObject_own(PyObject *v, PyObject *args)
1637{
1638 PyObject *val = 0;
1639 if (!PyArg_UnpackTuple(args, "own", 0, 1, &val)) {
1640 return NULL__null;
1641 } else {
1642 SwigPyObject *sobj = (SwigPyObject *)v;
1643 PyObject *obj = PyBool_FromLong(sobj->own);
1644 if (val) {
1645 if (PyObject_IsTrue(val)) {
1646 SwigPyObject_acquire(v,args);
1647 } else {
1648 SwigPyObject_disown(v,args);
1649 }
1650 }
1651 return obj;
1652 }
1653}
1654
1655static PyMethodDef
1656swigobject_methods[] = {
1657 {"disown", SwigPyObject_disown, METH_NOARGS0x0004, "releases ownership of the pointer"},
1658 {"acquire", SwigPyObject_acquire, METH_NOARGS0x0004, "acquires ownership of the pointer"},
1659 {"own", SwigPyObject_own, METH_VARARGS0x0001, "returns/sets ownership of the pointer"},
1660 {"append", SwigPyObject_append, METH_O0x0008, "appends another 'this' object"},
1661 {"next", SwigPyObject_next, METH_NOARGS0x0004, "returns the next 'this' object"},
1662 {"__repr__",SwigPyObject_repr2, METH_NOARGS0x0004, "returns object representation"},
1663 {0, 0, 0, 0}
1664};
1665
1666SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyTypeObject*
1667SwigPyObject_TypeOnce(void) {
1668 static char swigobject_doc[] = "Swig object carries a C/C++ instance pointer";
1669
1670 static PyNumberMethods SwigPyObject_as_number = {
1671 (binaryfunc)0, /*nb_add*/
1672 (binaryfunc)0, /*nb_subtract*/
1673 (binaryfunc)0, /*nb_multiply*/
1674 /* nb_divide removed in Python 3 */
1675#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
< 0x03000000
1676 (binaryfunc)0, /*nb_divide*/
1677#endif
1678 (binaryfunc)0, /*nb_remainder*/
1679 (binaryfunc)0, /*nb_divmod*/
1680 (ternaryfunc)0,/*nb_power*/
1681 (unaryfunc)0, /*nb_negative*/
1682 (unaryfunc)0, /*nb_positive*/
1683 (unaryfunc)0, /*nb_absolute*/
1684 (inquiry)0, /*nb_nonzero*/
1685 0, /*nb_invert*/
1686 0, /*nb_lshift*/
1687 0, /*nb_rshift*/
1688 0, /*nb_and*/
1689 0, /*nb_xor*/
1690 0, /*nb_or*/
1691#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
< 0x03000000
1692 0, /*nb_coerce*/
1693#endif
1694 (unaryfunc)SwigPyObject_long, /*nb_int*/
1695#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
< 0x03000000
1696 (unaryfunc)SwigPyObject_long, /*nb_long*/
1697#else
1698 0, /*nb_reserved*/
1699#endif
1700 (unaryfunc)0, /*nb_float*/
1701#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
< 0x03000000
1702 (unaryfunc)SwigPyObject_oct, /*nb_oct*/
1703 (unaryfunc)SwigPyObject_hex, /*nb_hex*/
1704#endif
1705#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03050000 /* 3.5 */
1706 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_matrix_multiply */
1707#elif PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000 /* 3.0 */
1708 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index, nb_inplace_divide removed */
1709#else
1710 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */
1711#endif
1712 };
1713
1714 static PyTypeObject swigpyobject_type;
1715 static int type_init = 0;
1716 if (!type_init) {
1717 const PyTypeObject tmp = {
1718#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000
1719 PyVarObject_HEAD_INIT(NULL, 0){ { 1, __null }, 0 },
1720#else
1721 PyObject_HEAD_INIT(NULL){ 1, __null },
1722 0, /* ob_size */
1723#endif
1724 "SwigPyObject", /* tp_name */
1725 sizeof(SwigPyObject), /* tp_basicsize */
1726 0, /* tp_itemsize */
1727 (destructor)SwigPyObject_dealloc, /* tp_dealloc */
1728 0, /* tp_print */
1729 (getattrfunc)0, /* tp_getattr */
1730 (setattrfunc)0, /* tp_setattr */
1731#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000
1732 0, /* tp_reserved in 3.0.1, tp_compare in 3.0.0 but not used */
1733#else
1734 (cmpfunc)SwigPyObject_compare, /* tp_compare */
1735#endif
1736 (reprfunc)SwigPyObject_repr, /* tp_repr */
1737 &SwigPyObject_as_number, /* tp_as_number */
1738 0, /* tp_as_sequence */
1739 0, /* tp_as_mapping */
1740 (hashfunc)0, /* tp_hash */
1741 (ternaryfunc)0, /* tp_call */
1742 0, /* tp_str */
1743 PyObject_GenericGetAttr, /* tp_getattro */
1744 0, /* tp_setattro */
1745 0, /* tp_as_buffer */
1746 Py_TPFLAGS_DEFAULT( 0 | (1UL << 18) | 0), /* tp_flags */
1747 swigobject_doc, /* tp_doc */
1748 0, /* tp_traverse */
1749 0, /* tp_clear */
1750 (richcmpfunc)SwigPyObject_richcompare,/* tp_richcompare */
1751 0, /* tp_weaklistoffset */
1752 0, /* tp_iter */
1753 0, /* tp_iternext */
1754 swigobject_methods, /* tp_methods */
1755 0, /* tp_members */
1756 0, /* tp_getset */
1757 0, /* tp_base */
1758 0, /* tp_dict */
1759 0, /* tp_descr_get */
1760 0, /* tp_descr_set */
1761 0, /* tp_dictoffset */
1762 0, /* tp_init */
1763 0, /* tp_alloc */
1764 0, /* tp_new */
1765 0, /* tp_free */
1766 0, /* tp_is_gc */
1767 0, /* tp_bases */
1768 0, /* tp_mro */
1769 0, /* tp_cache */
1770 0, /* tp_subclasses */
1771 0, /* tp_weaklist */
1772 0, /* tp_del */
1773 0, /* tp_version_tag */
1774#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03040000
1775 0, /* tp_finalize */
1776#endif
1777#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03080000
1778 0, /* tp_vectorcall */
1779#endif
1780#if (PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03080000) && (PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
< 0x03090000)
1781 0, /* tp_print */
1782#endif
1783#ifdef COUNT_ALLOCS
1784 0, /* tp_allocs */
1785 0, /* tp_frees */
1786 0, /* tp_maxalloc */
1787 0, /* tp_prev */
1788 0 /* tp_next */
1789#endif
1790 };
1791 swigpyobject_type = tmp;
1792 type_init = 1;
1793 if (PyType_Ready(&swigpyobject_type) < 0)
1794 return NULL__null;
1795 }
1796 return &swigpyobject_type;
1797}
1798
1799SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject *
1800SwigPyObject_New(void *ptr, swig_type_info *ty, int own)
1801{
1802 SwigPyObject *sobj = PyObject_NEW(SwigPyObject, SwigPyObject_type())((SwigPyObject *)_PyObject_New(SwigPyObject_type()));
1803 if (sobj) {
1804 sobj->ptr = ptr;
1805 sobj->ty = ty;
1806 sobj->own = own;
1807 sobj->next = 0;
1808 }
1809 return (PyObject *)sobj;
1810}
1811
1812/* -----------------------------------------------------------------------------
1813 * Implements a simple Swig Packed type, and use it instead of string
1814 * ----------------------------------------------------------------------------- */
1815
1816typedef struct {
1817 PyObject_HEADPyObject ob_base;
1818 void *pack;
1819 swig_type_info *ty;
1820 size_t size;
1821} SwigPyPacked;
1822
1823SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject *
1824SwigPyPacked_repr(SwigPyPacked *v)
1825{
1826 char result[SWIG_BUFFER_SIZE1024];
1827 if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
1828 return SWIG_Python_str_FromFormatPyUnicode_FromFormat("<Swig Packed at %s%s>", result, v->ty->name);
1829 } else {
1830 return SWIG_Python_str_FromFormatPyUnicode_FromFormat("<Swig Packed %s>", v->ty->name);
1831 }
1832}
1833
1834SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject *
1835SwigPyPacked_str(SwigPyPacked *v)
1836{
1837 char result[SWIG_BUFFER_SIZE1024];
1838 if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){
1839 return SWIG_Python_str_FromFormatPyUnicode_FromFormat("%s%s", result, v->ty->name);
1840 } else {
1841 return SWIG_Python_str_FromChar(v->ty->name);
1842 }
1843}
1844
1845SWIGRUNTIMEstatic __attribute__ ((__unused__)) int
1846SwigPyPacked_compare(SwigPyPacked *v, SwigPyPacked *w)
1847{
1848 size_t i = v->size;
1849 size_t j = w->size;
1850 int s = (i < j) ? -1 : ((i > j) ? 1 : 0);
1851 return s ? s : strncmp((const char *)v->pack, (const char *)w->pack, 2*v->size);
1852}
1853
1854SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyTypeObject* SwigPyPacked_TypeOnce(void);
1855
1856SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyTypeObject*
1857SwigPyPacked_type(void) {
1858 static PyTypeObject *SWIG_STATIC_POINTER(type)type = SwigPyPacked_TypeOnce();
1859 return type;
1860}
1861
1862SWIGRUNTIMEINLINEstatic __attribute__ ((__unused__)) inline int
1863SwigPyPacked_Check(PyObject *op) {
1864 return ((op)->ob_type == SwigPyPacked_TypeOnce())
1865 || (strcmp((op)->ob_type->tp_name,"SwigPyPacked") == 0);
1866}
1867
1868SWIGRUNTIMEstatic __attribute__ ((__unused__)) void
1869SwigPyPacked_dealloc(PyObject *v)
1870{
1871 if (SwigPyPacked_Check(v)) {
1872 SwigPyPacked *sobj = (SwigPyPacked *) v;
1873 free(sobj->pack);
1874 }
1875 PyObject_DELPyObject_Free(v);
1876}
1877
1878SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyTypeObject*
1879SwigPyPacked_TypeOnce(void) {
1880 static char swigpacked_doc[] = "Swig object carries a C/C++ instance pointer";
1881 static PyTypeObject swigpypacked_type;
1882 static int type_init = 0;
1883 if (!type_init) {
1884 const PyTypeObject tmp = {
1885#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>=0x03000000
1886 PyVarObject_HEAD_INIT(NULL, 0){ { 1, __null }, 0 },
1887#else
1888 PyObject_HEAD_INIT(NULL){ 1, __null },
1889 0, /* ob_size */
1890#endif
1891 "SwigPyPacked", /* tp_name */
1892 sizeof(SwigPyPacked), /* tp_basicsize */
1893 0, /* tp_itemsize */
1894 (destructor)SwigPyPacked_dealloc, /* tp_dealloc */
1895 0, /* tp_print */
1896 (getattrfunc)0, /* tp_getattr */
1897 (setattrfunc)0, /* tp_setattr */
1898#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>=0x03000000
1899 0, /* tp_reserved in 3.0.1 */
1900#else
1901 (cmpfunc)SwigPyPacked_compare, /* tp_compare */
1902#endif
1903 (reprfunc)SwigPyPacked_repr, /* tp_repr */
1904 0, /* tp_as_number */
1905 0, /* tp_as_sequence */
1906 0, /* tp_as_mapping */
1907 (hashfunc)0, /* tp_hash */
1908 (ternaryfunc)0, /* tp_call */
1909 (reprfunc)SwigPyPacked_str, /* tp_str */
1910 PyObject_GenericGetAttr, /* tp_getattro */
1911 0, /* tp_setattro */
1912 0, /* tp_as_buffer */
1913 Py_TPFLAGS_DEFAULT( 0 | (1UL << 18) | 0), /* tp_flags */
1914 swigpacked_doc, /* tp_doc */
1915 0, /* tp_traverse */
1916 0, /* tp_clear */
1917 0, /* tp_richcompare */
1918 0, /* tp_weaklistoffset */
1919 0, /* tp_iter */
1920 0, /* tp_iternext */
1921 0, /* tp_methods */
1922 0, /* tp_members */
1923 0, /* tp_getset */
1924 0, /* tp_base */
1925 0, /* tp_dict */
1926 0, /* tp_descr_get */
1927 0, /* tp_descr_set */
1928 0, /* tp_dictoffset */
1929 0, /* tp_init */
1930 0, /* tp_alloc */
1931 0, /* tp_new */
1932 0, /* tp_free */
1933 0, /* tp_is_gc */
1934 0, /* tp_bases */
1935 0, /* tp_mro */
1936 0, /* tp_cache */
1937 0, /* tp_subclasses */
1938 0, /* tp_weaklist */
1939 0, /* tp_del */
1940 0, /* tp_version_tag */
1941#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03040000
1942 0, /* tp_finalize */
1943#endif
1944#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03080000
1945 0, /* tp_vectorcall */
1946#endif
1947#if (PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03080000) && (PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
< 0x03090000)
1948 0, /* tp_print */
1949#endif
1950#ifdef COUNT_ALLOCS
1951 0, /* tp_allocs */
1952 0, /* tp_frees */
1953 0, /* tp_maxalloc */
1954 0, /* tp_prev */
1955 0 /* tp_next */
1956#endif
1957 };
1958 swigpypacked_type = tmp;
1959 type_init = 1;
1960 if (PyType_Ready(&swigpypacked_type) < 0)
1961 return NULL__null;
1962 }
1963 return &swigpypacked_type;
1964}
1965
1966SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject *
1967SwigPyPacked_New(void *ptr, size_t size, swig_type_info *ty)
1968{
1969 SwigPyPacked *sobj = PyObject_NEW(SwigPyPacked, SwigPyPacked_type())((SwigPyPacked *)_PyObject_New(SwigPyPacked_type()));
1970 if (sobj) {
1971 void *pack = malloc(size);
1972 if (pack) {
1973 memcpy(pack, ptr, size);
1974 sobj->pack = pack;
1975 sobj->ty = ty;
1976 sobj->size = size;
1977 } else {
1978 PyObject_DELPyObject_Free((PyObject *) sobj);
1979 sobj = 0;
1980 }
1981 }
1982 return (PyObject *) sobj;
1983}
1984
1985SWIGRUNTIMEstatic __attribute__ ((__unused__)) swig_type_info *
1986SwigPyPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
1987{
1988 if (SwigPyPacked_Check(obj)) {
1989 SwigPyPacked *sobj = (SwigPyPacked *)obj;
1990 if (sobj->size != size) return 0;
1991 memcpy(ptr, sobj->pack, size);
1992 return sobj->ty;
1993 } else {
1994 return 0;
1995 }
1996}
1997
1998/* -----------------------------------------------------------------------------
1999 * pointers/data manipulation
2000 * ----------------------------------------------------------------------------- */
2001
2002static PyObject *Swig_This_global = NULL__null;
2003
2004SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject *
2005SWIG_This(void)
2006{
2007 if (Swig_This_global == NULL__null)
2008 Swig_This_global = SWIG_Python_str_FromChar("this");
2009 return Swig_This_global;
2010}
2011
2012/* #define SWIG_PYTHON_SLOW_GETSET_THIS */
2013
2014/* TODO: I don't know how to implement the fast getset in Python 3 right now */
2015#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>=0x03000000
2016#define SWIG_PYTHON_SLOW_GETSET_THIS
2017#endif
2018
2019SWIGRUNTIMEstatic __attribute__ ((__unused__)) SwigPyObject *
2020SWIG_Python_GetSwigThis(PyObject *pyobj)
2021{
2022 PyObject *obj;
2023
2024 if (SwigPyObject_Check(pyobj))
2025 return (SwigPyObject *) pyobj;
2026
2027#ifdef SWIGPYTHON_BUILTIN
2028 (void)obj;
2029# ifdef PyWeakref_CheckProxy
2030 if (PyWeakref_CheckProxy(pyobj)(_Py_IS_TYPE(((const PyObject*)(pyobj)), &_PyWeakref_ProxyType
) || _Py_IS_TYPE(((const PyObject*)(pyobj)), &_PyWeakref_CallableProxyType
))
) {
2031 pyobj = PyWeakref_GET_OBJECT(pyobj)((((PyObject*)(((PyWeakReference *)(pyobj))->wr_object))->
ob_refcnt) > 0 ? ((PyWeakReference *)(pyobj))->wr_object
: (&_Py_NoneStruct))
;
2032 if (pyobj && SwigPyObject_Check(pyobj))
2033 return (SwigPyObject*) pyobj;
2034 }
2035# endif
2036 return NULL__null;
2037#else
2038
2039 obj = 0;
2040
2041#if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2042 if (PyInstance_Check(pyobj)) {
2043 obj = _PyInstance_Lookup(pyobj, SWIG_This());
2044 } else {
2045 PyObject **dictptr = _PyObject_GetDictPtr(pyobj);
2046 if (dictptr != NULL__null) {
2047 PyObject *dict = *dictptr;
2048 obj = dict ? PyDict_GetItem(dict, SWIG_This()) : 0;
2049 } else {
2050#ifdef PyWeakref_CheckProxy
2051 if (PyWeakref_CheckProxy(pyobj)(_Py_IS_TYPE(((const PyObject*)(pyobj)), &_PyWeakref_ProxyType
) || _Py_IS_TYPE(((const PyObject*)(pyobj)), &_PyWeakref_CallableProxyType
))
) {
2052 PyObject *wobj = PyWeakref_GET_OBJECT(pyobj)((((PyObject*)(((PyWeakReference *)(pyobj))->wr_object))->
ob_refcnt) > 0 ? ((PyWeakReference *)(pyobj))->wr_object
: (&_Py_NoneStruct))
;
2053 return wobj ? SWIG_Python_GetSwigThis(wobj) : 0;
2054 }
2055#endif
2056 obj = PyObject_GetAttr(pyobj,SWIG_This());
2057 if (obj) {
2058 Py_DECREF(obj)_Py_DECREF(((PyObject*)(obj)));
2059 } else {
2060 if (PyErr_Occurred()) PyErr_Clear();
2061 return 0;
2062 }
2063 }
2064 }
2065#else
2066 obj = PyObject_GetAttr(pyobj,SWIG_This());
2067 if (obj) {
2068 Py_DECREF(obj)_Py_DECREF(((PyObject*)(obj)));
2069 } else {
2070 if (PyErr_Occurred()) PyErr_Clear();
2071 return 0;
2072 }
2073#endif
2074 if (obj && !SwigPyObject_Check(obj)) {
2075 /* a PyObject is called 'this', try to get the 'real this'
2076 SwigPyObject from it */
2077 return SWIG_Python_GetSwigThis(obj);
2078 }
2079 return (SwigPyObject *)obj;
2080#endif
2081}
2082
2083/* Acquire a pointer value */
2084
2085SWIGRUNTIMEstatic __attribute__ ((__unused__)) int
2086SWIG_Python_AcquirePtr(PyObject *obj, int own) {
2087 if (own == SWIG_POINTER_OWN0x1) {
2088 SwigPyObject *sobj = SWIG_Python_GetSwigThis(obj);
2089 if (sobj) {
2090 int oldown = sobj->own;
2091 sobj->own = own;
2092 return oldown;
2093 }
2094 }
2095 return 0;
2096}
2097
2098/* Convert a pointer value */
2099
2100SWIGRUNTIMEstatic __attribute__ ((__unused__)) int
2101SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own) {
2102 int res;
2103 SwigPyObject *sobj;
2104 int implicit_conv = (flags & SWIG_POINTER_IMPLICIT_CONV(0x1 << 1)) != 0;
2105
2106 if (!obj
3.1
'obj' is non-null
)
2107 return SWIG_ERROR(-1);
2108 if (obj == Py_None(&_Py_NoneStruct) && !implicit_conv
4.1
'implicit_conv' is 0
) {
4
Assuming the condition is true
5
Taking true branch
2109 if (ptr
5.1
'ptr' is non-null
)
6
Taking true branch
2110 *ptr = 0;
7
Null pointer value stored to 'argp1'
2111 return (flags & SWIG_POINTER_NO_NULL0x4) ? SWIG_NullReferenceError-13 : SWIG_OK(0);
8
'?' condition is false
2112 }
2113
2114 res = SWIG_ERROR(-1);
2115
2116 sobj = SWIG_Python_GetSwigThis(obj);
2117 if (own)
2118 *own = 0;
2119 while (sobj) {
2120 void *vptr = sobj->ptr;
2121 if (ty) {
2122 swig_type_info *to = sobj->ty;
2123 if (to == ty) {
2124 /* no type cast needed */
2125 if (ptr) *ptr = vptr;
2126 break;
2127 } else {
2128 swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
2129 if (!tc) {
2130 sobj = (SwigPyObject *)sobj->next;
2131 } else {
2132 if (ptr) {
2133 int newmemory = 0;
2134 *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
2135 if (newmemory == SWIG_CAST_NEW_MEMORY0x2) {
2136 assert(own)(static_cast <bool> (own) ? void (0) : __assert_fail ("own"
, "tools/lldb/bindings/python/LLDBWrapPython.cpp", 2136, __extension__
__PRETTY_FUNCTION__))
; /* badly formed typemap which will lead to a memory leak - it must set and use own to delete *ptr */
2137 if (own)
2138 *own = *own | SWIG_CAST_NEW_MEMORY0x2;
2139 }
2140 }
2141 break;
2142 }
2143 }
2144 } else {
2145 if (ptr) *ptr = vptr;
2146 break;
2147 }
2148 }
2149 if (sobj) {
2150 if (own)
2151 *own = *own | sobj->own;
2152 if (flags & SWIG_POINTER_DISOWN0x1) {
2153 sobj->own = 0;
2154 }
2155 res = SWIG_OK(0);
2156 } else {
2157 if (implicit_conv) {
2158 SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0;
2159 if (data && !data->implicitconv) {
2160 PyObject *klass = data->klass;
2161 if (klass) {
2162 PyObject *impconv;
2163 data->implicitconv = 1; /* avoid recursion and call 'explicit' constructors*/
2164 impconv = SWIG_Python_CallFunctor(klass, obj)PyObject_CallFunctionObjArgs(klass, obj, __null);;
2165 data->implicitconv = 0;
2166 if (PyErr_Occurred()) {
2167 PyErr_Clear();
2168 impconv = 0;
2169 }
2170 if (impconv) {
2171 SwigPyObject *iobj = SWIG_Python_GetSwigThis(impconv);
2172 if (iobj) {
2173 void *vptr;
2174 res = SWIG_Python_ConvertPtrAndOwn((PyObject*)iobj, &vptr, ty, 0, 0);
2175 if (SWIG_IsOK(res)(res >= 0)) {
2176 if (ptr) {
2177 *ptr = vptr;
2178 /* transfer the ownership to 'ptr' */
2179 iobj->own = 0;
2180 res = SWIG_AddCast(res)(res);
2181 res = SWIG_AddNewMask(res)((res >= 0) ? (res | ((1 << 8) << 1)) : res);
2182 } else {
2183 res = SWIG_AddCast(res)(res);
2184 }
2185 }
2186 }
2187 Py_DECREF(impconv)_Py_DECREF(((PyObject*)(impconv)));
2188 }
2189 }
2190 }
2191 if (!SWIG_IsOK(res)(res >= 0) && obj == Py_None(&_Py_NoneStruct)) {
2192 if (ptr)
2193 *ptr = 0;
2194 if (PyErr_Occurred())
2195 PyErr_Clear();
2196 res = SWIG_OK(0);
2197 }
2198 }
2199 }
2200 return res;
2201}
2202
2203/* Convert a function ptr value */
2204
2205SWIGRUNTIMEstatic __attribute__ ((__unused__)) int
2206SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) {
2207 if (!PyCFunction_Check(obj)(_Py_IS_TYPE(((const PyObject*)(obj)), &PyCFunction_Type)
|| PyType_IsSubtype((((PyObject*)(obj))->ob_type), (&
PyCFunction_Type)))
) {
2208 return SWIG_ConvertPtr(obj, ptr, ty, 0)SWIG_Python_ConvertPtrAndOwn(obj, ptr, ty, 0, 0);
2209 } else {
2210 void *vptr = 0;
2211 swig_cast_info *tc;
2212
2213 /* here we get the method pointer for callbacks */
2214 const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
2215 const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
2216 if (desc)
2217 desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
2218 if (!desc)
2219 return SWIG_ERROR(-1);
2220 tc = SWIG_TypeCheck(desc,ty);
2221 if (tc) {
2222 int newmemory = 0;
2223 *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
2224 assert(!newmemory)(static_cast <bool> (!newmemory) ? void (0) : __assert_fail
("!newmemory", "tools/lldb/bindings/python/LLDBWrapPython.cpp"
, 2224, __extension__ __PRETTY_FUNCTION__))
; /* newmemory handling not yet implemented */
2225 } else {
2226 return SWIG_ERROR(-1);
2227 }
2228 return SWIG_OK(0);
2229 }
2230}
2231
2232/* Convert a packed pointer value */
2233
2234SWIGRUNTIMEstatic __attribute__ ((__unused__)) int
2235SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) {
2236 swig_type_info *to = SwigPyPacked_UnpackData(obj, ptr, sz);
2237 if (!to) return SWIG_ERROR(-1);
2238 if (ty) {
2239 if (to != ty) {
2240 /* check type cast? */
2241 swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
2242 if (!tc) return SWIG_ERROR(-1);
2243 }
2244 }
2245 return SWIG_OK(0);
2246}
2247
2248/* -----------------------------------------------------------------------------
2249 * Create a new pointer object
2250 * ----------------------------------------------------------------------------- */
2251
2252/*
2253 Create a new instance object, without calling __init__, and set the
2254 'this' attribute.
2255*/
2256
2257SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject*
2258SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this)
2259{
2260 PyObject *inst = 0;
2261 PyObject *newraw = data->newraw;
2262 if (newraw) {
2263 inst = PyObject_Call(newraw, data->newargs, NULL__null);
2264 if (inst) {
2265#if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2266 PyObject **dictptr = _PyObject_GetDictPtr(inst);
2267 if (dictptr != NULL__null) {
2268 PyObject *dict = *dictptr;
2269 if (dict == NULL__null) {
2270 dict = PyDict_New();
2271 *dictptr = dict;
2272 PyDict_SetItem(dict, SWIG_This(), swig_this);
2273 }
2274 }
2275#else
2276 if (PyObject_SetAttr(inst, SWIG_This(), swig_this) == -1) {
2277 Py_DECREF(inst)_Py_DECREF(((PyObject*)(inst)));
2278 inst = 0;
2279 }
2280#endif
2281 }
2282 } else {
2283#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000
2284 PyObject *empty_args = PyTuple_New(0);
2285 if (empty_args) {
2286 PyObject *empty_kwargs = PyDict_New();
2287 if (empty_kwargs) {
2288 inst = ((PyTypeObject *)data->newargs)->tp_new((PyTypeObject *)data->newargs, empty_args, empty_kwargs);
2289 Py_DECREF(empty_kwargs)_Py_DECREF(((PyObject*)(empty_kwargs)));
2290 if (inst) {
2291 if (PyObject_SetAttr(inst, SWIG_This(), swig_this) == -1) {
2292 Py_DECREF(inst)_Py_DECREF(((PyObject*)(inst)));
2293 inst = 0;
2294 } else {
2295 Py_TYPE(inst)(((PyObject*)(inst))->ob_type)->tp_flags &= ~Py_TPFLAGS_VALID_VERSION_TAG(1UL << 19);
2296 }
2297 }
2298 }
2299 Py_DECREF(empty_args)_Py_DECREF(((PyObject*)(empty_args)));
2300 }
2301#else
2302 PyObject *dict = PyDict_New();
2303 if (dict) {
2304 PyDict_SetItem(dict, SWIG_This(), swig_this);
2305 inst = PyInstance_NewRaw(data->newargs, dict);
2306 Py_DECREF(dict)_Py_DECREF(((PyObject*)(dict)));
2307 }
2308#endif
2309 }
2310 return inst;
2311}
2312
2313SWIGRUNTIMEstatic __attribute__ ((__unused__)) int
2314SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this)
2315{
2316#if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2317 PyObject **dictptr = _PyObject_GetDictPtr(inst);
2318 if (dictptr != NULL__null) {
2319 PyObject *dict = *dictptr;
2320 if (dict == NULL__null) {
2321 dict = PyDict_New();
2322 *dictptr = dict;
2323 }
2324 return PyDict_SetItem(dict, SWIG_This(), swig_this);
2325 }
2326#endif
2327 return PyObject_SetAttr(inst, SWIG_This(), swig_this);
2328}
2329
2330
2331SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *
2332SWIG_Python_InitShadowInstance(PyObject *args) {
2333 PyObject *obj[2];
2334 if (!SWIG_Python_UnpackTuple(args, "swiginit", 2, 2, obj)) {
2335 return NULL__null;
2336 } else {
2337 SwigPyObject *sthis = SWIG_Python_GetSwigThis(obj[0]);
2338 if (sthis) {
2339 SwigPyObject_append((PyObject*) sthis, obj[1]);
2340 } else {
2341 if (SWIG_Python_SetSwigThis(obj[0], obj[1]) != 0)
2342 return NULL__null;
2343 }
2344 return SWIG_Py_Void();
2345 }
2346}
2347
2348/* Create a new pointer object */
2349
2350SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject *
2351SWIG_Python_NewPointerObj(PyObject *self, void *ptr, swig_type_info *type, int flags) {
2352 SwigPyClientData *clientdata;
2353 PyObject * robj;
2354 int own;
2355
2356 if (!ptr)
2357 return SWIG_Py_Void();
2358
2359 clientdata = type ? (SwigPyClientData *)(type->clientdata) : 0;
2360 own = (flags & SWIG_POINTER_OWN0x1) ? SWIG_POINTER_OWN0x1 : 0;
2361 if (clientdata && clientdata->pytype) {
2362 SwigPyObject *newobj;
2363 if (flags & SWIG_BUILTIN_TP_INIT(0x1 << 2)) {
2364 newobj = (SwigPyObject*) self;
2365 if (newobj->ptr) {
2366 PyObject *next_self = clientdata->pytype->tp_alloc(clientdata->pytype, 0);
2367 while (newobj->next)
2368 newobj = (SwigPyObject *) newobj->next;
2369 newobj->next = next_self;
2370 newobj = (SwigPyObject *)next_self;
2371#ifdef SWIGPYTHON_BUILTIN
2372 newobj->dict = 0;
2373#endif
2374 }
2375 } else {
2376 newobj = PyObject_New(SwigPyObject, clientdata->pytype)((SwigPyObject *)_PyObject_New(clientdata->pytype));
2377#ifdef SWIGPYTHON_BUILTIN
2378 newobj->dict = 0;
2379#endif
2380 }
2381 if (newobj) {
2382 newobj->ptr = ptr;
2383 newobj->ty = type;
2384 newobj->own = own;
2385 newobj->next = 0;
2386 return (PyObject*) newobj;
2387 }
2388 return SWIG_Py_Void();
2389 }
2390
2391 assert(!(flags & SWIG_BUILTIN_TP_INIT))(static_cast <bool> (!(flags & (0x1 << 2))) ?
void (0) : __assert_fail ("!(flags & SWIG_BUILTIN_TP_INIT)"
, "tools/lldb/bindings/python/LLDBWrapPython.cpp", 2391, __extension__
__PRETTY_FUNCTION__))
;
2392
2393 robj = SwigPyObject_New(ptr, type, own);
2394 if (robj && clientdata && !(flags & SWIG_POINTER_NOSHADOW(0x1 << 1))) {
2395 PyObject *inst = SWIG_Python_NewShadowInstance(clientdata, robj);
2396 Py_DECREF(robj)_Py_DECREF(((PyObject*)(robj)));
2397 robj = inst;
2398 }
2399 return robj;
2400}
2401
2402/* Create a new packed object */
2403
2404SWIGRUNTIMEINLINEstatic __attribute__ ((__unused__)) inline PyObject *
2405SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {
2406 return ptr ? SwigPyPacked_New((void *) ptr, sz, type) : SWIG_Py_Void();
2407}
2408
2409/* -----------------------------------------------------------------------------*
2410 * Get type list
2411 * -----------------------------------------------------------------------------*/
2412
2413#ifdef SWIG_LINK_RUNTIME
2414void *SWIG_ReturnGlobalTypeList(void *);
2415#endif
2416
2417SWIGRUNTIMEstatic __attribute__ ((__unused__)) swig_module_info *
2418SWIG_Python_GetModule(void *SWIGUNUSEDPARM(clientdata)) {
2419 static void *type_pointer = (void *)0;
2420 /* first check if module already created */
2421 if (!type_pointer) {
2422#ifdef SWIG_LINK_RUNTIME
2423 type_pointer = SWIG_ReturnGlobalTypeList((void *)0);
2424#else
2425 type_pointer = PyCapsule_Import(SWIGPY_CAPSULE_NAME("swig_runtime_data" "4" ".type_pointer_capsule" ), 0);
2426 if (PyErr_Occurred()) {
2427 PyErr_Clear();
2428 type_pointer = (void *)0;
2429 }
2430#endif
2431 }
2432 return (swig_module_info *) type_pointer;
2433}
2434
2435SWIGRUNTIMEstatic __attribute__ ((__unused__)) void
2436SWIG_Python_DestroyModule(PyObject *obj)
2437{
2438 swig_module_info *swig_module = (swig_module_info *) PyCapsule_GetPointer(obj, SWIGPY_CAPSULE_NAME("swig_runtime_data" "4" ".type_pointer_capsule" ));
2439 swig_type_info **types = swig_module->types;
2440 size_t i;
2441 for (i =0; i < swig_module->size; ++i) {
2442 swig_type_info *ty = types[i];
2443 if (ty->owndata) {
2444 SwigPyClientData *data = (SwigPyClientData *) ty->clientdata;
2445 if (data) SwigPyClientData_Del(data);
2446 }
2447 }
2448 Py_DECREF(SWIG_This())_Py_DECREF(((PyObject*)(SWIG_This())));
2449 Swig_This_global = NULL__null;
2450}
2451
2452SWIGRUNTIMEstatic __attribute__ ((__unused__)) void
2453SWIG_Python_SetModule(swig_module_info *swig_module) {
2454#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000
2455 /* Add a dummy module object into sys.modules */
2456 PyObject *module = PyImport_AddModule("swig_runtime_data" SWIG_RUNTIME_VERSION"4");
2457#else
2458 static PyMethodDef swig_empty_runtime_method_table[] = { {NULL__null, NULL__null, 0, NULL__null} }; /* Sentinel */
2459 PyObject *module = Py_InitModule("swig_runtime_data" SWIG_RUNTIME_VERSION"4", swig_empty_runtime_method_table);
2460#endif
2461 PyObject *pointer = PyCapsule_New((void *) swig_module, SWIGPY_CAPSULE_NAME("swig_runtime_data" "4" ".type_pointer_capsule" ), SWIG_Python_DestroyModule);
2462 if (pointer && module) {
2463 PyModule_AddObject(module, "type_pointer_capsule" SWIG_TYPE_TABLE_NAME, pointer);
2464 } else {
2465 Py_XDECREF(pointer)_Py_XDECREF(((PyObject*)(pointer)));
2466 }
2467}
2468
2469/* The python cached type query */
2470SWIGRUNTIMEstatic __attribute__ ((__unused__)) PyObject *
2471SWIG_Python_TypeCache(void) {
2472 static PyObject *SWIG_STATIC_POINTER(cache)cache = PyDict_New();
2473 return cache;
2474}
2475
2476SWIGRUNTIMEstatic __attribute__ ((__unused__)) swig_type_info *
2477SWIG_Python_TypeQuery(const char *type)
2478{
2479 PyObject *cache = SWIG_Python_TypeCache();
2480 PyObject *key = SWIG_Python_str_FromChar(type);
2481 PyObject *obj = PyDict_GetItem(cache, key);
2482 swig_type_info *descriptor;
2483 if (obj) {
2484 descriptor = (swig_type_info *) PyCapsule_GetPointer(obj, NULL__null);
2485 } else {
2486 swig_module_info *swig_module = SWIG_GetModule(0)SWIG_Python_GetModule(0);
2487 descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type);
2488 if (descriptor) {
2489 obj = PyCapsule_New((void*) descriptor, NULL__null, NULL__null);
2490 PyDict_SetItem(cache, key, obj);
2491 Py_DECREF(obj)_Py_DECREF(((PyObject*)(obj)));
2492 }
2493 }
2494 Py_DECREF(key)_Py_DECREF(((PyObject*)(key)));
2495 return descriptor;
2496}
2497
2498/*
2499 For backward compatibility only
2500*/
2501#define SWIG_POINTER_EXCEPTION0 0
2502#define SWIG_arg_fail(arg)SWIG_Python_ArgFail(arg) SWIG_Python_ArgFail(arg)
2503#define SWIG_MustGetPtr(p, type, argnum, flags)SWIG_Python_MustGetPtr(p, type, argnum, flags) SWIG_Python_MustGetPtr(p, type, argnum, flags)
2504
2505SWIGRUNTIMEstatic __attribute__ ((__unused__)) int
2506SWIG_Python_AddErrMesg(const char* mesg, int infront)
2507{
2508 if (PyErr_Occurred()) {
2509 PyObject *type = 0;
2510 PyObject *value = 0;
2511 PyObject *traceback = 0;
2512 PyErr_Fetch(&type, &value, &traceback);
2513 if (value) {
2514 PyObject *old_str = PyObject_Str(value);
2515 const char *tmp = SWIG_Python_str_AsChar(old_str);
2516 const char *errmesg = tmp ? tmp : "Invalid error message";
2517 Py_XINCREF(type)_Py_XINCREF(((PyObject*)(type)));
2518 PyErr_Clear();
2519 if (infront) {
2520 PyErr_Format(type, "%s %s", mesg, errmesg);
2521 } else {
2522 PyErr_Format(type, "%s %s", errmesg, mesg);
2523 }
2524 SWIG_Python_str_DelForPy3(tmp);
2525 Py_DECREF(old_str)_Py_DECREF(((PyObject*)(old_str)));
2526 }
2527 return 1;
2528 } else {
2529 return 0;
2530 }
2531}
2532
2533SWIGRUNTIMEstatic __attribute__ ((__unused__)) int
2534SWIG_Python_ArgFail(int argnum)
2535{
2536 if (PyErr_Occurred()) {
2537 /* add information about failing argument */
2538 char mesg[256];
2539 PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum);
2540 return SWIG_Python_AddErrMesg(mesg, 1);
2541 } else {
2542 return 0;
2543 }
2544}
2545
2546SWIGRUNTIMEINLINEstatic __attribute__ ((__unused__)) inline const char *
2547SwigPyObject_GetDesc(PyObject *self)
2548{
2549 SwigPyObject *v = (SwigPyObject *)self;
2550 swig_type_info *ty = v ? v->ty : 0;
2551 return ty ? ty->str : "";
2552}
2553
2554SWIGRUNTIMEstatic __attribute__ ((__unused__)) void
2555SWIG_Python_TypeError(const char *type, PyObject *obj)
2556{
2557 if (type) {
2558#if defined(SWIG_COBJECT_TYPES)
2559 if (obj && SwigPyObject_Check(obj)) {
2560 const char *otype = (const char *) SwigPyObject_GetDesc(obj);
2561 if (otype) {
2562 PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'SwigPyObject(%s)' is received",
2563 type, otype);
2564 return;
2565 }
2566 } else
2567#endif
2568 {
2569 const char *otype = (obj ? obj->ob_type->tp_name : 0);
2570 if (otype) {
2571 PyObject *str = PyObject_Str(obj);
2572 const char *cstr = str ? SWIG_Python_str_AsChar(str) : 0;
2573 if (cstr) {
2574 PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received",
2575 type, otype, cstr);
2576 SWIG_Python_str_DelForPy3(cstr);
2577 } else {
2578 PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",
2579 type, otype);
2580 }
2581 Py_XDECREF(str)_Py_XDECREF(((PyObject*)(str)));
2582 return;
2583 }
2584 }
2585 PyErr_Format(PyExc_TypeError, "a '%s' is expected", type);
2586 } else {
2587 PyErr_Format(PyExc_TypeError, "unexpected type is received");
2588 }
2589}
2590
2591
2592/* Convert a pointer value, signal an exception on a type mismatch */
2593SWIGRUNTIMEstatic __attribute__ ((__unused__)) void *
2594SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int SWIGUNUSEDPARM(argnum), int flags) {
2595 void *result;
2596 if (SWIG_Python_ConvertPtr(obj, &result, ty, flags)SWIG_Python_ConvertPtrAndOwn(obj, &result, ty, flags, 0) == -1) {
2597 PyErr_Clear();
2598#if SWIG_POINTER_EXCEPTION0
2599 if (flags) {
2600 SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
2601 SWIG_Python_ArgFail(argnum);
2602 }
2603#endif
2604 }
2605 return result;
2606}
2607
2608#ifdef SWIGPYTHON_BUILTIN
2609SWIGRUNTIMEstatic __attribute__ ((__unused__)) int
2610SWIG_Python_NonDynamicSetAttr(PyObject *obj, PyObject *name, PyObject *value) {
2611 PyTypeObject *tp = obj->ob_type;
2612 PyObject *descr;
2613 PyObject *encoded_name;
2614 descrsetfunc f;
2615 int res = -1;
2616
2617# ifdef Py_USING_UNICODE
2618 if (PyString_Check(name)PyType_HasFeature((((PyObject*)(name))->ob_type), (1UL <<
27))
) {
2619 name = PyUnicode_Decode(PyString_AsString(name)PyBytes_AsString(name), PyString_Size(name)PyBytes_Size(name), NULL__null, NULL__null);
2620 if (!name)
2621 return -1;
2622 } else if (!PyUnicode_Check(name)PyType_HasFeature((((PyObject*)(name))->ob_type), (1UL <<
28))
)
2623# else
2624 if (!PyString_Check(name)PyType_HasFeature((((PyObject*)(name))->ob_type), (1UL <<
27))
)
2625# endif
2626 {
2627 PyErr_Format(PyExc_TypeError, "attribute name must be string, not '%.200s'", name->ob_type->tp_name);
2628 return -1;
2629 } else {
2630 Py_INCREF(name)_Py_INCREF(((PyObject*)(name)));
2631 }
2632
2633 if (!tp->tp_dict) {
2634 if (PyType_Ready(tp) < 0)
2635 goto done;
2636 }
2637
2638 descr = _PyType_Lookup(tp, name);
2639 f = NULL__null;
2640 if (descr != NULL__null)
2641 f = descr->ob_type->tp_descr_set;
2642 if (!f) {
2643 if (PyString_Check(name)PyType_HasFeature((((PyObject*)(name))->ob_type), (1UL <<
27))
) {
2644 encoded_name = name;
2645 Py_INCREF(name)_Py_INCREF(((PyObject*)(name)));
2646 } else {
2647 encoded_name = PyUnicode_AsUTF8String(name);
2648 if (!encoded_name)
2649 return -1;
2650 }
2651 PyErr_Format(PyExc_AttributeError, "'%.100s' object has no attribute '%.200s'", tp->tp_name, PyString_AsString(encoded_name)PyBytes_AsString(encoded_name));
2652 Py_DECREF(encoded_name)_Py_DECREF(((PyObject*)(encoded_name)));
2653 } else {
2654 res = f(descr, obj, value);
2655 }
2656
2657 done:
2658 Py_DECREF(name)_Py_DECREF(((PyObject*)(name)));
2659 return res;
2660}
2661#endif
2662
2663
2664#ifdef __cplusplus201703L
2665}
2666#endif
2667
2668
2669
2670#define SWIG_exception_fail(code, msg)do { SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(code), msg
); goto fail; } while(0)
do { SWIG_Error(code, msg)SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(code), msg); SWIG_failgoto fail; } while(0)
2671
2672#define SWIG_contract_assert(expr, msg)if (!(expr)) { SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(
-3), msg); goto fail; } else
if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg)SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(-3), msg); SWIG_failgoto fail; } else
2673
2674
2675
2676#ifdef __cplusplus201703L
2677extern "C" {
2678#endif
2679
2680/* Method creation and docstring support functions */
2681
2682SWIGINTERNstatic __attribute__ ((__unused__)) PyMethodDef *SWIG_PythonGetProxyDoc(const char *name);
2683SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *SWIG_PyInstanceMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *func);
2684SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *SWIG_PyStaticMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *func);
2685
2686#ifdef __cplusplus201703L
2687}
2688#endif
2689
2690
2691/* -------- TYPES TABLE (BEGIN) -------- */
2692
2693#define SWIGTYPE_p_boolswig_types[0] swig_types[0]
2694#define SWIGTYPE_p_charswig_types[1] swig_types[1]
2695#define SWIGTYPE_p_doubleswig_types[2] swig_types[2]
2696#define SWIGTYPE_p_f_p_void__p_voidswig_types[3] swig_types[3]
2697#define SWIGTYPE_p_f_p_void_p_q_const__void_size_t__voidswig_types[4] swig_types[4]
2698#define SWIGTYPE_p_intswig_types[5] swig_types[5]
2699#define SWIGTYPE_p_lldb__ConnectionStatusswig_types[6] swig_types[6]
2700#define SWIGTYPE_p_lldb__SBAddressswig_types[7] swig_types[7]
2701#define SWIGTYPE_p_lldb__SBAttachInfoswig_types[8] swig_types[8]
2702#define SWIGTYPE_p_lldb__SBBlockswig_types[9] swig_types[9]
2703#define SWIGTYPE_p_lldb__SBBreakpointswig_types[10] swig_types[10]
2704#define SWIGTYPE_p_lldb__SBBreakpointListswig_types[11] swig_types[11]
2705#define SWIGTYPE_p_lldb__SBBreakpointLocationswig_types[12] swig_types[12]
2706#define SWIGTYPE_p_lldb__SBBreakpointNameswig_types[13] swig_types[13]
2707#define SWIGTYPE_p_lldb__SBBroadcasterswig_types[14] swig_types[14]
2708#define SWIGTYPE_p_lldb__SBCommandInterpreterswig_types[15] swig_types[15]
2709#define SWIGTYPE_p_lldb__SBCommandInterpreterRunOptionsswig_types[16] swig_types[16]
2710#define SWIGTYPE_p_lldb__SBCommandReturnObjectswig_types[17] swig_types[17]
2711#define SWIGTYPE_p_lldb__SBCommunicationswig_types[18] swig_types[18]
2712#define SWIGTYPE_p_lldb__SBCompileUnitswig_types[19] swig_types[19]
2713#define SWIGTYPE_p_lldb__SBDataswig_types[20] swig_types[20]
2714#define SWIGTYPE_p_lldb__SBDebuggerswig_types[21] swig_types[21]
2715#define SWIGTYPE_p_lldb__SBDeclarationswig_types[22] swig_types[22]
2716#define SWIGTYPE_p_lldb__SBEnvironmentswig_types[23] swig_types[23]
2717#define SWIGTYPE_p_lldb__SBErrorswig_types[24] swig_types[24]
2718#define SWIGTYPE_p_lldb__SBEventswig_types[25] swig_types[25]
2719#define SWIGTYPE_p_lldb__SBExecutionContextswig_types[26] swig_types[26]
2720#define SWIGTYPE_p_lldb__SBExpressionOptionsswig_types[27] swig_types[27]
2721#define SWIGTYPE_p_lldb__SBFileswig_types[28] swig_types[28]
2722#define SWIGTYPE_p_lldb__SBFileSpecswig_types[29] swig_types[29]
2723#define SWIGTYPE_p_lldb__SBFileSpecListswig_types[30] swig_types[30]
2724#define SWIGTYPE_p_lldb__SBFrameswig_types[31] swig_types[31]
2725#define SWIGTYPE_p_lldb__SBFunctionswig_types[32] swig_types[32]
2726#define SWIGTYPE_p_lldb__SBHostOSswig_types[33] swig_types[33]
2727#define SWIGTYPE_p_lldb__SBInstructionswig_types[34] swig_types[34]
2728#define SWIGTYPE_p_lldb__SBInstructionListswig_types[35] swig_types[35]
2729#define SWIGTYPE_p_lldb__SBLanguageRuntimeswig_types[36] swig_types[36]
2730#define SWIGTYPE_p_lldb__SBLaunchInfoswig_types[37] swig_types[37]
2731#define SWIGTYPE_p_lldb__SBLineEntryswig_types[38] swig_types[38]
2732#define SWIGTYPE_p_lldb__SBListenerswig_types[39] swig_types[39]
2733#define SWIGTYPE_p_lldb__SBMemoryRegionInfoswig_types[40] swig_types[40]
2734#define SWIGTYPE_p_lldb__SBMemoryRegionInfoListswig_types[41] swig_types[41]
2735#define SWIGTYPE_p_lldb__SBModuleswig_types[42] swig_types[42]
2736#define SWIGTYPE_p_lldb__SBModuleSpecswig_types[43] swig_types[43]
2737#define SWIGTYPE_p_lldb__SBModuleSpecListswig_types[44] swig_types[44]
2738#define SWIGTYPE_p_lldb__SBPlatformswig_types[45] swig_types[45]
2739#define SWIGTYPE_p_lldb__SBPlatformConnectOptionsswig_types[46] swig_types[46]
2740#define SWIGTYPE_p_lldb__SBPlatformShellCommandswig_types[47] swig_types[47]
2741#define SWIGTYPE_p_lldb__SBProcessswig_types[48] swig_types[48]
2742#define SWIGTYPE_p_lldb__SBProcessInfoswig_types[49] swig_types[49]
2743#define SWIGTYPE_p_lldb__SBQueueswig_types[50] swig_types[50]
2744#define SWIGTYPE_p_lldb__SBQueueItemswig_types[51] swig_types[51]
2745#define SWIGTYPE_p_lldb__SBReproducerswig_types[52] swig_types[52]
2746#define SWIGTYPE_p_lldb__SBSectionswig_types[53] swig_types[53]
2747#define SWIGTYPE_p_lldb__SBSourceManagerswig_types[54] swig_types[54]
2748#define SWIGTYPE_p_lldb__SBStreamswig_types[55] swig_types[55]
2749#define SWIGTYPE_p_lldb__SBStringListswig_types[56] swig_types[56]
2750#define SWIGTYPE_p_lldb__SBStructuredDataswig_types[57] swig_types[57]
2751#define SWIGTYPE_p_lldb__SBSymbolswig_types[58] swig_types[58]
2752#define SWIGTYPE_p_lldb__SBSymbolContextswig_types[59] swig_types[59]
2753#define SWIGTYPE_p_lldb__SBSymbolContextListswig_types[60] swig_types[60]
2754#define SWIGTYPE_p_lldb__SBTargetswig_types[61] swig_types[61]
2755#define SWIGTYPE_p_lldb__SBThreadswig_types[62] swig_types[62]
2756#define SWIGTYPE_p_lldb__SBThreadCollectionswig_types[63] swig_types[63]
2757#define SWIGTYPE_p_lldb__SBThreadPlanswig_types[64] swig_types[64]
2758#define SWIGTYPE_p_lldb__SBTraceswig_types[65] swig_types[65]
2759#define SWIGTYPE_p_lldb__SBTraceCursorswig_types[66] swig_types[66]
2760#define SWIGTYPE_p_lldb__SBTypeswig_types[67] swig_types[67]
2761#define SWIGTYPE_p_lldb__SBTypeCategoryswig_types[68] swig_types[68]
2762#define SWIGTYPE_p_lldb__SBTypeEnumMemberswig_types[69] swig_types[69]
2763#define SWIGTYPE_p_lldb__SBTypeEnumMemberListswig_types[70] swig_types[70]
2764#define SWIGTYPE_p_lldb__SBTypeFilterswig_types[71] swig_types[71]
2765#define SWIGTYPE_p_lldb__SBTypeFormatswig_types[72] swig_types[72]
2766#define SWIGTYPE_p_lldb__SBTypeListswig_types[73] swig_types[73]
2767#define SWIGTYPE_p_lldb__SBTypeMemberswig_types[74] swig_types[74]
2768#define SWIGTYPE_p_lldb__SBTypeMemberFunctionswig_types[75] swig_types[75]
2769#define SWIGTYPE_p_lldb__SBTypeNameSpecifierswig_types[76] swig_types[76]
2770#define SWIGTYPE_p_lldb__SBTypeSummaryswig_types[77] swig_types[77]
2771#define SWIGTYPE_p_lldb__SBTypeSummaryOptionsswig_types[78] swig_types[78]
2772#define SWIGTYPE_p_lldb__SBTypeSyntheticswig_types[79] swig_types[79]
2773#define SWIGTYPE_p_lldb__SBUnixSignalsswig_types[80] swig_types[80]
2774#define SWIGTYPE_p_lldb__SBValueswig_types[81] swig_types[81]
2775#define SWIGTYPE_p_lldb__SBValueListswig_types[82] swig_types[82]
2776#define SWIGTYPE_p_lldb__SBVariablesOptionsswig_types[83] swig_types[83]
2777#define SWIGTYPE_p_lldb__SBWatchpointswig_types[84] swig_types[84]
2778#define SWIGTYPE_p_long_doubleswig_types[85] swig_types[85]
2779#define SWIGTYPE_p_long_longswig_types[86] swig_types[86]
2780#define SWIGTYPE_p_p_voidswig_types[87] swig_types[87]
2781#define SWIGTYPE_p_pthread_rwlock_tswig_types[88] swig_types[88]
2782#define SWIGTYPE_p_pthread_tswig_types[89] swig_types[89]
2783#define SWIGTYPE_p_shortswig_types[90] swig_types[90]
2784#define SWIGTYPE_p_signed_charswig_types[91] swig_types[91]
2785#define SWIGTYPE_p_size_tswig_types[92] swig_types[92]
2786#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ABI_tswig_types[93] swig_types[93]
2787#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Baton_tswig_types[94] swig_types[94]
2788#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Block_tswig_types[95] swig_types[95]
2789#define SWIGTYPE_p_std__shared_ptrT_lldb_private__BreakpointLocation_tswig_types[96] swig_types[96]
2790#define SWIGTYPE_p_std__shared_ptrT_lldb_private__BreakpointPrecondition_tswig_types[97] swig_types[97]
2791#define SWIGTYPE_p_std__shared_ptrT_lldb_private__BreakpointResolver_tswig_types[98] swig_types[98]
2792#define SWIGTYPE_p_std__shared_ptrT_lldb_private__BreakpointSite_tswig_types[99] swig_types[99]
2793#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Breakpoint_tswig_types[100] swig_types[100]
2794#define SWIGTYPE_p_std__shared_ptrT_lldb_private__BroadcasterManager_tswig_types[101] swig_types[101]
2795#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Broadcaster_tswig_types[102] swig_types[102]
2796#define SWIGTYPE_p_std__shared_ptrT_lldb_private__CommandObject_tswig_types[103] swig_types[103]
2797#define SWIGTYPE_p_std__shared_ptrT_lldb_private__CompileUnit_tswig_types[104] swig_types[104]
2798#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Connection_tswig_types[105] swig_types[105]
2799#define SWIGTYPE_p_std__shared_ptrT_lldb_private__DataBuffer_tswig_types[106] swig_types[106]
2800#define SWIGTYPE_p_std__shared_ptrT_lldb_private__DataExtractor_tswig_types[107] swig_types[107]
2801#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Debugger_tswig_types[108] swig_types[108]
2802#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Disassembler_tswig_types[109] swig_types[109]
2803#define SWIGTYPE_p_std__shared_ptrT_lldb_private__EventDataStructuredData_tswig_types[110] swig_types[110]
2804#define SWIGTYPE_p_std__shared_ptrT_lldb_private__EventData_tswig_types[111] swig_types[111]
2805#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Event_tswig_types[112] swig_types[112]
2806#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ExecutionContextRef_tswig_types[113] swig_types[113]
2807#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ExpressionVariable_tswig_types[114] swig_types[114]
2808#define SWIGTYPE_p_std__shared_ptrT_lldb_private__File_tswig_types[115] swig_types[115]
2809#define SWIGTYPE_p_std__shared_ptrT_lldb_private__FuncUnwinders_tswig_types[116] swig_types[116]
2810#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Function_tswig_types[117] swig_types[117]
2811#define SWIGTYPE_p_std__shared_ptrT_lldb_private__IOHandler_tswig_types[118] swig_types[118]
2812#define SWIGTYPE_p_std__shared_ptrT_lldb_private__IOObject_tswig_types[119] swig_types[119]
2813#define SWIGTYPE_p_std__shared_ptrT_lldb_private__IRExecutionUnit_tswig_types[120] swig_types[120]
2814#define SWIGTYPE_p_std__shared_ptrT_lldb_private__InlineFunctionInfo_tswig_types[121] swig_types[121]
2815#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Instruction_tswig_types[122] swig_types[122]
2816#define SWIGTYPE_p_std__shared_ptrT_lldb_private__InstrumentationRuntime_tswig_types[123] swig_types[123]
2817#define SWIGTYPE_p_std__shared_ptrT_lldb_private__JITLoader_tswig_types[124] swig_types[124]
2818#define SWIGTYPE_p_std__shared_ptrT_lldb_private__LanguageRuntime_tswig_types[125] swig_types[125]
2819#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Listener_tswig_types[126] swig_types[126]
2820#define SWIGTYPE_p_std__shared_ptrT_lldb_private__MemoryHistory_tswig_types[127] swig_types[127]
2821#define SWIGTYPE_p_std__shared_ptrT_lldb_private__MemoryRegionInfo_tswig_types[128] swig_types[128]
2822#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Module_tswig_types[129] swig_types[129]
2823#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ObjectContainer_tswig_types[130] swig_types[130]
2824#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ObjectFileJITDelegate_tswig_types[131] swig_types[131]
2825#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ObjectFile_tswig_types[132] swig_types[132]
2826#define SWIGTYPE_p_std__shared_ptrT_lldb_private__OptionValueProperties_tswig_types[133] swig_types[133]
2827#define SWIGTYPE_p_std__shared_ptrT_lldb_private__OptionValue_tswig_types[134] swig_types[134]
2828#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Platform_tswig_types[135] swig_types[135]
2829#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ProcessAttachInfo_tswig_types[136] swig_types[136]
2830#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ProcessLaunchInfo_tswig_types[137] swig_types[137]
2831#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Process_tswig_types[138] swig_types[138]
2832#define SWIGTYPE_p_std__shared_ptrT_lldb_private__QueueItem_tswig_types[139] swig_types[139]
2833#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Queue_tswig_types[140] swig_types[140]
2834#define SWIGTYPE_p_std__shared_ptrT_lldb_private__REPL_tswig_types[141] swig_types[141]
2835#define SWIGTYPE_p_std__shared_ptrT_lldb_private__RecognizedStackFrame_tswig_types[142] swig_types[142]
2836#define SWIGTYPE_p_std__shared_ptrT_lldb_private__RegisterCheckpoint_tswig_types[143] swig_types[143]
2837#define SWIGTYPE_p_std__shared_ptrT_lldb_private__RegisterContext_tswig_types[144] swig_types[144]
2838#define SWIGTYPE_p_std__shared_ptrT_lldb_private__RegisterTypeBuilder_tswig_types[145] swig_types[145]
2839#define SWIGTYPE_p_std__shared_ptrT_lldb_private__RegularExpression_tswig_types[146] swig_types[146]
2840#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ScriptInterpreter_tswig_types[147] swig_types[147]
2841#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ScriptSummaryFormat_tswig_types[148] swig_types[148]
2842#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ScriptedMetadata_tswig_types[149] swig_types[149]
2843#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ScriptedSyntheticChildren_tswig_types[150] swig_types[150]
2844#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ScriptedThreadInterface_tswig_types[151] swig_types[151]
2845#define SWIGTYPE_p_std__shared_ptrT_lldb_private__SearchFilter_tswig_types[152] swig_types[152]
2846#define SWIGTYPE_p_std__shared_ptrT_lldb_private__SectionLoadList_tswig_types[153] swig_types[153]
2847#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Section_tswig_types[154] swig_types[154]
2848#define SWIGTYPE_p_std__shared_ptrT_lldb_private__StackFrameList_tswig_types[155] swig_types[155]
2849#define SWIGTYPE_p_std__shared_ptrT_lldb_private__StackFrameRecognizer_tswig_types[156] swig_types[156]
2850#define SWIGTYPE_p_std__shared_ptrT_lldb_private__StackFrame_tswig_types[157] swig_types[157]
2851#define SWIGTYPE_p_std__shared_ptrT_lldb_private__StopInfo_tswig_types[158] swig_types[158]
2852#define SWIGTYPE_p_std__shared_ptrT_lldb_private__StreamFile_tswig_types[159] swig_types[159]
2853#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Stream_tswig_types[160] swig_types[160]
2854#define SWIGTYPE_p_std__shared_ptrT_lldb_private__StringSummaryFormat_tswig_types[161] swig_types[161]
2855#define SWIGTYPE_p_std__shared_ptrT_lldb_private__StructuredDataPlugin_tswig_types[162] swig_types[162]
2856#define SWIGTYPE_p_std__shared_ptrT_lldb_private__SymbolContextSpecifier_tswig_types[163] swig_types[163]
2857#define SWIGTYPE_p_std__shared_ptrT_lldb_private__SymbolFileType_tswig_types[164] swig_types[164]
2858#define SWIGTYPE_p_std__shared_ptrT_lldb_private__SyntheticChildrenFrontEnd_tswig_types[165] swig_types[165]
2859#define SWIGTYPE_p_std__shared_ptrT_lldb_private__SyntheticChildren_tswig_types[166] swig_types[166]
2860#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Target_tswig_types[167] swig_types[167]
2861#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ThreadCollection_tswig_types[168] swig_types[168]
2862#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ThreadPlanTracer_tswig_types[169] swig_types[169]
2863#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ThreadPlan_tswig_types[170] swig_types[170]
2864#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ThreadPostMortemTrace_tswig_types[171] swig_types[171]
2865#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Thread_tswig_types[172] swig_types[172]
2866#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TraceCursor_tswig_types[173] swig_types[173]
2867#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Trace_tswig_types[174] swig_types[174]
2868#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeCategoryImpl_tswig_types[175] swig_types[175]
2869#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeEnumMemberImpl_tswig_types[176] swig_types[176]
2870#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeFilterImpl_tswig_types[177] swig_types[177]
2871#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeFormatImpl_tswig_types[178] swig_types[178]
2872#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeImpl_tswig_types[179] swig_types[179]
2873#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeMemberFunctionImpl_tswig_types[180] swig_types[180]
2874#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeNameSpecifierImpl_tswig_types[181] swig_types[181]
2875#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeSummaryImpl_tswig_types[182] swig_types[182]
2876#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeSummaryOptions_tswig_types[183] swig_types[183]
2877#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeSystemClang_tswig_types[184] swig_types[184]
2878#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeSystem_tswig_types[185] swig_types[185]
2879#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Type_tswig_types[186] swig_types[186]
2880#define SWIGTYPE_p_std__shared_ptrT_lldb_private__UnixSignals_tswig_types[187] swig_types[187]
2881#define SWIGTYPE_p_std__shared_ptrT_lldb_private__UnwindAssembly_tswig_types[188] swig_types[188]
2882#define SWIGTYPE_p_std__shared_ptrT_lldb_private__UnwindPlan_tswig_types[189] swig_types[189]
2883#define SWIGTYPE_p_std__shared_ptrT_lldb_private__UserExpression_tswig_types[190] swig_types[190]
2884#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ValueObjectList_tswig_types[191] swig_types[191]
2885#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ValueObject_tswig_types[192] swig_types[192]
2886#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Value_tswig_types[193] swig_types[193]
2887#define SWIGTYPE_p_std__shared_ptrT_lldb_private__VariableList_tswig_types[194] swig_types[194]
2888#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Variable_tswig_types[195] swig_types[195]
2889#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Watchpoint_tswig_types[196] swig_types[196]
2890#define SWIGTYPE_p_std__shared_ptrT_lldb_private__WritableDataBuffer_tswig_types[197] swig_types[197]
2891#define SWIGTYPE_p_std__unique_ptrT_lldb_private__DynamicCheckerFunctions_tswig_types[198] swig_types[198]
2892#define SWIGTYPE_p_std__unique_ptrT_lldb_private__DynamicLoader_tswig_types[199] swig_types[199]
2893#define SWIGTYPE_p_std__unique_ptrT_lldb_private__File_tswig_types[200] swig_types[200]
2894#define SWIGTYPE_p_std__unique_ptrT_lldb_private__JITLoaderList_tswig_types[201] swig_types[201]
2895#define SWIGTYPE_p_std__unique_ptrT_lldb_private__MemoryRegionInfo_tswig_types[202] swig_types[202]
2896#define SWIGTYPE_p_std__unique_ptrT_lldb_private__OperatingSystem_tswig_types[203] swig_types[203]
2897#define SWIGTYPE_p_std__unique_ptrT_lldb_private__ScriptedPlatformInterface_tswig_types[204] swig_types[204]
2898#define SWIGTYPE_p_std__unique_ptrT_lldb_private__ScriptedProcessInterface_tswig_types[205] swig_types[205]
2899#define SWIGTYPE_p_std__unique_ptrT_lldb_private__SectionList_tswig_types[206] swig_types[206]
2900#define SWIGTYPE_p_std__unique_ptrT_lldb_private__SourceManager_tswig_types[207] swig_types[207]
2901#define SWIGTYPE_p_std__unique_ptrT_lldb_private__StackFrameRecognizerManager_tswig_types[208] swig_types[208]
2902#define SWIGTYPE_p_std__unique_ptrT_lldb_private__StructuredDataImpl_tswig_types[209] swig_types[209]
2903#define SWIGTYPE_p_std__unique_ptrT_lldb_private__SymbolVendor_tswig_types[210] swig_types[210]
2904#define SWIGTYPE_p_std__unique_ptrT_lldb_private__SystemRuntime_tswig_types[211] swig_types[211]
2905#define SWIGTYPE_p_std__unique_ptrT_lldb_private__TraceExporter_tswig_types[212] swig_types[212]
2906#define SWIGTYPE_p_std__weak_ptrT_lldb_private__BreakpointLocation_tswig_types[213] swig_types[213]
2907#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Breakpoint_tswig_types[214] swig_types[214]
2908#define SWIGTYPE_p_std__weak_ptrT_lldb_private__BroadcasterManager_tswig_types[215] swig_types[215]
2909#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Debugger_tswig_types[216] swig_types[216]
2910#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Listener_tswig_types[217] swig_types[217]
2911#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Module_tswig_types[218] swig_types[218]
2912#define SWIGTYPE_p_std__weak_ptrT_lldb_private__ObjectFileJITDelegate_tswig_types[219] swig_types[219]
2913#define SWIGTYPE_p_std__weak_ptrT_lldb_private__OptionValue_tswig_types[220] swig_types[220]
2914#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Process_tswig_types[221] swig_types[221]
2915#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Queue_tswig_types[222] swig_types[222]
2916#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Section_tswig_types[223] swig_types[223]
2917#define SWIGTYPE_p_std__weak_ptrT_lldb_private__StackFrame_tswig_types[224] swig_types[224]
2918#define SWIGTYPE_p_std__weak_ptrT_lldb_private__StructuredDataPlugin_tswig_types[225] swig_types[225]
2919#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Target_tswig_types[226] swig_types[226]
2920#define SWIGTYPE_p_std__weak_ptrT_lldb_private__ThreadPlan_tswig_types[227] swig_types[227]
2921#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Thread_tswig_types[228] swig_types[228]
2922#define SWIGTYPE_p_std__weak_ptrT_lldb_private__TypeSystem_tswig_types[229] swig_types[229]
2923#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Type_tswig_types[230] swig_types[230]
2924#define SWIGTYPE_p_std__weak_ptrT_lldb_private__UnixSignals_tswig_types[231] swig_types[231]
2925#define SWIGTYPE_p_unsigned_charswig_types[232] swig_types[232]
2926#define SWIGTYPE_p_unsigned_intswig_types[233] swig_types[233]
2927#define SWIGTYPE_p_unsigned_long_longswig_types[234] swig_types[234]
2928#define SWIGTYPE_p_unsigned_shortswig_types[235] swig_types[235]
2929#define SWIGTYPE_p_voidswig_types[236] swig_types[236]
2930static swig_type_info *swig_types[238];
2931static swig_module_info swig_module = {swig_types, 237, 0, 0, 0, 0};
2932#define SWIG_TypeQuerySWIG_Python_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
2933#define SWIG_MangledTypeQuery(name)SWIG_MangledTypeQueryModule(&swig_module, &swig_module
, name)
SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
2934
2935/* -------- TYPES TABLE (END) -------- */
2936
2937#ifdef SWIG_TypeQuerySWIG_Python_TypeQuery
2938# undef SWIG_TypeQuerySWIG_Python_TypeQuery
2939#endif
2940#define SWIG_TypeQuerySWIG_Python_TypeQuery SWIG_Python_TypeQuery
2941
2942/*-----------------------------------------------
2943 @(target):= _lldb.so
2944 ------------------------------------------------*/
2945#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000
2946# define SWIG_initPyInit__lldb PyInit__lldb
2947
2948#else
2949# define SWIG_initPyInit__lldb init_lldb
2950
2951#endif
2952#define SWIG_name"_lldb" "_lldb"
2953
2954#define SWIGVERSION0x040002 0x040002
2955#define SWIG_VERSION0x040002 SWIGVERSION0x040002
2956
2957
2958#define SWIG_as_voidptr(a)const_cast< void * >(static_cast< const void * >(
a))
const_cast< void * >(static_cast< const void * >(a))
2959#define SWIG_as_voidptrptr(a)((void)const_cast< void * >(static_cast< const void *
>(*a)),reinterpret_cast< void** >(a))
((void)SWIG_as_voidptr(*a)const_cast< void * >(static_cast< const void * >(
*a))
,reinterpret_cast< void** >(a))
2960
2961
2962#include <stdexcept>
2963
2964
2965namespace swig {
2966 class SwigPtr_PyObject {
2967 protected:
2968 PyObject *_obj;
2969
2970 public:
2971 SwigPtr_PyObject() :_obj(0)
2972 {
2973 }
2974
2975 SwigPtr_PyObject(const SwigPtr_PyObject& item) : _obj(item._obj)
2976 {
2977 SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block;
2978 Py_XINCREF(_obj)_Py_XINCREF(((PyObject*)(_obj)));
2979 SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end();
2980 }
2981
2982 SwigPtr_PyObject(PyObject *obj, bool initial_ref = true) :_obj(obj)
2983 {
2984 if (initial_ref) {
2985 SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block;
2986 Py_XINCREF(_obj)_Py_XINCREF(((PyObject*)(_obj)));
2987 SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end();
2988 }
2989 }
2990
2991 SwigPtr_PyObject & operator=(const SwigPtr_PyObject& item)
2992 {
2993 SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block;
2994 Py_XINCREF(item._obj)_Py_XINCREF(((PyObject*)(item._obj)));
2995 Py_XDECREF(_obj)_Py_XDECREF(((PyObject*)(_obj)));
2996 _obj = item._obj;
2997 SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end();
2998 return *this;
2999 }
3000
3001 ~SwigPtr_PyObject()
3002 {
3003 SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block;
3004 Py_XDECREF(_obj)_Py_XDECREF(((PyObject*)(_obj)));
3005 SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end();
3006 }
3007
3008 operator PyObject *() const
3009 {
3010 return _obj;
3011 }
3012
3013 PyObject *operator->() const
3014 {
3015 return _obj;
3016 }
3017 };
3018}
3019
3020
3021namespace swig {
3022 struct SwigVar_PyObject : SwigPtr_PyObject {
3023 SwigVar_PyObject(PyObject* obj = 0) : SwigPtr_PyObject(obj, false) { }
3024
3025 SwigVar_PyObject & operator = (PyObject* obj)
3026 {
3027 Py_XDECREF(_obj)_Py_XDECREF(((PyObject*)(_obj)));
3028 _obj = obj;
3029 return *this;
3030 }
3031 };
3032}
3033
3034
3035#include <string>
3036
3037
3038
3039#include "../bindings/python/python-typemaps.h"
3040
3041
3042
3043namespace {
3044template <class T>
3045T PyLongAsT(PyObject *obj) {
3046 static_assert(true, "unsupported type");
3047}
3048
3049template <> uint64_t PyLongAsT<uint64_t>(PyObject *obj) {
3050 return static_cast<uint64_t>(PyLong_AsUnsignedLongLong(obj));
3051}
3052
3053template <> uint32_t PyLongAsT<uint32_t>(PyObject *obj) {
3054 return static_cast<uint32_t>(PyLong_AsUnsignedLong(obj));
3055}
3056
3057template <> int64_t PyLongAsT<int64_t>(PyObject *obj) {
3058 return static_cast<int64_t>(PyLong_AsLongLong(obj));
3059}
3060
3061template <> int32_t PyLongAsT<int32_t>(PyObject *obj) {
3062 return static_cast<int32_t>(PyLong_AsLong(obj));
3063}
3064
3065template <class T> bool SetNumberFromPyObject(T &number, PyObject *obj) {
3066 if (PyLong_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
)
3067 number = PyLongAsT<T>(obj);
3068 else
3069 return false;
3070
3071 return true;
3072}
3073
3074template <> bool SetNumberFromPyObject<double>(double &number, PyObject *obj) {
3075 if (PyFloat_Check(obj)(_Py_IS_TYPE(((const PyObject*)(obj)), &PyFloat_Type) || PyType_IsSubtype
((((PyObject*)(obj))->ob_type), (&PyFloat_Type)))
) {
3076 number = PyFloat_AsDouble(obj);
3077 return true;
3078 }
3079
3080 return false;
3081}
3082
3083} // namespace
3084
3085
3086#include <algorithm>
3087#include <string>
3088
3089
3090#include "lldb/lldb-public.h"
3091#include "lldb/API/SBAddress.h"
3092#include "lldb/API/SBAttachInfo.h"
3093#include "lldb/API/SBBlock.h"
3094#include "lldb/API/SBBreakpoint.h"
3095#include "lldb/API/SBBreakpointLocation.h"
3096#include "lldb/API/SBBreakpointName.h"
3097#include "lldb/API/SBBroadcaster.h"
3098#include "lldb/API/SBCommandInterpreter.h"
3099#include "lldb/API/SBCommandInterpreterRunOptions.h"
3100#include "lldb/API/SBCommandReturnObject.h"
3101#include "lldb/API/SBCommunication.h"
3102#include "lldb/API/SBCompileUnit.h"
3103#include "lldb/API/SBData.h"
3104#include "lldb/API/SBDebugger.h"
3105#include "lldb/API/SBDeclaration.h"
3106#include "lldb/API/SBEnvironment.h"
3107#include "lldb/API/SBError.h"
3108#include "lldb/API/SBEvent.h"
3109#include "lldb/API/SBExecutionContext.h"
3110#include "lldb/API/SBExpressionOptions.h"
3111#include "lldb/API/SBFile.h"
3112#include "lldb/API/SBFileSpec.h"
3113#include "lldb/API/SBFileSpecList.h"
3114#include "lldb/API/SBFrame.h"
3115#include "lldb/API/SBFunction.h"
3116#include "lldb/API/SBHostOS.h"
3117#include "lldb/API/SBInstruction.h"
3118#include "lldb/API/SBInstructionList.h"
3119#include "lldb/API/SBLanguageRuntime.h"
3120#include "lldb/API/SBLaunchInfo.h"
3121#include "lldb/API/SBLineEntry.h"
3122#include "lldb/API/SBListener.h"
3123#include "lldb/API/SBMemoryRegionInfo.h"
3124#include "lldb/API/SBMemoryRegionInfoList.h"
3125#include "lldb/API/SBModule.h"
3126#include "lldb/API/SBModuleSpec.h"
3127#include "lldb/API/SBPlatform.h"
3128#include "lldb/API/SBProcess.h"
3129#include "lldb/API/SBProcessInfo.h"
3130#include "lldb/API/SBQueue.h"
3131#include "lldb/API/SBQueueItem.h"
3132#include "lldb/API/SBReproducer.h"
3133#include "lldb/API/SBSection.h"
3134#include "lldb/API/SBSourceManager.h"
3135#include "lldb/API/SBStream.h"
3136#include "lldb/API/SBStringList.h"
3137#include "lldb/API/SBStructuredData.h"
3138#include "lldb/API/SBSymbol.h"
3139#include "lldb/API/SBSymbolContext.h"
3140#include "lldb/API/SBSymbolContextList.h"
3141#include "lldb/API/SBTarget.h"
3142#include "lldb/API/SBThread.h"
3143#include "lldb/API/SBThreadCollection.h"
3144#include "lldb/API/SBThreadPlan.h"
3145#include "lldb/API/SBTrace.h"
3146#include "lldb/API/SBType.h"
3147#include "lldb/API/SBTypeCategory.h"
3148#include "lldb/API/SBTypeEnumMember.h"
3149#include "lldb/API/SBTypeFilter.h"
3150#include "lldb/API/SBTypeFormat.h"
3151#include "lldb/API/SBTypeNameSpecifier.h"
3152#include "lldb/API/SBTypeSummary.h"
3153#include "lldb/API/SBTypeSynthetic.h"
3154#include "lldb/API/SBUnixSignals.h"
3155#include "lldb/API/SBValue.h"
3156#include "lldb/API/SBValueList.h"
3157#include "lldb/API/SBVariablesOptions.h"
3158#include "lldb/API/SBWatchpoint.h"
3159
3160
3161#include "../source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h"
3162#include "../source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h"
3163#include "../bindings/python/python-swigsafecast.swig"
3164using namespace lldb_private;
3165using namespace lldb_private::python;
3166using namespace lldb;
3167
3168
3169#include <stdint.h> // Use the C99 official header
3170
3171
3172SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject*
3173 SWIG_From_int (int value)
3174{
3175 return PyInt_FromLong((long) value)PyLong_FromLong((long) value);
3176}
3177
3178
3179SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject*
3180 SWIG_From_unsigned_SS_int (unsigned int value)
3181{
3182 return PyInt_FromSize_t((size_t) value)PyLong_FromSize_t((size_t) value);
3183}
3184
3185
3186#include <limits.h>
3187#if !defined(SWIG_NO_LLONG_MAX)
3188# if !defined(LLONG_MAX9223372036854775807LL) && defined(__GNUC__4) && defined (__LONG_LONG_MAX__9223372036854775807LL)
3189# define LLONG_MAX9223372036854775807LL __LONG_LONG_MAX__9223372036854775807LL
3190# define LLONG_MIN(-9223372036854775807LL -1LL) (-LLONG_MAX9223372036854775807LL - 1LL)
3191# define ULLONG_MAX(9223372036854775807LL*2ULL+1ULL) (LLONG_MAX9223372036854775807LL * 2ULL + 1ULL)
3192# endif
3193#endif
3194
3195
3196#if defined(LLONG_MAX9223372036854775807LL) && !defined(SWIG_LONG_LONG_AVAILABLE)
3197# define SWIG_LONG_LONG_AVAILABLE
3198#endif
3199
3200
3201#ifdef SWIG_LONG_LONG_AVAILABLE
3202SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject*
3203SWIG_From_unsigned_SS_long_SS_long (unsigned long long value)
3204{
3205 return (value > LONG_MAX9223372036854775807L) ?
3206 PyLong_FromUnsignedLongLong(value) : PyInt_FromLong(static_cast< long >(value))PyLong_FromLong(static_cast< long >(value));
3207}
3208#endif
3209
3210
3211SWIGINTERNstatic __attribute__ ((__unused__)) swig_type_info*
3212SWIG_pchar_descriptor(void)
3213{
3214 static int init = 0;
3215 static swig_type_info* info = 0;
3216 if (!init) {
3217 info = SWIG_TypeQuerySWIG_Python_TypeQuery("_p_char");
3218 init = 1;
3219 }
3220 return info;
3221}
3222
3223
3224SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3225SWIG_FromCharPtrAndSize(const char* carray, size_t size)
3226{
3227 if (carray) {
3228 if (size > INT_MAX2147483647) {
3229 swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
3230 return pchar_descriptor ?
3231 SWIG_InternalNewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0)SWIG_Python_NewPointerObj(__null, const_cast< char * >(
carray), pchar_descriptor, 0)
: SWIG_Py_Void();
3232 } else {
3233#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000
3234#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3235 return PyBytes_FromStringAndSize(carray, static_cast< Py_ssize_t >(size));
3236#else
3237 return PyUnicode_DecodeUTF8(carray, static_cast< Py_ssize_t >(size), "surrogateescape");
3238#endif
3239#else
3240 return PyString_FromStringAndSize(carray, static_cast< Py_ssize_t >(size));
3241#endif
3242 }
3243 } else {
3244 return SWIG_Py_Void();
3245 }
3246}
3247
3248
3249SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3250SWIG_FromCharPtr(const char *cptr)
3251{
3252 return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
3253}
3254
3255
3256SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject*
3257 SWIG_From_bool (bool value)
3258{
3259 return PyBool_FromLong(value ? 1 : 0);
3260}
3261
3262
3263SWIGINTERNstatic __attribute__ ((__unused__)) int
3264SWIG_AsVal_double (PyObject *obj, double *val)
3265{
3266 int res = SWIG_TypeError-5;
3267 if (PyFloat_Check(obj)(_Py_IS_TYPE(((const PyObject*)(obj)), &PyFloat_Type) || PyType_IsSubtype
((((PyObject*)(obj))->ob_type), (&PyFloat_Type)))
) {
3268 if (val) *val = PyFloat_AsDouble(obj);
3269 return SWIG_OK(0);
3270#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
< 0x03000000
3271 } else if (PyInt_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
) {
3272 if (val) *val = (double) PyInt_AsLong(obj)PyLong_AsLong(obj);
3273 return SWIG_OK(0);
3274#endif
3275 } else if (PyLong_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
) {
3276 double v = PyLong_AsDouble(obj);
3277 if (!PyErr_Occurred()) {
3278 if (val) *val = v;
3279 return SWIG_OK(0);
3280 } else {
3281 PyErr_Clear();
3282 }
3283 }
3284#ifdef SWIG_PYTHON_CAST_MODE
3285 {
3286 int dispatch = 0;
3287 double d = PyFloat_AsDouble(obj);
3288 if (!PyErr_Occurred()) {
3289 if (val) *val = d;
3290 return SWIG_AddCast(SWIG_OK)((0));
3291 } else {
3292 PyErr_Clear();
3293 }
3294 if (!dispatch) {
3295 long v = PyLong_AsLong(obj);
3296 if (!PyErr_Occurred()) {
3297 if (val) *val = v;
3298 return SWIG_AddCast(SWIG_AddCast(SWIG_OK))(((0)));
3299 } else {
3300 PyErr_Clear();
3301 }
3302 }
3303 }
3304#endif
3305 return res;
3306}
3307
3308
3309#include <float.h>
3310
3311
3312#include <math.h>
3313
3314
3315SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline int
3316SWIG_CanCastAsInteger(double *d, double min, double max) {
3317 double x = *d;
3318 if ((min <= x && x <= max)) {
3319 double fx = floor(x);
3320 double cx = ceil(x);
3321 double rd = ((x - fx) < 0.5) ? fx : cx; /* simple rint */
3322 if ((errno(*__errno_location ()) == EDOM33) || (errno(*__errno_location ()) == ERANGE34)) {
3323 errno(*__errno_location ()) = 0;
3324 } else {
3325 double summ, reps, diff;
3326 if (rd < x) {
3327 diff = x - rd;
3328 } else if (rd > x) {
3329 diff = rd - x;
3330 } else {
3331 return 1;
3332 }
3333 summ = rd + x;
3334 reps = diff/summ;
3335 if (reps < 8*DBL_EPSILON2.2204460492503131e-16) {
3336 *d = rd;
3337 return 1;
3338 }
3339 }
3340 }
3341 return 0;
3342}
3343
3344
3345SWIGINTERNstatic __attribute__ ((__unused__)) int
3346SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val)
3347{
3348#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
< 0x03000000
3349 if (PyInt_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
) {
3350 long v = PyInt_AsLong(obj)PyLong_AsLong(obj);
3351 if (v >= 0) {
3352 if (val) *val = v;
3353 return SWIG_OK(0);
3354 } else {
3355 return SWIG_OverflowError-7;
3356 }
3357 } else
3358#endif
3359 if (PyLong_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
) {
3360 unsigned long v = PyLong_AsUnsignedLong(obj);
3361 if (!PyErr_Occurred()) {
3362 if (val) *val = v;
3363 return SWIG_OK(0);
3364 } else {
3365 PyErr_Clear();
3366 return SWIG_OverflowError-7;
3367 }
3368 }
3369#ifdef SWIG_PYTHON_CAST_MODE
3370 {
3371 int dispatch = 0;
3372 unsigned long v = PyLong_AsUnsignedLong(obj);
3373 if (!PyErr_Occurred()) {
3374 if (val) *val = v;
3375 return SWIG_AddCast(SWIG_OK)((0));
3376 } else {
3377 PyErr_Clear();
3378 }
3379 if (!dispatch) {
3380 double d;
3381 int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d))(SWIG_AsVal_double (obj,&d));
3382 if (SWIG_IsOK(res)(res >= 0) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX(9223372036854775807L *2UL+1UL))) {
3383 if (val) *val = (unsigned long)(d);
3384 return res;
3385 }
3386 }
3387 }
3388#endif
3389 return SWIG_TypeError-5;
3390}
3391
3392
3393#ifdef SWIG_LONG_LONG_AVAILABLE
3394SWIGINTERNstatic __attribute__ ((__unused__)) int
3395SWIG_AsVal_unsigned_SS_long_SS_long (PyObject *obj, unsigned long long *val)
3396{
3397 int res = SWIG_TypeError-5;
3398 if (PyLong_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
) {
3399 unsigned long long v = PyLong_AsUnsignedLongLong(obj);
3400 if (!PyErr_Occurred()) {
3401 if (val) *val = v;
3402 return SWIG_OK(0);
3403 } else {
3404 PyErr_Clear();
3405 res = SWIG_OverflowError-7;
3406 }
3407 } else {
3408 unsigned long v;
3409 res = SWIG_AsVal_unsigned_SS_long (obj,&v);
3410 if (SWIG_IsOK(res)(res >= 0)) {
3411 if (val) *val = v;
3412 return res;
3413 }
3414 }
3415#ifdef SWIG_PYTHON_CAST_MODE
3416 {
3417 const double mant_max = 1LL << DBL_MANT_DIG53;
3418 double d;
3419 res = SWIG_AsVal_double (obj,&d);
3420 if (SWIG_IsOK(res)(res >= 0) && !SWIG_CanCastAsInteger(&d, 0, mant_max))
3421 return SWIG_OverflowError-7;
3422 if (SWIG_IsOK(res)(res >= 0) && SWIG_CanCastAsInteger(&d, 0, mant_max)) {
3423 if (val) *val = (unsigned long long)(d);
3424 return SWIG_AddCast(res)(res);
3425 }
3426 res = SWIG_TypeError-5;
3427 }
3428#endif
3429 return res;
3430}
3431#endif
3432
3433
3434SWIGINTERNstatic __attribute__ ((__unused__)) int
3435SWIG_AsVal_unsigned_SS_int (PyObject * obj, unsigned int *val)
3436{
3437 unsigned long v;
3438 int res = SWIG_AsVal_unsigned_SS_long (obj, &v);
3439 if (SWIG_IsOK(res)(res >= 0)) {
3440 if ((v > UINT_MAX(2147483647 *2U +1U))) {
3441 return SWIG_OverflowError-7;
3442 } else {
3443 if (val) *val = static_cast< unsigned int >(v);
3444 }
3445 }
3446 return res;
3447}
3448
3449SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBAddress___repr__(lldb::SBAddress *self){
3450 lldb::SBStream stream;
3451 self->GetDescription (stream);
3452 const char *desc = stream.GetData();
3453 size_t desc_len = stream.GetSize();
3454 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3455 --desc_len;
3456 }
3457 return std::string(desc, desc_len);
3458 }
3459
3460SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3461SWIG_From_std_string (const std::string& s)
3462{
3463 return SWIG_FromCharPtrAndSize(s.data(), s.size());
3464}
3465
3466
3467SWIGINTERNstatic __attribute__ ((__unused__)) int
3468SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
3469{
3470#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>=0x03000000
3471#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3472 if (PyBytes_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
27))
)
3473#else
3474 if (PyUnicode_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
28))
)
3475#endif
3476#else
3477 if (PyString_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
27))
)
3478#endif
3479 {
3480 char *cstr; Py_ssize_t len;
3481 int ret = SWIG_OK(0);
3482#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>=0x03000000
3483#if !defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3484 if (!alloc && cptr) {
3485 /* We can't allow converting without allocation, since the internal
3486 representation of string in Python 3 is UCS-2/UCS-4 but we require
3487 a UTF-8 representation.
3488 TODO(bhy) More detailed explanation */
3489 return SWIG_RuntimeError-3;
3490 }
3491 obj = PyUnicode_AsUTF8String(obj);
3492 if (!obj)
3493 return SWIG_TypeError-5;
3494 if (alloc)
3495 *alloc = SWIG_NEWOBJ((0) | ((1 << 8) << 1));
3496#endif
3497 if (PyBytes_AsStringAndSize(obj, &cstr, &len) == -1)
3498 return SWIG_TypeError-5;
3499#else
3500 if (PyString_AsStringAndSize(obj, &cstr, &len) == -1)
3501 return SWIG_TypeError-5;
3502#endif
3503 if (cptr) {
3504 if (alloc) {
3505 if (*alloc == SWIG_NEWOBJ((0) | ((1 << 8) << 1))) {
3506 *cptr = reinterpret_cast< char* >(memcpy(new char[len + 1], cstr, sizeof(char)*(len + 1)));
3507 *alloc = SWIG_NEWOBJ((0) | ((1 << 8) << 1));
3508 } else {
3509 *cptr = cstr;
3510 *alloc = SWIG_OLDOBJ((0));
3511 }
3512 } else {
3513#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>=0x03000000
3514#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3515 *cptr = PyBytes_AsString(obj);
3516#else
3517 assert(0)(static_cast <bool> (0) ? void (0) : __assert_fail ("0"
, "tools/lldb/bindings/python/LLDBWrapPython.cpp", 3517, __extension__
__PRETTY_FUNCTION__))
; /* Should never reach here with Unicode strings in Python 3 */
3518#endif
3519#else
3520 *cptr = SWIG_Python_str_AsChar(obj);
3521 if (!*cptr)
3522 ret = SWIG_TypeError-5;
3523#endif
3524 }
3525 }
3526 if (psize) *psize = len + 1;
3527#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>=0x03000000 && !defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3528 Py_XDECREF(obj)_Py_XDECREF(((PyObject*)(obj)));
3529#endif
3530 return ret;
3531 } else {
3532#if defined(SWIG_PYTHON_2_UNICODE)
3533#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3534#error "Cannot use both SWIG_PYTHON_2_UNICODE and SWIG_PYTHON_STRICT_BYTE_CHAR at once"
3535#endif
3536#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
<0x03000000
3537 if (PyUnicode_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
28))
) {
3538 char *cstr; Py_ssize_t len;
3539 if (!alloc && cptr) {
3540 return SWIG_RuntimeError-3;
3541 }
3542 obj = PyUnicode_AsUTF8String(obj);
3543 if (!obj)
3544 return SWIG_TypeError-5;
3545 if (PyString_AsStringAndSize(obj, &cstr, &len) != -1) {
3546 if (cptr) {
3547 if (alloc) *alloc = SWIG_NEWOBJ((0) | ((1 << 8) << 1));
3548 *cptr = reinterpret_cast< char* >(memcpy(new char[len + 1], cstr, sizeof(char)*(len + 1)));
3549 }
3550 if (psize) *psize = len + 1;
3551
3552 Py_XDECREF(obj)_Py_XDECREF(((PyObject*)(obj)));
3553 return SWIG_OK(0);
3554 } else {
3555 Py_XDECREF(obj)_Py_XDECREF(((PyObject*)(obj)));
3556 }
3557 }
3558#endif
3559#endif
3560
3561 swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
3562 if (pchar_descriptor) {
3563 void* vptr = 0;
3564 if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0)SWIG_Python_ConvertPtrAndOwn(obj, &vptr, pchar_descriptor
, 0, 0)
== SWIG_OK(0)) {
3565 if (cptr) *cptr = (char *) vptr;
3566 if (psize) *psize = vptr ? (strlen((char *)vptr) + 1) : 0;
3567 if (alloc) *alloc = SWIG_OLDOBJ((0));
3568 return SWIG_OK(0);
3569 }
3570 }
3571 }
3572 return SWIG_TypeError-5;
3573}
3574
3575
3576
3577
3578
3579SWIGINTERNstatic __attribute__ ((__unused__)) int
3580SWIG_AsVal_long (PyObject *obj, long* val)
3581{
3582#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
< 0x03000000
3583 if (PyInt_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
) {
3584 if (val) *val = PyInt_AsLong(obj)PyLong_AsLong(obj);
3585 return SWIG_OK(0);
3586 } else
3587#endif
3588 if (PyLong_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
) {
3589 long v = PyLong_AsLong(obj);
3590 if (!PyErr_Occurred()) {
3591 if (val) *val = v;
3592 return SWIG_OK(0);
3593 } else {
3594 PyErr_Clear();
3595 return SWIG_OverflowError-7;
3596 }
3597 }
3598#ifdef SWIG_PYTHON_CAST_MODE
3599 {
3600 int dispatch = 0;
3601 long v = PyInt_AsLong(obj)PyLong_AsLong(obj);
3602 if (!PyErr_Occurred()) {
3603 if (val) *val = v;
3604 return SWIG_AddCast(SWIG_OK)((0));
3605 } else {
3606 PyErr_Clear();
3607 }
3608 if (!dispatch) {
3609 double d;
3610 int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d))(SWIG_AsVal_double (obj,&d));
3611 if (SWIG_IsOK(res)(res >= 0) && SWIG_CanCastAsInteger(&d, LONG_MIN(-9223372036854775807L -1L), LONG_MAX9223372036854775807L)) {
3612 if (val) *val = (long)(d);
3613 return res;
3614 }
3615 }
3616 }
3617#endif
3618 return SWIG_TypeError-5;
3619}
3620
3621
3622SWIGINTERNstatic __attribute__ ((__unused__)) int
3623SWIG_AsVal_bool (PyObject *obj, bool *val)
3624{
3625 int r;
3626 if (!PyBool_Check(obj)_Py_IS_TYPE(((const PyObject*)(obj)), &PyBool_Type))
3627 return SWIG_ERROR(-1);
3628 r = PyObject_IsTrue(obj);
3629 if (r == -1)
3630 return SWIG_ERROR(-1);
3631 if (val) *val = r ? true : false;
3632 return SWIG_OK(0);
3633}
3634
3635
3636SWIGINTERNstatic __attribute__ ((__unused__)) int
3637SWIG_AsVal_int (PyObject * obj, int *val)
3638{
3639 long v;
3640 int res = SWIG_AsVal_long (obj, &v);
3641 if (SWIG_IsOK(res)(res >= 0)) {
3642 if ((v < INT_MIN(-2147483647 -1) || v > INT_MAX2147483647)) {
3643 return SWIG_OverflowError-7;
3644 } else {
3645 if (val) *val = static_cast< int >(v);
3646 }
3647 }
3648 return res;
3649}
3650
3651SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBBlock___repr__(lldb::SBBlock *self){
3652 lldb::SBStream stream;
3653 self->GetDescription (stream);
3654 const char *desc = stream.GetData();
3655 size_t desc_len = stream.GetSize();
3656 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3657 --desc_len;
3658 }
3659 return std::string(desc, desc_len);
3660 }
3661
3662 #define SWIG_From_longPyInt_FromLong PyInt_FromLong
3663
3664
3665SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject*
3666SWIG_From_unsigned_SS_long (unsigned long value)
3667{
3668 return (value > LONG_MAX9223372036854775807L) ?
3669 PyLong_FromUnsignedLong(value) : PyInt_FromLong(static_cast< long >(value))PyLong_FromLong(static_cast< long >(value));
3670}
3671
3672
3673SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3674SWIG_From_size_t (size_t value)
3675{
3676#ifdef SWIG_LONG_LONG_AVAILABLE
3677 if (sizeof(size_t) <= sizeof(unsigned long)) {
3678#endif
3679 return SWIG_From_unsigned_SS_long (static_cast< unsigned long >(value));
3680#ifdef SWIG_LONG_LONG_AVAILABLE
3681 } else {
3682 /* assume sizeof(size_t) <= sizeof(unsigned long long) */
3683 return SWIG_From_unsigned_SS_long_SS_long (static_cast< unsigned long long >(value));
3684 }
3685#endif
3686}
3687
3688SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBBreakpoint___repr__(lldb::SBBreakpoint *self){
3689 lldb::SBStream stream;
3690 self->GetDescription (stream);
3691 const char *desc = stream.GetData();
3692 size_t desc_len = stream.GetSize();
3693 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3694 --desc_len;
3695 }
3696 return std::string(desc, desc_len);
3697 }
3698
3699SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline int
3700SWIG_AsVal_size_t (PyObject * obj, size_t *val)
3701{
3702 int res = SWIG_TypeError-5;
3703#ifdef SWIG_LONG_LONG_AVAILABLE
3704 if (sizeof(size_t) <= sizeof(unsigned long)) {
3705#endif
3706 unsigned long v;
3707 res = SWIG_AsVal_unsigned_SS_long (obj, val ? &v : 0);
3708 if (SWIG_IsOK(res)(res >= 0) && val) *val = static_cast< size_t >(v);
3709#ifdef SWIG_LONG_LONG_AVAILABLE
3710 } else if (sizeof(size_t) <= sizeof(unsigned long long)) {
3711 unsigned long long v;
3712 res = SWIG_AsVal_unsigned_SS_long_SS_long (obj, val ? &v : 0);
3713 if (SWIG_IsOK(res)(res >= 0) && val) *val = static_cast< size_t >(v);
3714 }
3715#endif
3716 return res;
3717}
3718
3719SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBBreakpointLocation___repr__(lldb::SBBreakpointLocation *self){
3720 lldb::SBStream stream;
3721 self->GetDescription (stream, lldb::eDescriptionLevelFull);
3722 const char *desc = stream.GetData();
3723 size_t desc_len = stream.GetSize();
3724 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3725 --desc_len;
3726 }
3727 return std::string(desc, desc_len);
3728 }
3729SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBBreakpointName___repr__(lldb::SBBreakpointName *self){
3730 lldb::SBStream stream;
3731 self->GetDescription (stream);
3732 const char *desc = stream.GetData();
3733 size_t desc_len = stream.GetSize();
3734 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3735 --desc_len;
3736 }
3737 return std::string(desc, desc_len);
3738 }
3739
3740SWIGINTERNstatic __attribute__ ((__unused__)) int
3741SWIG_AsCharArray(PyObject * obj, char *val, size_t size)
3742{
3743 char* cptr = 0; size_t csize = 0; int alloc = SWIG_OLDOBJ((0));
3744 int res = SWIG_AsCharPtrAndSize(obj, &cptr, &csize, &alloc);
3745 if (SWIG_IsOK(res)(res >= 0)) {
3746 /* special case of single char conversion when we don't need space for NUL */
3747 if (size == 1 && csize == 2 && cptr && !cptr[1]) --csize;
3748 if (csize <= size) {
3749 if (val) {
3750 if (csize) memcpy(val, cptr, csize*sizeof(char));
3751 if (csize < size) memset(val + csize, 0, (size - csize)*sizeof(char));
3752 }
3753 if (alloc == SWIG_NEWOBJ((0) | ((1 << 8) << 1))) {
3754 delete[] cptr;
3755 res = SWIG_DelNewMask(res)((res >= 0) ? (res & ~((1 << 8) << 1)) : res
)
;
3756 }
3757 return res;
3758 }
3759 if (alloc == SWIG_NEWOBJ((0) | ((1 << 8) << 1))) delete[] cptr;
3760 }
3761 return SWIG_TypeError-5;
3762}
3763
3764
3765SWIGINTERNstatic __attribute__ ((__unused__)) int
3766SWIG_AsVal_char (PyObject * obj, char *val)
3767{
3768 int res = SWIG_AsCharArray(obj, val, 1);
3769 if (!SWIG_IsOK(res)(res >= 0)) {
3770 long v;
3771 res = SWIG_AddCast(SWIG_AsVal_long (obj, &v))(SWIG_AsVal_long (obj, &v));
3772 if (SWIG_IsOK(res)(res >= 0)) {
3773 if ((CHAR_MIN(-127 -1) <= v) && (v <= CHAR_MAX127)) {
3774 if (val) *val = static_cast< char >(v);
3775 } else {
3776 res = SWIG_OverflowError-7;
3777 }
3778 }
3779 }
3780 return res;
3781}
3782
3783SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBCommandReturnObject___repr__(lldb::SBCommandReturnObject *self){
3784 lldb::SBStream stream;
3785 self->GetDescription (stream);
3786 const char *desc = stream.GetData();
3787 size_t desc_len = stream.GetSize();
3788 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3789 --desc_len;
3790 }
3791 return std::string(desc, desc_len);
3792 }
3793SWIGINTERNstatic __attribute__ ((__unused__)) void lldb_SBCommandReturnObject_SetImmediateOutputFile__SWIG_2(lldb::SBCommandReturnObject *self,lldb::FileSP BORROWED,bool transfer_ownership){
3794 self->SetImmediateOutputFile(BORROWED);
3795 }
3796SWIGINTERNstatic __attribute__ ((__unused__)) void lldb_SBCommandReturnObject_SetImmediateErrorFile__SWIG_2(lldb::SBCommandReturnObject *self,lldb::FileSP BORROWED,bool transfer_ownership){
3797 self->SetImmediateErrorFile(BORROWED);
3798 }
3799SWIGINTERNstatic __attribute__ ((__unused__)) void lldb_SBCommandReturnObject_Print(lldb::SBCommandReturnObject *self,char const *str){
3800 self->Printf("%s", str);
3801 }
3802SWIGINTERNstatic __attribute__ ((__unused__)) void lldb_SBCommandReturnObject_write(lldb::SBCommandReturnObject *self,char const *str){
3803 if (str)
3804 self->Printf("%s",str);
3805 }
3806SWIGINTERNstatic __attribute__ ((__unused__)) void lldb_SBCommandReturnObject_flush(lldb::SBCommandReturnObject *self){}
3807SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBCompileUnit___repr__(lldb::SBCompileUnit *self){
3808 lldb::SBStream stream;
3809 self->GetDescription (stream);
3810 const char *desc = stream.GetData();
3811 size_t desc_len = stream.GetSize();
3812 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3813 --desc_len;
3814 }
3815 return std::string(desc, desc_len);
3816 }
3817
3818SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3819SWIG_From_unsigned_SS_char (unsigned char value)
3820{
3821 return SWIG_From_unsigned_SS_long (value);
3822}
3823
3824
3825SWIGINTERNstatic __attribute__ ((__unused__)) int
3826SWIG_AsVal_unsigned_SS_char (PyObject * obj, unsigned char *val)
3827{
3828 unsigned long v;
3829 int res = SWIG_AsVal_unsigned_SS_long (obj, &v);
3830 if (SWIG_IsOK(res)(res >= 0)) {
3831 if ((v > UCHAR_MAX(127*2 +1))) {
3832 return SWIG_OverflowError-7;
3833 } else {
3834 if (val) *val = static_cast< unsigned char >(v);
3835 }
3836 }
3837 return res;
3838}
3839
3840
3841 #define SWIG_From_doublePyFloat_FromDouble PyFloat_FromDouble
3842
3843
3844SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3845SWIG_From_float (float value)
3846{
3847 return SWIG_From_doublePyFloat_FromDouble (value);
3848}
3849
3850
3851SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3852SWIG_From_unsigned_SS_short (unsigned short value)
3853{
3854 return SWIG_From_unsigned_SS_long (value);
3855}
3856
3857
3858SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3859SWIG_From_signed_SS_char (signed char value)
3860{
3861 return SWIG_From_long (value)PyLong_FromLong(value);
3862}
3863
3864
3865SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3866SWIG_From_short (short value)
3867{
3868 return SWIG_From_long (value)PyLong_FromLong(value);
3869}
3870
3871
3872#ifdef SWIG_LONG_LONG_AVAILABLE
3873SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject*
3874SWIG_From_long_SS_long (long long value)
3875{
3876 return ((value < LONG_MIN(-9223372036854775807L -1L)) || (value > LONG_MAX9223372036854775807L)) ?
3877 PyLong_FromLongLong(value) : PyInt_FromLong(static_cast< long >(value))PyLong_FromLong(static_cast< long >(value));
3878}
3879#endif
3880
3881SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBData___repr__(lldb::SBData *self){
3882 lldb::SBStream stream;
3883 self->GetDescription (stream);
3884 const char *desc = stream.GetData();
3885 size_t desc_len = stream.GetSize();
3886 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3887 --desc_len;
3888 }
3889 return std::string(desc, desc_len);
3890 }
3891SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBDebugger___repr__(lldb::SBDebugger *self){
3892 lldb::SBStream stream;
3893 self->GetDescription (stream);
3894 const char *desc = stream.GetData();
3895 size_t desc_len = stream.GetSize();
3896 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3897 --desc_len;
3898 }
3899 return std::string(desc, desc_len);
3900 }
3901SWIGINTERNstatic __attribute__ ((__unused__)) lldb::FileSP lldb_SBDebugger_GetInputFileHandle(lldb::SBDebugger *self){
3902 return self->GetInputFile().GetFile();
3903 }
3904SWIGINTERNstatic __attribute__ ((__unused__)) lldb::FileSP lldb_SBDebugger_GetOutputFileHandle(lldb::SBDebugger *self){
3905 return self->GetOutputFile().GetFile();
3906 }
3907SWIGINTERNstatic __attribute__ ((__unused__)) lldb::FileSP lldb_SBDebugger_GetErrorFileHandle(lldb::SBDebugger *self){
3908 return self->GetErrorFile().GetFile();
3909 }
3910SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBDeclaration___repr__(lldb::SBDeclaration *self){
3911 lldb::SBStream stream;
3912 self->GetDescription (stream);
3913 const char *desc = stream.GetData();
3914 size_t desc_len = stream.GetSize();
3915 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3916 --desc_len;
3917 }
3918 return std::string(desc, desc_len);
3919 }
3920SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBError___repr__(lldb::SBError *self){
3921 lldb::SBStream stream;
3922 self->GetDescription (stream);
3923 const char *desc = stream.GetData();
3924 size_t desc_len = stream.GetSize();
3925 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3926 --desc_len;
3927 }
3928 return std::string(desc, desc_len);
3929 }
3930SWIGINTERNstatic __attribute__ ((__unused__)) lldb::SBFile lldb_SBFile_MakeBorrowed(lldb::FileSP BORROWED){
3931 return lldb::SBFile(BORROWED);
3932 }
3933SWIGINTERNstatic __attribute__ ((__unused__)) lldb::SBFile lldb_SBFile_MakeForcingIOMethods(lldb::FileSP FORCE_IO_METHODS){
3934 return lldb::SBFile(FORCE_IO_METHODS);
3935 }
3936SWIGINTERNstatic __attribute__ ((__unused__)) lldb::SBFile lldb_SBFile_MakeBorrowedForcingIOMethods(lldb::FileSP BORROWED_FORCE_IO_METHODS){
3937 return lldb::SBFile(BORROWED_FORCE_IO_METHODS);
3938 }
3939SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBFileSpec___repr__(lldb::SBFileSpec *self){
3940 lldb::SBStream stream;
3941 self->GetDescription (stream);
3942 const char *desc = stream.GetData();
3943 size_t desc_len = stream.GetSize();
3944 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3945 --desc_len;
3946 }
3947 return std::string(desc, desc_len);
3948 }
3949SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBFrame___repr__(lldb::SBFrame *self){
3950 lldb::SBStream stream;
3951 self->GetDescription (stream);
3952 const char *desc = stream.GetData();
3953 size_t desc_len = stream.GetSize();
3954 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3955 --desc_len;
3956 }
3957 return std::string(desc, desc_len);
3958 }
3959SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBFunction___repr__(lldb::SBFunction *self){
3960 lldb::SBStream stream;
3961 self->GetDescription (stream);
3962 const char *desc = stream.GetData();
3963 size_t desc_len = stream.GetSize();
3964 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3965 --desc_len;
3966 }
3967 return std::string(desc, desc_len);
3968 }
3969SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBInstruction___repr__(lldb::SBInstruction *self){
3970 lldb::SBStream stream;
3971 self->GetDescription (stream);
3972 const char *desc = stream.GetData();
3973 size_t desc_len = stream.GetSize();
3974 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3975 --desc_len;
3976 }
3977 return std::string(desc, desc_len);
3978 }
3979SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBInstructionList___repr__(lldb::SBInstructionList *self){
3980 lldb::SBStream stream;
3981 self->GetDescription (stream);
3982 const char *desc = stream.GetData();
3983 size_t desc_len = stream.GetSize();
3984 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3985 --desc_len;
3986 }
3987 return std::string(desc, desc_len);
3988 }
3989SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBLineEntry___repr__(lldb::SBLineEntry *self){
3990 lldb::SBStream stream;
3991 self->GetDescription (stream);
3992 const char *desc = stream.GetData();
3993 size_t desc_len = stream.GetSize();
3994 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3995 --desc_len;
3996 }
3997 return std::string(desc, desc_len);
3998 }
3999SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBMemoryRegionInfo___repr__(lldb::SBMemoryRegionInfo *self){
4000 lldb::SBStream stream;
4001 self->GetDescription (stream);
4002 const char *desc = stream.GetData();
4003 size_t desc_len = stream.GetSize();
4004 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4005 --desc_len;
4006 }
4007 return std::string(desc, desc_len);
4008 }
4009SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBModule___repr__(lldb::SBModule *self){
4010 lldb::SBStream stream;
4011 self->GetDescription (stream);
4012 const char *desc = stream.GetData();
4013 size_t desc_len = stream.GetSize();
4014 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4015 --desc_len;
4016 }
4017 return std::string(desc, desc_len);
4018 }
4019SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBModuleSpec___repr__(lldb::SBModuleSpec *self){
4020 lldb::SBStream stream;
4021 self->GetDescription (stream);
4022 const char *desc = stream.GetData();
4023 size_t desc_len = stream.GetSize();
4024 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4025 --desc_len;
4026 }
4027 return std::string(desc, desc_len);
4028 }
4029SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBModuleSpecList___repr__(lldb::SBModuleSpecList *self){
4030 lldb::SBStream stream;
4031 self->GetDescription (stream);
4032 const char *desc = stream.GetData();
4033 size_t desc_len = stream.GetSize();
4034 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4035 --desc_len;
4036 }
4037 return std::string(desc, desc_len);
4038 }
4039SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBProcess___repr__(lldb::SBProcess *self){
4040 lldb::SBStream stream;
4041 self->GetDescription (stream);
4042 const char *desc = stream.GetData();
4043 size_t desc_len = stream.GetSize();
4044 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4045 --desc_len;
4046 }
4047 return std::string(desc, desc_len);
4048 }
4049SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBSection___repr__(lldb::SBSection *self){
4050 lldb::SBStream stream;
4051 self->GetDescription (stream);
4052 const char *desc = stream.GetData();
4053 size_t desc_len = stream.GetSize();
4054 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4055 --desc_len;
4056 }
4057 return std::string(desc, desc_len);
4058 }
4059SWIGINTERNstatic __attribute__ ((__unused__)) void lldb_SBStream_RedirectToFileHandle(lldb::SBStream *self,lldb::FileSP file,bool transfer_fh_ownership){
4060 self->RedirectToFile(file);
4061 }
4062SWIGINTERNstatic __attribute__ ((__unused__)) void lldb_SBStream_write(lldb::SBStream *self,char const *str){
4063 if (str)
4064 self->Printf("%s",str);
4065 }
4066SWIGINTERNstatic __attribute__ ((__unused__)) void lldb_SBStream_flush(lldb::SBStream *self){}
4067SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBSymbol___repr__(lldb::SBSymbol *self){
4068 lldb::SBStream stream;
4069 self->GetDescription (stream);
4070 const char *desc = stream.GetData();
4071 size_t desc_len = stream.GetSize();
4072 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4073 --desc_len;
4074 }
4075 return std::string(desc, desc_len);
4076 }
4077SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBSymbolContext___repr__(lldb::SBSymbolContext *self){
4078 lldb::SBStream stream;
4079 self->GetDescription (stream);
4080 const char *desc = stream.GetData();
4081 size_t desc_len = stream.GetSize();
4082 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4083 --desc_len;
4084 }
4085 return std::string(desc, desc_len);
4086 }
4087SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBSymbolContextList___repr__(lldb::SBSymbolContextList *self){
4088 lldb::SBStream stream;
4089 self->GetDescription (stream);
4090 const char *desc = stream.GetData();
4091 size_t desc_len = stream.GetSize();
4092 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4093 --desc_len;
4094 }
4095 return std::string(desc, desc_len);
4096 }
4097SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTarget___repr__(lldb::SBTarget *self){
4098 lldb::SBStream stream;
4099 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4100 const char *desc = stream.GetData();
4101 size_t desc_len = stream.GetSize();
4102 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4103 --desc_len;
4104 }
4105 return std::string(desc, desc_len);
4106 }
4107SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBThread___repr__(lldb::SBThread *self){
4108 lldb::SBStream stream;
4109 self->GetDescription (stream);
4110 const char *desc = stream.GetData();
4111 size_t desc_len = stream.GetSize();
4112 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4113 --desc_len;
4114 }
4115 return std::string(desc, desc_len);
4116 }
4117
4118#ifdef SWIG_LONG_LONG_AVAILABLE
4119SWIGINTERNstatic __attribute__ ((__unused__)) int
4120SWIG_AsVal_long_SS_long (PyObject *obj, long long *val)
4121{
4122 int res = SWIG_TypeError-5;
4123 if (PyLong_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
) {
4124 long long v = PyLong_AsLongLong(obj);
4125 if (!PyErr_Occurred()) {
4126 if (val) *val = v;
4127 return SWIG_OK(0);
4128 } else {
4129 PyErr_Clear();
4130 res = SWIG_OverflowError-7;
4131 }
4132 } else {
4133 long v;
4134 res = SWIG_AsVal_long (obj,&v);
4135 if (SWIG_IsOK(res)(res >= 0)) {
4136 if (val) *val = v;
4137 return res;
4138 }
4139 }
4140#ifdef SWIG_PYTHON_CAST_MODE
4141 {
4142 const double mant_max = 1LL << DBL_MANT_DIG53;
4143 const double mant_min = -mant_max;
4144 double d;
4145 res = SWIG_AsVal_double (obj,&d);
4146 if (SWIG_IsOK(res)(res >= 0) && !SWIG_CanCastAsInteger(&d, mant_min, mant_max))
4147 return SWIG_OverflowError-7;
4148 if (SWIG_IsOK(res)(res >= 0) && SWIG_CanCastAsInteger(&d, mant_min, mant_max)) {
4149 if (val) *val = (long long)(d);
4150 return SWIG_AddCast(res)(res);
4151 }
4152 res = SWIG_TypeError-5;
4153 }
4154#endif
4155 return res;
4156}
4157#endif
4158
4159SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeMember___repr__(lldb::SBTypeMember *self){
4160 lldb::SBStream stream;
4161 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4162 const char *desc = stream.GetData();
4163 size_t desc_len = stream.GetSize();
4164 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4165 --desc_len;
4166 }
4167 return std::string(desc, desc_len);
4168 }
4169SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeMemberFunction___repr__(lldb::SBTypeMemberFunction *self){
4170 lldb::SBStream stream;
4171 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4172 const char *desc = stream.GetData();
4173 size_t desc_len = stream.GetSize();
4174 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4175 --desc_len;
4176 }
4177 return std::string(desc, desc_len);
4178 }
4179SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBType___repr__(lldb::SBType *self){
4180 lldb::SBStream stream;
4181 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4182 const char *desc = stream.GetData();
4183 size_t desc_len = stream.GetSize();
4184 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4185 --desc_len;
4186 }
4187 return std::string(desc, desc_len);
4188 }
4189SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeCategory___repr__(lldb::SBTypeCategory *self){
4190 lldb::SBStream stream;
4191 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4192 const char *desc = stream.GetData();
4193 size_t desc_len = stream.GetSize();
4194 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4195 --desc_len;
4196 }
4197 return std::string(desc, desc_len);
4198 }
4199SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeEnumMember___repr__(lldb::SBTypeEnumMember *self){
4200 lldb::SBStream stream;
4201 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4202 const char *desc = stream.GetData();
4203 size_t desc_len = stream.GetSize();
4204 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4205 --desc_len;
4206 }
4207 return std::string(desc, desc_len);
4208 }
4209SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeFilter___repr__(lldb::SBTypeFilter *self){
4210 lldb::SBStream stream;
4211 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4212 const char *desc = stream.GetData();
4213 size_t desc_len = stream.GetSize();
4214 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4215 --desc_len;
4216 }
4217 return std::string(desc, desc_len);
4218 }
4219SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeFormat___repr__(lldb::SBTypeFormat *self){
4220 lldb::SBStream stream;
4221 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4222 const char *desc = stream.GetData();
4223 size_t desc_len = stream.GetSize();
4224 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4225 --desc_len;
4226 }
4227 return std::string(desc, desc_len);
4228 }
4229SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeNameSpecifier___repr__(lldb::SBTypeNameSpecifier *self){
4230 lldb::SBStream stream;
4231 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4232 const char *desc = stream.GetData();
4233 size_t desc_len = stream.GetSize();
4234 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4235 --desc_len;
4236 }
4237 return std::string(desc, desc_len);
4238 }
4239SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeSummary___repr__(lldb::SBTypeSummary *self){
4240 lldb::SBStream stream;
4241 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4242 const char *desc = stream.GetData();
4243 size_t desc_len = stream.GetSize();
4244 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4245 --desc_len;
4246 }
4247 return std::string(desc, desc_len);
4248 }
4249SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeSynthetic___repr__(lldb::SBTypeSynthetic *self){
4250 lldb::SBStream stream;
4251 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4252 const char *desc = stream.GetData();
4253 size_t desc_len = stream.GetSize();
4254 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4255 --desc_len;
4256 }
4257 return std::string(desc, desc_len);
4258 }
4259SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBValue___repr__(lldb::SBValue *self){
4260 lldb::SBStream stream;
4261 self->GetDescription (stream);
4262 const char *desc = stream.GetData();
4263 size_t desc_len = stream.GetSize();
4264 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4265 --desc_len;
4266 }
4267 return std::string(desc, desc_len);
4268 }
4269SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBValueList___str__(lldb::SBValueList *self){
4270 lldb::SBStream description;
4271 const size_t n = self->GetSize();
4272 if (n)
4273 {
4274 for (size_t i=0; i<n; ++i)
4275 self->GetValueAtIndex(i).GetDescription(description);
4276 }
4277 else
4278 {
4279 description.Printf("<empty> lldb.SBValueList()");
4280 }
4281 const char *desc = description.GetData();
4282 size_t desc_len = description.GetSize();
4283 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r'))
4284 --desc_len;
4285 return std::string(desc, desc_len);
4286 }
4287SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBWatchpoint___repr__(lldb::SBWatchpoint *self){
4288 lldb::SBStream stream;
4289 self->GetDescription (stream, lldb::eDescriptionLevelVerbose);
14
Called C++ object pointer is null
4290 const char *desc = stream.GetData();
4291 size_t desc_len = stream.GetSize();
4292 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4293 --desc_len;
4294 }
4295 return std::string(desc, desc_len);
4296 }
4297
4298
4299class PyErr_Cleaner {
4300public:
4301 PyErr_Cleaner(bool print = false) : m_print(print) {}
4302
4303 ~PyErr_Cleaner() {
4304 if (PyErr_Occurred()) {
4305 if (m_print && !PyErr_ExceptionMatches(PyExc_SystemExit))
4306 PyErr_Print();
4307 PyErr_Clear();
4308 }
4309 }
4310
4311private:
4312 bool m_print;
4313};
4314
4315llvm::Expected<bool> lldb_private::LLDBSwigPythonBreakpointCallbackFunction(
4316 const char *python_function_name, const char *session_dictionary_name,
4317 const lldb::StackFrameSP &frame_sp,
4318 const lldb::BreakpointLocationSP &bp_loc_sp,
4319 const lldb_private::StructuredDataImpl &args_impl) {
4320 using namespace llvm;
4321
4322 lldb::SBBreakpointLocation sb_bp_loc(bp_loc_sp);
4323
4324 PyErr_Cleaner py_err_cleaner(true);
4325 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4326 session_dictionary_name);
4327 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4328 python_function_name, dict);
4329
4330 unsigned max_positional_args;
4331 if (auto arg_info = pfunc.GetArgInfo())
4332 max_positional_args = arg_info.get().max_positional_args;
4333 else
4334 return arg_info.takeError();
4335
4336 PythonObject frame_arg = ToSWIGWrapper(frame_sp);
4337 PythonObject bp_loc_arg = ToSWIGWrapper(bp_loc_sp);
4338
4339 auto result =
4340 max_positional_args < 4
4341 ? pfunc.Call(frame_arg, bp_loc_arg, dict)
4342 : pfunc.Call(frame_arg, bp_loc_arg, ToSWIGWrapper(args_impl), dict);
4343
4344 if (!result)
4345 return result.takeError();
4346
4347 // Only False counts as false!
4348 return result.get().get() != Py_False((PyObject *) &_Py_FalseStruct);
4349}
4350
4351// resolve a dotted Python name in the form
4352// foo.bar.baz.Foobar to an actual Python object
4353// if pmodule is NULL, the __main__ module will be used
4354// as the starting point for the search
4355
4356// This function is called by
4357// lldb_private::ScriptInterpreterPython::BreakpointCallbackFunction(...) and is
4358// used when a script command is attached to a breakpoint for execution.
4359
4360// This function is called by
4361// lldb_private::ScriptInterpreterPython::WatchpointCallbackFunction(...) and is
4362// used when a script command is attached to a watchpoint for execution.
4363
4364bool lldb_private::LLDBSwigPythonWatchpointCallbackFunction(
4365 const char *python_function_name, const char *session_dictionary_name,
4366 const lldb::StackFrameSP &frame_sp, const lldb::WatchpointSP &wp_sp) {
4367
4368 bool stop_at_watchpoint = true;
4369
4370 PyErr_Cleaner py_err_cleaner(true);
4371
4372 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4373 session_dictionary_name);
4374 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4375 python_function_name, dict);
4376
4377 if (!pfunc.IsAllocated())
4378 return stop_at_watchpoint;
4379
4380 PythonObject result =
4381 pfunc(ToSWIGWrapper(frame_sp), ToSWIGWrapper(wp_sp), dict);
4382
4383 if (result.get() == Py_False((PyObject *) &_Py_FalseStruct))
4384 stop_at_watchpoint = false;
4385
4386 return stop_at_watchpoint;
4387}
4388
4389// This function is called by
4390// ScriptInterpreterPython::FormatterMatchingCallbackFunction and it's used when
4391// a data formatter provides the name of a callback to inspect a candidate type
4392// before considering a match.
4393bool lldb_private::LLDBSwigPythonFormatterCallbackFunction(
4394 const char *python_function_name, const char *session_dictionary_name,
4395 lldb::TypeImplSP type_impl_sp) {
4396
4397 PyErr_Cleaner py_err_cleaner(true);
4398
4399 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4400 session_dictionary_name);
4401 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4402 python_function_name, dict);
4403
4404 if (!pfunc.IsAllocated())
4405 return false;
4406
4407 PythonObject result =
4408 pfunc(ToSWIGWrapper(type_impl_sp), dict);
4409
4410 // Only if everything goes okay and the function returns True we'll consider
4411 // it a match.
4412 return result.get() == Py_True((PyObject *) &_Py_TrueStruct);
4413}
4414
4415bool lldb_private::LLDBSwigPythonCallTypeScript(
4416 const char *python_function_name, const void *session_dictionary,
4417 const lldb::ValueObjectSP &valobj_sp, void **pyfunct_wrapper,
4418 const lldb::TypeSummaryOptionsSP &options_sp, std::string &retval) {
4419
4420 retval.clear();
4421
4422 if (!python_function_name || !session_dictionary)
4423 return false;
4424
4425 PyObject *pfunc_impl = nullptr;
4426
4427 if (pyfunct_wrapper && *pyfunct_wrapper &&
4428 PyFunction_Check(*pyfunct_wrapper)_Py_IS_TYPE(((const PyObject*)(*pyfunct_wrapper)), &PyFunction_Type
)
) {
4429 pfunc_impl = (PyObject *)(*pyfunct_wrapper);
4430 if (pfunc_impl->ob_refcnt == 1) {
4431 Py_XDECREF(pfunc_impl)_Py_XDECREF(((PyObject*)(pfunc_impl)));
4432 pfunc_impl = NULL__null;
4433 }
4434 }
4435
4436 PyObject *py_dict = (PyObject *)session_dictionary;
4437 if (!PythonDictionary::Check(py_dict))
4438 return true;
4439
4440 PythonDictionary dict(PyRefType::Borrowed, py_dict);
4441
4442 PyErr_Cleaner pyerr_cleanup(true); // show Python errors
4443
4444 PythonCallable pfunc(PyRefType::Borrowed, pfunc_impl);
4445
4446 if (!pfunc.IsAllocated()) {
4447 pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4448 python_function_name, dict);
4449 if (!pfunc.IsAllocated())
4450 return false;
4451
4452 if (pyfunct_wrapper) {
4453 *pyfunct_wrapper = pfunc.get();
4454 Py_XINCREF(pfunc.get())_Py_XINCREF(((PyObject*)(pfunc.get())));
4455 }
4456 }
4457
4458 PythonObject result;
4459 auto argc = pfunc.GetArgInfo();
4460 if (!argc) {
4461 llvm::consumeError(argc.takeError());
4462 return false;
4463 }
4464
4465 PythonObject value_arg = ToSWIGWrapper(valobj_sp);
4466
4467 if (argc.get().max_positional_args < 3)
4468 result = pfunc(value_arg, dict);
4469 else
4470 result = pfunc(value_arg, dict, ToSWIGWrapper(*options_sp));
4471
4472 retval = result.Str().GetString().str();
4473
4474 return true;
4475}
4476
4477PythonObject lldb_private::LLDBSwigPythonCreateSyntheticProvider(
4478 const char *python_class_name, const char *session_dictionary_name,
4479 const lldb::ValueObjectSP &valobj_sp) {
4480 if (python_class_name == NULL__null || python_class_name[0] == '\0' ||
4481 !session_dictionary_name)
4482 return PythonObject();
4483
4484 PyErr_Cleaner py_err_cleaner(true);
4485
4486 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4487 session_dictionary_name);
4488 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4489 python_class_name, dict);
4490
4491 if (!pfunc.IsAllocated())
4492 return PythonObject();
4493
4494 auto sb_value = std::make_unique<lldb::SBValue>(valobj_sp);
4495 sb_value->SetPreferSyntheticValue(false);
4496
4497 PythonObject val_arg = ToSWIGWrapper(std::move(sb_value));
4498 if (!val_arg.IsAllocated())
4499 return PythonObject();
4500
4501 PythonObject result = pfunc(val_arg, dict);
4502
4503 if (result.IsAllocated())
4504 return result;
4505
4506 return PythonObject();
4507}
4508
4509PythonObject lldb_private::LLDBSwigPythonCreateCommandObject(
4510 const char *python_class_name, const char *session_dictionary_name,
4511 lldb::DebuggerSP debugger_sp) {
4512 if (python_class_name == NULL__null || python_class_name[0] == '\0' ||
4513 !session_dictionary_name)
4514 return PythonObject();
4515
4516 PyErr_Cleaner py_err_cleaner(true);
4517 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4518 session_dictionary_name);
4519 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4520 python_class_name, dict);
4521
4522 if (!pfunc.IsAllocated())
4523 return PythonObject();
4524
4525 return pfunc(ToSWIGWrapper(std::move(debugger_sp)), dict);
4526}
4527
4528PythonObject lldb_private::LLDBSwigPythonCreateScriptedObject(
4529 const char *python_class_name, const char *session_dictionary_name,
4530 lldb::ExecutionContextRefSP exe_ctx_sp,
4531 const lldb_private::StructuredDataImpl &args_impl,
4532 std::string &error_string) {
4533 if (python_class_name == NULL__null || python_class_name[0] == '\0' ||
4534 !session_dictionary_name)
4535 return PythonObject();
4536
4537 PyErr_Cleaner py_err_cleaner(true);
4538
4539 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4540 session_dictionary_name);
4541 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4542 python_class_name, dict);
4543
4544 if (!pfunc.IsAllocated()) {
4545 error_string.append("could not find script class: ");
4546 error_string.append(python_class_name);
4547 return PythonObject();
4548 }
4549
4550 llvm::Expected<PythonCallable::ArgInfo> arg_info = pfunc.GetArgInfo();
4551 if (!arg_info) {
4552 llvm::handleAllErrors(
4553 arg_info.takeError(),
4554 [&](PythonException &E) { error_string.append(E.ReadBacktrace()); },
4555 [&](const llvm::ErrorInfoBase &E) {
4556 error_string.append(E.message());
4557 });
4558 return PythonObject();
4559 }
4560
4561 PythonObject result = {};
4562 if (arg_info.get().max_positional_args == 2) {
4563 result = pfunc(ToSWIGWrapper(exe_ctx_sp), ToSWIGWrapper(args_impl));
4564 } else {
4565 error_string.assign("wrong number of arguments in __init__, should be 2 "
4566 "(not including self)");
4567 }
4568 return result;
4569}
4570
4571PythonObject lldb_private::LLDBSwigPythonCreateScriptedThreadPlan(
4572 const char *python_class_name, const char *session_dictionary_name,
4573 const lldb_private::StructuredDataImpl &args_impl,
4574 std::string &error_string, const lldb::ThreadPlanSP &thread_plan_sp) {
4575 if (python_class_name == NULL__null || python_class_name[0] == '\0' ||
4576 !session_dictionary_name)
4577 return PythonObject();
4578
4579 PyErr_Cleaner py_err_cleaner(true);
4580
4581 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4582 session_dictionary_name);
4583 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4584 python_class_name, dict);
4585
4586 if (!pfunc.IsAllocated()) {
4587 error_string.append("could not find script class: ");
4588 error_string.append(python_class_name);
4589 return PythonObject();
4590 }
4591
4592 PythonObject tp_arg = ToSWIGWrapper(thread_plan_sp);
4593
4594 llvm::Expected<PythonCallable::ArgInfo> arg_info = pfunc.GetArgInfo();
4595 if (!arg_info) {
4596 llvm::handleAllErrors(
4597 arg_info.takeError(),
4598 [&](PythonException &E) { error_string.append(E.ReadBacktrace()); },
4599 [&](const llvm::ErrorInfoBase &E) {
4600 error_string.append(E.message());
4601 });
4602 return PythonObject();
4603 }
4604
4605 PythonObject result = {};
4606 auto args_sb = std::make_unique<lldb::SBStructuredData>(args_impl);
4607 if (arg_info.get().max_positional_args == 2) {
4608 if (args_sb->IsValid()) {
4609 error_string.assign(
4610 "args passed, but __init__ does not take an args dictionary");
4611 return PythonObject();
4612 }
4613 result = pfunc(tp_arg, dict);
4614 } else if (arg_info.get().max_positional_args >= 3) {
4615 result = pfunc(tp_arg, ToSWIGWrapper(std::move(args_sb)), dict);
4616 } else {
4617 error_string.assign("wrong number of arguments in __init__, should be 2 or "
4618 "3 (not including self)");
4619 return PythonObject();
4620 }
4621
4622 // FIXME: At this point we should check that the class we found supports all
4623 // the methods that we need.
4624
4625 return result;
4626}
4627
4628bool lldb_private::LLDBSWIGPythonCallThreadPlan(
4629 void *implementor, const char *method_name, lldb_private::Event *event,
4630 bool &got_error) {
4631 got_error = false;
4632
4633 PyErr_Cleaner py_err_cleaner(false);
4634 PythonObject self(PyRefType::Borrowed, static_cast<PyObject *>(implementor));
4635 auto pfunc = self.ResolveName<PythonCallable>(method_name);
4636
4637 if (!pfunc.IsAllocated())
4638 return false;
4639
4640 PythonObject result;
4641 if (event != nullptr) {
4642 ScopedPythonObject<SBEvent> event_arg = ToSWIGWrapper(event);
4643 result = pfunc(event_arg.obj());
4644 } else
4645 result = pfunc();
4646
4647 if (PyErr_Occurred()) {
4648 got_error = true;
4649 printf("Return value was neither false nor true for call to %s.\n",
4650 method_name);
4651 PyErr_Print();
4652 return false;
4653 }
4654
4655 if (result.get() == Py_True((PyObject *) &_Py_TrueStruct))
4656 return true;
4657 else if (result.get() == Py_False((PyObject *) &_Py_FalseStruct))
4658 return false;
4659
4660 // Somebody returned the wrong thing...
4661 got_error = true;
4662 printf("Wrong return value type for call to %s.\n", method_name);
4663 return false;
4664}
4665
4666bool lldb_private::LLDBSWIGPythonCallThreadPlan(
4667 void *implementor, const char *method_name, lldb_private::Stream *stream,
4668 bool &got_error) {
4669 got_error = false;
4670
4671 PyErr_Cleaner py_err_cleaner(false);
4672 PythonObject self(PyRefType::Borrowed, static_cast<PyObject *>(implementor));
4673 auto pfunc = self.ResolveName<PythonCallable>(method_name);
4674
4675 if (!pfunc.IsAllocated())
4676 return false;
4677
4678 auto *sb_stream = new lldb::SBStream();
4679 PythonObject sb_stream_arg =
4680 ToSWIGWrapper(std::unique_ptr<lldb::SBStream>(sb_stream));
4681
4682 PythonObject result;
4683 result = pfunc(sb_stream_arg);
4684
4685 if (PyErr_Occurred()) {
4686 printf("Error occured for call to %s.\n",
4687 method_name);
4688 PyErr_Print();
4689 got_error = true;
4690 return false;
4691 }
4692 if (stream)
4693 stream->PutCString(sb_stream->GetData());
4694 return true;
4695
4696}
4697
4698PythonObject lldb_private::LLDBSwigPythonCreateScriptedBreakpointResolver(
4699 const char *python_class_name, const char *session_dictionary_name,
4700 const StructuredDataImpl &args_impl,
4701 const lldb::BreakpointSP &breakpoint_sp) {
4702
4703 if (python_class_name == NULL__null || python_class_name[0] == '\0' ||
4704 !session_dictionary_name)
4705 return PythonObject();
4706
4707 PyErr_Cleaner py_err_cleaner(true);
4708
4709 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4710 session_dictionary_name);
4711 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4712 python_class_name, dict);
4713
4714 if (!pfunc.IsAllocated())
4715 return PythonObject();
4716
4717 PythonObject result =
4718 pfunc(ToSWIGWrapper(breakpoint_sp), ToSWIGWrapper(args_impl), dict);
4719 // FIXME: At this point we should check that the class we found supports all
4720 // the methods that we need.
4721
4722 if (result.IsAllocated()) {
4723 // Check that __callback__ is defined:
4724 auto callback_func = result.ResolveName<PythonCallable>("__callback__");
4725 if (callback_func.IsAllocated())
4726 return result;
4727 }
4728 return PythonObject();
4729}
4730
4731unsigned int lldb_private::LLDBSwigPythonCallBreakpointResolver(
4732 void *implementor, const char *method_name,
4733 lldb_private::SymbolContext *sym_ctx) {
4734 PyErr_Cleaner py_err_cleaner(false);
4735 PythonObject self(PyRefType::Borrowed, static_cast<PyObject *>(implementor));
4736 auto pfunc = self.ResolveName<PythonCallable>(method_name);
4737
4738 if (!pfunc.IsAllocated())
4739 return 0;
4740
4741 PythonObject result = sym_ctx ? pfunc(ToSWIGWrapper(*sym_ctx)) : pfunc();
4742
4743 if (PyErr_Occurred()) {
4744 PyErr_Print();
4745 PyErr_Clear();
4746 return 0;
4747 }
4748
4749 // The callback will return a bool, but we're need to also return ints
4750 // so we're squirrelling the bool through as an int... And if you return
4751 // nothing, we'll continue.
4752 if (strcmp(method_name, "__callback__") == 0) {
4753 if (result.get() == Py_False((PyObject *) &_Py_FalseStruct))
4754 return 0;
4755 else
4756 return 1;
4757 }
4758
4759 long long ret_val = unwrapOrSetPythonException(As<long long>(result));
4760
4761 if (PyErr_Occurred()) {
4762 PyErr_Print();
4763 PyErr_Clear();
4764 return 0;
4765 }
4766
4767 return ret_val;
4768}
4769
4770PythonObject lldb_private::LLDBSwigPythonCreateScriptedStopHook(
4771 lldb::TargetSP target_sp, const char *python_class_name,
4772 const char *session_dictionary_name, const StructuredDataImpl &args_impl,
4773 Status &error) {
4774 if (python_class_name == NULL__null || python_class_name[0] == '\0') {
4775 error.SetErrorString("Empty class name.");
4776 return PythonObject();
4777 }
4778 if (!session_dictionary_name) {
4779 error.SetErrorString("No session dictionary");
4780 return PythonObject();
4781 }
4782
4783 PyErr_Cleaner py_err_cleaner(true);
4784
4785 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4786 session_dictionary_name);
4787 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4788 python_class_name, dict);
4789
4790 if (!pfunc.IsAllocated()) {
4791 error.SetErrorStringWithFormat("Could not find class: %s.",
4792 python_class_name);
4793 return PythonObject();
4794 }
4795
4796 PythonObject result =
4797 pfunc(ToSWIGWrapper(target_sp), ToSWIGWrapper(args_impl), dict);
4798
4799 if (result.IsAllocated()) {
4800 // Check that the handle_stop callback is defined:
4801 auto callback_func = result.ResolveName<PythonCallable>("handle_stop");
4802 if (callback_func.IsAllocated()) {
4803 if (auto args_info = callback_func.GetArgInfo()) {
4804 size_t num_args = (*args_info).max_positional_args;
4805 if (num_args != 2) {
4806 error.SetErrorStringWithFormat(
4807 "Wrong number of args for "
4808 "handle_stop callback, should be 2 (excluding self), got: %zu",
4809 num_args);
4810 return PythonObject();
4811 } else
4812 return result;
4813 } else {
4814 error.SetErrorString("Couldn't get num arguments for handle_stop "
4815 "callback.");
4816 return PythonObject();
4817 }
4818 return result;
4819 } else {
4820 error.SetErrorStringWithFormat("Class \"%s\" is missing the required "
4821 "handle_stop callback.",
4822 python_class_name);
4823 }
4824 }
4825 return PythonObject();
4826}
4827
4828bool lldb_private::LLDBSwigPythonStopHookCallHandleStop(
4829 void *implementor, lldb::ExecutionContextRefSP exc_ctx_sp,
4830 lldb::StreamSP stream) {
4831 // handle_stop will return a bool with the meaning "should_stop"...
4832 // If you return nothing we'll assume we are going to stop.
4833 // Also any errors should return true, since we should stop on error.
4834
4835 PyErr_Cleaner py_err_cleaner(false);
4836 PythonObject self(PyRefType::Borrowed, static_cast<PyObject *>(implementor));
4837 auto pfunc = self.ResolveName<PythonCallable>("handle_stop");
4838
4839 if (!pfunc.IsAllocated())
4840 return true;
4841
4842 auto *sb_stream = new lldb::SBStream();
4843 PythonObject sb_stream_arg =
4844 ToSWIGWrapper(std::unique_ptr<lldb::SBStream>(sb_stream));
4845 PythonObject result =
4846 pfunc(ToSWIGWrapper(std::move(exc_ctx_sp)), sb_stream_arg);
4847
4848 if (PyErr_Occurred()) {
4849 stream->PutCString("Python error occurred handling stop-hook.");
4850 PyErr_Print();
4851 PyErr_Clear();
4852 return true;
4853 }
4854
4855 // Now add the result to the output stream. SBStream only
4856 // makes an internally help StreamString which I can't interpose, so I
4857 // have to copy it over here.
4858 stream->PutCString(sb_stream->GetData());
4859
4860 if (result.get() == Py_False((PyObject *) &_Py_FalseStruct))
4861 return false;
4862 else
4863 return true;
4864}
4865
4866// wrapper that calls an optional instance member of an object taking no
4867// arguments
4868static PyObject *LLDBSwigPython_CallOptionalMember(
4869 PyObject * implementor, char *callee_name,
4870 PyObject *ret_if_not_found = Py_None(&_Py_NoneStruct), bool *was_found = NULL__null) {
4871 PyErr_Cleaner py_err_cleaner(false);
4872
4873 PythonObject self(PyRefType::Borrowed, static_cast<PyObject *>(implementor));
4874 auto pfunc = self.ResolveName<PythonCallable>(callee_name);
4875
4876 if (!pfunc.IsAllocated()) {
4877 if (was_found)
4878 *was_found = false;
4879 Py_XINCREF(ret_if_not_found)_Py_XINCREF(((PyObject*)(ret_if_not_found)));
4880 return ret_if_not_found;
4881 }
4882
4883 if (was_found)
4884 *was_found = true;
4885
4886 PythonObject result = pfunc();
4887 return result.release();
4888}
4889
4890size_t lldb_private::LLDBSwigPython_CalculateNumChildren(PyObject * implementor,
4891 uint32_t max) {
4892 PythonObject self(PyRefType::Borrowed, implementor);
4893 auto pfunc = self.ResolveName<PythonCallable>("num_children");
4894
4895 if (!pfunc.IsAllocated())
4896 return 0;
4897
4898 auto arg_info = pfunc.GetArgInfo();
4899 if (!arg_info) {
4900 llvm::consumeError(arg_info.takeError());
4901 return 0;
4902 }
4903
4904 size_t ret_val;
4905 if (arg_info.get().max_positional_args < 1)
4906 ret_val = unwrapOrSetPythonException(As<long long>(pfunc.Call()));
4907 else
4908 ret_val = unwrapOrSetPythonException(
4909 As<long long>(pfunc.Call(PythonInteger(max))));
4910
4911 if (PyErr_Occurred()) {
4912 PyErr_Print();
4913 PyErr_Clear();
4914 return 0;
4915 }
4916
4917 if (arg_info.get().max_positional_args < 1)
4918 ret_val = std::min(ret_val, static_cast<size_t>(max));
4919
4920 return ret_val;
4921}
4922
4923PyObject *lldb_private::LLDBSwigPython_GetChildAtIndex(PyObject * implementor,
4924 uint32_t idx) {
4925 PyErr_Cleaner py_err_cleaner(true);
4926
4927 PythonObject self(PyRefType::Borrowed, implementor);
4928 auto pfunc = self.ResolveName<PythonCallable>("get_child_at_index");
4929
4930 if (!pfunc.IsAllocated())
4931 return nullptr;
4932
4933 PythonObject result = pfunc(PythonInteger(idx));
4934
4935 if (!result.IsAllocated())
4936 return nullptr;
4937
4938 lldb::SBValue *sbvalue_ptr = nullptr;
4939 if (SWIG_ConvertPtr(result.get(), (void **)&sbvalue_ptr,SWIG_Python_ConvertPtrAndOwn(result.get(), (void **)&sbvalue_ptr
, swig_types[81], 0, 0)
4940 SWIGTYPE_p_lldb__SBValue, 0)SWIG_Python_ConvertPtrAndOwn(result.get(), (void **)&sbvalue_ptr
, swig_types[81], 0, 0)
== -1)
4941 return nullptr;
4942
4943 if (sbvalue_ptr == nullptr)
4944 return nullptr;
4945
4946 return result.release();
4947}
4948
4949int lldb_private::LLDBSwigPython_GetIndexOfChildWithName(
4950 PyObject * implementor, const char *child_name) {
4951 PyErr_Cleaner py_err_cleaner(true);
4952
4953 PythonObject self(PyRefType::Borrowed, implementor);
4954 auto pfunc = self.ResolveName<PythonCallable>("get_child_index");
4955
4956 if (!pfunc.IsAllocated())
4957 return UINT32_MAX(4294967295U);
4958
4959 llvm::Expected<PythonObject> result = pfunc.Call(PythonString(child_name));
4960
4961 long long retval =
4962 unwrapOrSetPythonException(As<long long>(std::move(result)));
4963
4964 if (PyErr_Occurred()) {
4965 PyErr_Clear(); // FIXME print this? do something else
4966 return UINT32_MAX(4294967295U);
4967 }
4968
4969 if (retval >= 0)
4970 return (uint32_t)retval;
4971
4972 return UINT32_MAX(4294967295U);
4973}
4974
4975bool lldb_private::LLDBSwigPython_UpdateSynthProviderInstance(PyObject *
4976 implementor) {
4977 bool ret_val = false;
4978
4979 static char callee_name[] = "update";
4980
4981 PyObject *py_return =
4982 LLDBSwigPython_CallOptionalMember(implementor, callee_name);
4983
4984 if (py_return == Py_True((PyObject *) &_Py_TrueStruct))
4985 ret_val = true;
4986
4987 Py_XDECREF(py_return)_Py_XDECREF(((PyObject*)(py_return)));
4988
4989 return ret_val;
4990}
4991
4992bool lldb_private::LLDBSwigPython_MightHaveChildrenSynthProviderInstance(
4993 PyObject * implementor) {
4994 bool ret_val = false;
4995
4996 static char callee_name[] = "has_children";
4997
4998 PyObject *py_return =
4999 LLDBSwigPython_CallOptionalMember(implementor, callee_name, Py_True((PyObject *) &_Py_TrueStruct));
5000
5001 if (py_return == Py_True((PyObject *) &_Py_TrueStruct))
5002 ret_val = true;
5003
5004 Py_XDECREF(py_return)_Py_XDECREF(((PyObject*)(py_return)));
5005
5006 return ret_val;
5007}
5008
5009PyObject *lldb_private::LLDBSwigPython_GetValueSynthProviderInstance(
5010 PyObject * implementor) {
5011 PyObject *ret_val = nullptr;
5012
5013 static char callee_name[] = "get_value";
5014
5015 PyObject *py_return =
5016 LLDBSwigPython_CallOptionalMember(implementor, callee_name, Py_None(&_Py_NoneStruct));
5017
5018 if (py_return == Py_None(&_Py_NoneStruct) || py_return == nullptr)
5019 ret_val = nullptr;
5020
5021 lldb::SBValue *sbvalue_ptr = NULL__null;
5022
5023 if (SWIG_ConvertPtr(py_return, (void **)&sbvalue_ptr,SWIG_Python_ConvertPtrAndOwn(py_return, (void **)&sbvalue_ptr
, swig_types[81], 0, 0)
5024 SWIGTYPE_p_lldb__SBValue, 0)SWIG_Python_ConvertPtrAndOwn(py_return, (void **)&sbvalue_ptr
, swig_types[81], 0, 0)
== -1)
5025 ret_val = nullptr;
5026 else if (sbvalue_ptr == NULL__null)
5027 ret_val = nullptr;
5028 else
5029 ret_val = py_return;
5030
5031 Py_XDECREF(py_return)_Py_XDECREF(((PyObject*)(py_return)));
5032 return ret_val;
5033}
5034
5035void *lldb_private::LLDBSWIGPython_CastPyObjectToSBData(PyObject * data) {
5036 lldb::SBData *sb_ptr = nullptr;
5037
5038 int valid_cast =
5039 SWIG_ConvertPtr(data, (void **)&sb_ptr, SWIGTYPE_p_lldb__SBData, 0)SWIG_Python_ConvertPtrAndOwn(data, (void **)&sb_ptr, swig_types
[20], 0, 0)
;
5040
5041 if (valid_cast == -1)
5042 return NULL__null;
5043
5044 return sb_ptr;
5045}
5046
5047void *lldb_private::LLDBSWIGPython_CastPyObjectToSBBreakpoint(PyObject * data) {
5048 lldb::SBBreakpoint *sb_ptr = nullptr;
5049
5050 int valid_cast =
5051 SWIG_ConvertPtr(data, (void **)&sb_ptr, SWIGTYPE_p_lldb__SBBreakpoint, 0)SWIG_Python_ConvertPtrAndOwn(data, (void **)&sb_ptr, swig_types
[10], 0, 0)
;
5052
5053 if (valid_cast == -1)
5054 return NULL__null;
5055
5056 return sb_ptr;
5057}
5058
5059void *lldb_private::LLDBSWIGPython_CastPyObjectToSBAttachInfo(PyObject * data) {
5060 lldb::SBAttachInfo *sb_ptr = nullptr;
5061
5062 int valid_cast =
5063 SWIG_ConvertPtr(data, (void **)&sb_ptr, SWIGTYPE_p_lldb__SBAttachInfo, 0)SWIG_Python_ConvertPtrAndOwn(data, (void **)&sb_ptr, swig_types
[8], 0, 0)
;
5064
5065 if (valid_cast == -1)
5066 return NULL__null;
5067
5068 return sb_ptr;
5069}
5070
5071void *lldb_private::LLDBSWIGPython_CastPyObjectToSBLaunchInfo(PyObject * data) {
5072 lldb::SBLaunchInfo *sb_ptr = nullptr;
5073
5074 int valid_cast =
5075 SWIG_ConvertPtr(data, (void **)&sb_ptr, SWIGTYPE_p_lldb__SBLaunchInfo, 0)SWIG_Python_ConvertPtrAndOwn(data, (void **)&sb_ptr, swig_types
[37], 0, 0)
;
5076
5077 if (valid_cast == -1)
5078 return NULL__null;
5079
5080 return sb_ptr;
5081}
5082
5083void *lldb_private::LLDBSWIGPython_CastPyObjectToSBError(PyObject * data) {
5084 lldb::SBError *sb_ptr = nullptr;
5085
5086 int valid_cast =
5087 SWIG_ConvertPtr(data, (void **)&sb_ptr, SWIGTYPE_p_lldb__SBError, 0)SWIG_Python_ConvertPtrAndOwn(data, (void **)&sb_ptr, swig_types
[24], 0, 0)
;
5088
5089 if (valid_cast == -1)
5090 return NULL__null;
5091
5092 return sb_ptr;
5093}
5094
5095void *lldb_private::LLDBSWIGPython_CastPyObjectToSBValue(PyObject * data) {
5096 lldb::SBValue *sb_ptr = NULL__null;
5097
5098 int valid_cast =
5099 SWIG_ConvertPtr(data, (void **)&sb_ptr, SWIGTYPE_p_lldb__SBValue, 0)SWIG_Python_ConvertPtrAndOwn(data, (void **)&sb_ptr, swig_types
[81], 0, 0)
;
5100
5101 if (valid_cast == -1)
5102 return NULL__null;
5103
5104 return sb_ptr;
5105}
5106
5107void *lldb_private::LLDBSWIGPython_CastPyObjectToSBMemoryRegionInfo(PyObject *
5108 data) {
5109 lldb::SBMemoryRegionInfo *sb_ptr = NULL__null;
5110
5111 int valid_cast = SWIG_ConvertPtr(data, (void **)&sb_ptr,SWIG_Python_ConvertPtrAndOwn(data, (void **)&sb_ptr, swig_types
[40], 0, 0)
5112 SWIGTYPE_p_lldb__SBMemoryRegionInfo, 0)SWIG_Python_ConvertPtrAndOwn(data, (void **)&sb_ptr, swig_types
[40], 0, 0)
;
5113
5114 if (valid_cast == -1)
5115 return NULL__null;
5116
5117 return sb_ptr;
5118}
5119
5120bool lldb_private::LLDBSwigPythonCallCommand(
5121 const char *python_function_name, const char *session_dictionary_name,
5122 lldb::DebuggerSP debugger, const char *args,
5123 lldb_private::CommandReturnObject &cmd_retobj,
5124 lldb::ExecutionContextRefSP exe_ctx_ref_sp) {
5125
5126 PyErr_Cleaner py_err_cleaner(true);
5127 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5128 session_dictionary_name);
5129 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5130 python_function_name, dict);
5131
5132 if (!pfunc.IsAllocated())
5133 return false;
5134
5135 auto argc = pfunc.GetArgInfo();
5136 if (!argc) {
5137 llvm::consumeError(argc.takeError());
5138 return false;
5139 }
5140 PythonObject debugger_arg = ToSWIGWrapper(std::move(debugger));
5141 auto cmd_retobj_arg = ToSWIGWrapper(cmd_retobj);
5142
5143 if (argc.get().max_positional_args < 5u)
5144 pfunc(debugger_arg, PythonString(args), cmd_retobj_arg.obj(), dict);
5145 else
5146 pfunc(debugger_arg, PythonString(args),
5147 ToSWIGWrapper(std::move(exe_ctx_ref_sp)), cmd_retobj_arg.obj(), dict);
5148
5149 return true;
5150}
5151
5152bool lldb_private::LLDBSwigPythonCallCommandObject(
5153 PyObject *implementor, lldb::DebuggerSP debugger, const char *args,
5154 lldb_private::CommandReturnObject &cmd_retobj,
5155 lldb::ExecutionContextRefSP exe_ctx_ref_sp) {
5156
5157 PyErr_Cleaner py_err_cleaner(true);
5158
5159 PythonObject self(PyRefType::Borrowed, implementor);
5160 auto pfunc = self.ResolveName<PythonCallable>("__call__");
5161
5162 if (!pfunc.IsAllocated())
5163 return false;
5164
5165 auto cmd_retobj_arg = ToSWIGWrapper(cmd_retobj);
5166
5167 pfunc(ToSWIGWrapper(std::move(debugger)), PythonString(args),
5168 ToSWIGWrapper(exe_ctx_ref_sp), cmd_retobj_arg.obj());
5169
5170 return true;
5171}
5172
5173PythonObject lldb_private::LLDBSWIGPythonCreateOSPlugin(
5174 const char *python_class_name, const char *session_dictionary_name,
5175 const lldb::ProcessSP &process_sp) {
5176 if (python_class_name == NULL__null || python_class_name[0] == '\0' ||
5177 !session_dictionary_name)
5178 return PythonObject();
5179
5180 PyErr_Cleaner py_err_cleaner(true);
5181
5182 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5183 session_dictionary_name);
5184 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5185 python_class_name, dict);
5186
5187 if (!pfunc.IsAllocated())
5188 return PythonObject();
5189
5190 return pfunc(ToSWIGWrapper(process_sp));
5191}
5192
5193PythonObject lldb_private::LLDBSWIGPython_CreateFrameRecognizer(
5194 const char *python_class_name, const char *session_dictionary_name) {
5195 if (python_class_name == NULL__null || python_class_name[0] == '\0' ||
5196 !session_dictionary_name)
5197 return PythonObject();
5198
5199 PyErr_Cleaner py_err_cleaner(true);
5200
5201 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5202 session_dictionary_name);
5203 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5204 python_class_name, dict);
5205
5206 if (!pfunc.IsAllocated())
5207 return PythonObject();
5208
5209 return pfunc();
5210}
5211
5212PyObject *lldb_private::LLDBSwigPython_GetRecognizedArguments(
5213 PyObject * implementor, const lldb::StackFrameSP &frame_sp) {
5214 static char callee_name[] = "get_recognized_arguments";
5215
5216 PythonObject arg = ToSWIGWrapper(frame_sp);
5217
5218 PythonString str(callee_name);
5219 PyObject *result =
5220 PyObject_CallMethodObjArgs(implementor, str.get(), arg.get(), NULL__null);
5221 return result;
5222}
5223
5224void *lldb_private::LLDBSWIGPython_GetDynamicSetting(
5225 void *module, const char *setting, const lldb::TargetSP &target_sp) {
5226 if (!module || !setting)
5227 Py_RETURN_NONEreturn _Py_INCREF(((PyObject*)((&_Py_NoneStruct)))), (&
_Py_NoneStruct)
;
5228
5229 PyErr_Cleaner py_err_cleaner(true);
5230 PythonObject py_module(PyRefType::Borrowed, (PyObject *)module);
5231 auto pfunc = py_module.ResolveName<PythonCallable>("get_dynamic_setting");
5232
5233 if (!pfunc.IsAllocated())
5234 Py_RETURN_NONEreturn _Py_INCREF(((PyObject*)((&_Py_NoneStruct)))), (&
_Py_NoneStruct)
;
5235
5236 auto result = pfunc(ToSWIGWrapper(target_sp), PythonString(setting));
5237
5238 return result.release();
5239}
5240
5241bool lldb_private::LLDBSWIGPythonRunScriptKeywordProcess(
5242 const char *python_function_name, const char *session_dictionary_name,
5243 const lldb::ProcessSP &process, std::string &output) {
5244
5245 if (python_function_name == NULL__null || python_function_name[0] == '\0' ||
5246 !session_dictionary_name)
5247 return false;
5248
5249 PyErr_Cleaner py_err_cleaner(true);
5250
5251 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5252 session_dictionary_name);
5253 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5254 python_function_name, dict);
5255
5256 if (!pfunc.IsAllocated())
5257 return false;
5258
5259 auto result = pfunc(ToSWIGWrapper(process), dict);
5260
5261 output = result.Str().GetString().str();
5262
5263 return true;
5264}
5265
5266std::optional<std::string> lldb_private::LLDBSWIGPythonRunScriptKeywordThread(
5267 const char *python_function_name, const char *session_dictionary_name,
5268 lldb::ThreadSP thread) {
5269 if (python_function_name == NULL__null || python_function_name[0] == '\0' ||
5270 !session_dictionary_name)
5271 return std::nullopt;
5272
5273 PyErr_Cleaner py_err_cleaner(true);
5274
5275 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5276 session_dictionary_name);
5277 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5278 python_function_name, dict);
5279
5280 if (!pfunc.IsAllocated())
5281 return std::nullopt;
5282
5283 auto result = pfunc(ToSWIGWrapper(std::move(thread)), dict);
5284
5285 return result.Str().GetString().str();
5286}
5287
5288bool lldb_private::LLDBSWIGPythonRunScriptKeywordTarget(
5289 const char *python_function_name, const char *session_dictionary_name,
5290 const lldb::TargetSP &target, std::string &output) {
5291
5292 if (python_function_name == NULL__null || python_function_name[0] == '\0' ||
5293 !session_dictionary_name)
5294 return false;
5295
5296 PyErr_Cleaner py_err_cleaner(true);
5297
5298 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5299 session_dictionary_name);
5300 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5301 python_function_name, dict);
5302
5303 if (!pfunc.IsAllocated())
5304 return false;
5305
5306 auto result = pfunc(ToSWIGWrapper(target), dict);
5307
5308 output = result.Str().GetString().str();
5309
5310 return true;
5311}
5312
5313std::optional<std::string> lldb_private::LLDBSWIGPythonRunScriptKeywordFrame(
5314 const char *python_function_name, const char *session_dictionary_name,
5315 lldb::StackFrameSP frame) {
5316 if (python_function_name == NULL__null || python_function_name[0] == '\0' ||
5317 !session_dictionary_name)
5318 return std::nullopt;
5319
5320 PyErr_Cleaner py_err_cleaner(true);
5321
5322 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5323 session_dictionary_name);
5324 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5325 python_function_name, dict);
5326
5327 if (!pfunc.IsAllocated())
5328 return std::nullopt;
5329
5330 auto result = pfunc(ToSWIGWrapper(std::move(frame)), dict);
5331
5332 return result.Str().GetString().str();
5333}
5334
5335bool lldb_private::LLDBSWIGPythonRunScriptKeywordValue(
5336 const char *python_function_name, const char *session_dictionary_name,
5337 const lldb::ValueObjectSP &value, std::string &output) {
5338
5339 if (python_function_name == NULL__null || python_function_name[0] == '\0' ||
5340 !session_dictionary_name)
5341 return false;
5342
5343 PyErr_Cleaner py_err_cleaner(true);
5344
5345 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5346 session_dictionary_name);
5347 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5348 python_function_name, dict);
5349
5350 if (!pfunc.IsAllocated())
5351 return false;
5352
5353 auto result = pfunc(ToSWIGWrapper(value), dict);
5354
5355 output = result.Str().GetString().str();
5356
5357 return true;
5358}
5359
5360bool lldb_private::LLDBSwigPythonCallModuleInit(
5361 const char *python_module_name, const char *session_dictionary_name,
5362 lldb::DebuggerSP debugger) {
5363 std::string python_function_name_string = python_module_name;
5364 python_function_name_string += ".__lldb_init_module";
5365 const char *python_function_name = python_function_name_string.c_str();
5366
5367 PyErr_Cleaner py_err_cleaner(true);
5368
5369 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5370 session_dictionary_name);
5371 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5372 python_function_name, dict);
5373
5374 // This method is optional and need not exist. So if we don't find it,
5375 // it's actually a success, not a failure.
5376 if (!pfunc.IsAllocated())
5377 return true;
5378
5379 pfunc(ToSWIGWrapper(std::move(debugger)), dict);
5380
5381 return true;
5382}
5383
5384lldb::ValueObjectSP lldb_private::LLDBSWIGPython_GetValueObjectSPFromSBValue(
5385 void *data) {
5386 lldb::ValueObjectSP valobj_sp;
5387 if (data) {
5388 lldb::SBValue *sb_ptr = (lldb::SBValue *)data;
5389 valobj_sp = sb_ptr->GetSP();
5390 }
5391 return valobj_sp;
5392}
5393
5394// For the LogOutputCallback functions
5395static void LLDBSwigPythonCallPythonLogOutputCallback(const char *str,
5396 void *baton) {
5397 if (baton != Py_None(&_Py_NoneStruct)) {
5398 SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block;
5399 PyObject *result = PyObject_CallFunction(
5400 reinterpret_cast<PyObject *>(baton), const_cast<char *>("s"), str);
5401 Py_XDECREF(result)_Py_XDECREF(((PyObject*)(result)));
5402 SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end();
5403 }
5404}
5405
5406// For DebuggerTerminateCallback functions
5407static void LLDBSwigPythonCallPythonSBDebuggerTerminateCallback(lldb::user_id_t debugger_id,
5408 void *baton) {
5409 if (baton != Py_None(&_Py_NoneStruct)) {
5410 SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block;
5411 PyObject *result = PyObject_CallFunction(
5412 reinterpret_cast<PyObject *>(baton), const_cast<char *>("l"), debugger_id);
5413 Py_XDECREF(result)_Py_XDECREF(((PyObject*)(result)));
5414 SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end();
5415 }
5416}
5417
5418#ifdef __cplusplus201703L
5419extern "C" {
5420#endif
5421SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_new_SBAddress__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) {
5422 PyObject *resultobj = 0;
5423 lldb::SBAddress *result = 0 ;
5424
5425 if ((nobjs < 0) || (nobjs > 0)) SWIG_failgoto fail;
5426 {
5427 SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow;
5428 result = (lldb::SBAddress *)new lldb::SBAddress();
5429 SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end();
5430 }
5431 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_lldb__SBAddress, SWIG_POINTER_NEW | 0 )SWIG_Python_NewPointerObj(__null, const_cast< void * >(
static_cast< const void * >(result)), swig_types[7], ((
0x1 << 1) | 0x1) | 0)
;
5432 return resultobj;
5433fail:
5434 return NULL__null;
5435}
5436
5437
5438SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_new_SBAddress__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) {
5439 PyObject *resultobj = 0;
5440 lldb::SBAddress *arg1 = 0 ;
5441 void *argp1 = 0 ;
5442 int res1 = 0 ;
5443 lldb::SBAddress *result = 0 ;
5444
5445 if ((nobjs < 1) || (nobjs > 1)) SWIG_failgoto fail;
5446 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1, SWIGTYPE_p_lldb__SBAddress, 0 | 0)SWIG_Python_ConvertPtrAndOwn(swig_obj[0], &argp1, swig_types
[7], 0 | 0, 0)
;
5447 if (!SWIG_IsOK(res1)(res1 >= 0)) {
5448 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_SBAddress" "', argument " "1"" of type '" "lldb::SBAddress const &""'")do { SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(((res1 != (
-1)) ? res1 : -5)), "in method '" "new_SBAddress" "', argument "
"1"" of type '" "lldb::SBAddress const &""'"); goto fail
; } while(0)
;
5449 }
5450 if (!argp1) {
5451 SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_SBAddress" "', argument " "1"" of type '" "lldb::SBAddress const &""'")do { SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(-9), "invalid null reference "
"in method '" "new_SBAddress" "', argument " "1"" of type '"
"lldb::SBAddress const &""'"); goto fail; } while(0)
;
5452 }
5453 arg1 = reinterpret_cast< lldb::SBAddress * >(argp1);
5454 {
5455 SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow;
5456 result = (lldb::SBAddress *)new lldb::SBAddress((lldb::SBAddress const &)*arg1);
5457 SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end();
5458 }
5459 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_lldb__SBAddress, SWIG_POINTER_NEW | 0 )SWIG_Python_NewPointerObj(__null, const_cast< void * >(
static_cast< const void * >(result)), swig_types[7], ((
0x1 << 1) | 0x1) | 0)
;
5460 return resultobj;
5461fail:
5462 return NULL__null;
5463}
5464
5465
5466SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_new_SBAddress__SWIG_2(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) {
5467 PyObject *resultobj = 0;
5468 lldb::SBSection arg1 ;
5469 lldb::addr_t arg2 ;
5470 void *argp1 ;
5471 int res1 = 0 ;
5472 unsigned long long val2 ;
5473 int ecode2 = 0 ;
5474 lldb::SBAddress *result = 0 ;
5475
5476 if ((nobjs < 2) || (nobjs > 2)) SWIG_failgoto fail;
5477 {
5478 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1, SWIGTYPE_p_lldb__SBSection, 0 | 0)SWIG_Python_ConvertPtrAndOwn(swig_obj[0], &argp1, swig_types
[53], 0 | 0, 0)
;
5479 if (!SWIG_IsOK(res1)(res1 >= 0)) {
5480 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_SBAddress" "', argument " "1"" of type '" "lldb::SBSection""'")do { SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(((res1 != (
-1)) ? res1 : -5)), "in method '" "new_SBAddress" "', argument "
"1"" of type '" "lldb::SBSection""'"); goto fail; } while(0)
;
5481 }
5482 if (!argp1) {
5483 SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_SBAddress" "', argument " "1"" of type '" "lldb::SBSection""'")do { SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(-9), "invalid null reference "
"in method '" "new_SBAddress" "', argument " "1"" of type '"
"lldb::SBSection""'"); goto fail; } while(0)
;
5484 } else {
5485 lldb::SBSection * temp = reinterpret_cast< lldb::SBSection * >(argp1);
5486 arg1 = *temp;
5487 if (SWIG_IsNewObj(res1)((res1 >= 0) && (res1 & ((1 << 8) <<
1)))
) delete temp;
5488 }
5489 }
5490 ecode2 = SWIG_AsVal_unsigned_SS_long_SS_long(swig_obj[1], &val2);
5491 if (!SWIG_IsOK(ecode2)(ecode2 >= 0)) {
5492 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_SBAddress" "', argument " "2"" of type '" "lldb::addr_t""'")do { SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(((ecode2 !=
(-1)) ? ecode2 : -5)), "in method '" "new_SBAddress" "', argument "
"2"" of type '" "lldb::addr_t""'"); goto fail; } while(0)
;
5493 }
5494 arg2 = static_cast< lldb::addr_t >(val2);
5495 {
5496 SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow;
5497 result = (lldb::SBAddress *)new lldb::SBAddress(arg1,arg2);
5498 SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end();
5499 }
5500 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_lldb__SBAddress, SWIG_POINTER_NEW | 0 )SWIG_Python_NewPointerObj(__null, const_cast< void * >(
static_cast< const void * >(result)), swig_types[7], ((
0x1 << 1) | 0x1) | 0)
;
5501 return resultobj;
5502fail:
5503 return NULL__null;
5504}
5505
5506
5507SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_new_SBAddress__SWIG_3(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) {
5508 PyObject *resultobj = 0;
5509 lldb::addr_t arg1 ;
5510 lldb::SBTarget *arg2 = 0 ;
5511 unsigned long long val1 ;
5512 int ecode1 = 0 ;
5513 void *argp2 = 0 ;
5514 int res2 = 0 ;
5515 lldb::SBAddress *result = 0 ;
5516
5517 if ((nobjs < 2) || (nobjs > 2)) SWIG_failgoto fail;
5518 ecode1 = SWIG_AsVal_unsigned_SS_long_SS_long(swig_obj[0], &val1);
5519 if (!SWIG_IsOK(ecode1)(ecode1 >= 0)) {
5520 SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_SBAddress" "', argument " "1"" of type '" "lldb::addr_t""'")do { SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(((ecode1 !=
(-1)) ? ecode1 : -5)), "in method '" "new_SBAddress" "', argument "
"1"" of type '" "lldb::addr_t""'"); goto fail; } while(0)
;
5521 }
5522 arg1 = static_cast< lldb::addr_t >(val1);
5523 res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_lldb__SBTarget, 0 )SWIG_Python_ConvertPtrAndOwn(swig_obj[1], &argp2, swig_types
[61], 0, 0)
;
5524 if (!SWIG_IsOK(res2)(res2 >= 0)) {
5525 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_SBAddress" "', argument " "2"" of type '" "lldb::SBTarget &""'")do { SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(((res2 != (
-1)) ? res2 : -5)), "in method '" "new_SBAddress" "', argument "
"2"" of type '" "lldb::SBTarget &""'"); goto fail; } while
(0)
;
5526 }
5527 if (!argp2) {
5528 SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_SBAddress" "', argument " "2"" of type '" "lldb::SBTarget &""'")do { SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(-9), "invalid null reference "
"in method '" "new_SBAddress" "', argument " "2"" of type '"
"lldb::SBTarget &""'"); goto fail; } while(0)
;
5529 }
5530 arg2 = reinterpret_cast< lldb::SBTarget * >(argp2);
5531 {
5532 SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow;
5533 result = (lldb::SBAddress *)new lldb::SBAddress(arg1,*arg2);
5534 SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end();
5535 }
5536 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_lldb__SBAddress, SWIG_POINTER_NEW | 0 )SWIG_Python_NewPointerObj(__null, const_cast< void * >(
static_cast< const void * >(result)), swig_types[7], ((
0x1 << 1) | 0x1) | 0)
;
5537 return resultobj;
5538fail:
5539 return NULL__null;
5540}
5541
5542
5543SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_new_SBAddress(PyObject *self, PyObject *args) {
5544 Py_ssize_t argc;
5545 PyObject *argv[3] = {
5546 0
5547 };
5548
5549 if (!(argc = SWIG_Python_UnpackTuple(args, "new_SBAddress", 0, 2, argv))) SWIG_failgoto fail;
5550 --argc;
5551 if (argc == 0) {
5552 return _wrap_new_SBAddress__SWIG_0(self, argc, argv);
5553 }
5554 if (argc == 1) {
5555 int _v;
5556 int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_lldb__SBAddress, SWIG_POINTER_NO_NULL | 0)SWIG_Python_ConvertPtrAndOwn(argv[0], 0, swig_types[7], 0x4 |
0, 0)
;
5557 _v = SWIG_CheckState(res)((res >= 0) ? 1 : 0);
5558 if (_v) {
5559 return _wrap_new_SBAddress__SWIG_1(self, argc, argv);
5560 }
5561 }
5562 if (argc == 2) {
5563 int _v;
5564 int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_lldb__SBSection, SWIG_POINTER_NO_NULL | 0)SWIG_Python_ConvertPtrAndOwn(argv[0], 0, swig_types[53], 0x4 |
0, 0)
;
5565 _v = SWIG_CheckState(res)((res >= 0) ? 1 : 0);
5566 if (_v) {
5567 {
5568 int res = SWIG_AsVal_unsigned_SS_long_SS_long(argv[1], NULL__null);
5569 _v = SWIG_CheckState(res)((res >= 0) ? 1 : 0);
5570 }
5571 if (_v) {
5572 return _wrap_new_SBAddress__SWIG_2(self, argc, argv);
5573 }
5574 }
5575 }
5576 if (argc == 2) {
5577 int _v;
5578 {
5579 int res = SWIG_AsVal_unsigned_SS_long_SS_long(argv[0], NULL__null);
5580 _v = SWIG_CheckState(res)((res >= 0) ? 1 : 0);
5581 }
5582 if (_v) {
5583 void *vptr = 0;
5584 int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_lldb__SBTarget, SWIG_POINTER_NO_NULL)SWIG_Python_ConvertPtrAndOwn(argv[1], &vptr, swig_types[61
], 0x4, 0)
;
5585 _v = SWIG_CheckState(res)((res >= 0) ? 1 : 0);
5586 if (_v) {
5587 return _wrap_new_SBAddress__SWIG_3(self, argc, argv);
5588 }
5589 }
5590 }
5591
5592fail:
5593 SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_SBAddress'.\n"
5594 " Possible C/C++ prototypes are:\n"
5595 " lldb::SBAddress::SBAddress()\n"
5596 " lldb::SBAddress::SBAddress(lldb::SBAddress const &)\n"
5597 " lldb::SBAddress::SBAddress(lldb::SBSection,lldb::addr_t)\n"
5598 " lldb::SBAddress::SBAddress(lldb::addr_t,lldb::SBTarget &)\n");
5599 return 0;
5600}
5601
5602
5603SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_delete_SBAddress(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5604 PyObject *resultobj = 0;
5605 lldb::SBAddress *arg1 = (lldb::SBAddress *) 0 ;
5606 void *argp1 = 0 ;
5607 int res1 = 0 ;
5608 PyObject *swig_obj[1] ;
5609
5610 if (!args) SWIG_failgoto fail;
5611 swig_obj[0] = args;
5612 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_lldb__SBAddress, SWIG_POINTER_DISOWN | 0 )SWIG_Python_ConvertPtrAndOwn(swig_obj[0], &argp1, swig_types
[7], 0x1 | 0, 0)
;
5613 if (!SWIG_IsOK(res1)(res1 >= 0)) {
5614 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_SBAddress" "', argument " "1"" of type '" "lldb::SBAddress *""'")do { SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(((res1 != (
-1)) ? res1 : -5)), "in method '" "delete_SBAddress" "', argument "
"1"" of type '" "lldb::SBAddress *""'"); goto fail; } while(
0)
;
5615 }
5616 arg1 = reinterpret_cast< lldb::SBAddress * >(argp1);
5617 {
5618 SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow;
5619 delete arg1;
5620 SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end();
5621 }
5622 resultobj = SWIG_Py_Void();
5623 return resultobj;
5624fail:
5625 return NULL__null;
5626}
5627
5628
5629SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_SBAddress___nonzero__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5630 PyObject *resultobj = 0;
5631 lldb::SBAddress *arg1 = (lldb::SBAddress *) 0 ;
5632 void *argp1 = 0 ;
5633 int res1 = 0 ;
5634 PyObject *swig_obj[1] ;
5635 bool result;
5636
5637 if (!args) SWIG_failgoto fail;
5638 swig_obj[0] = args;
5639 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_lldb__SBAddress, 0 | 0 )SWIG_Python_ConvertPtrAndOwn(swig_obj[0], &argp1, swig_types
[7], 0 | 0, 0)
;
5640 if (!SWIG_IsOK(res1)(res1 >= 0)) {
5641 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SBAddress___nonzero__" "', argument " "1"" of type '" "lldb::SBAddress const *""'")do { SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(((res1 != (
-1)) ? res1 : -5)), "in method '" "SBAddress___nonzero__" "', argument "
"1"" of type '" "lldb::SBAddress const *""'"); goto fail; } while
(0)
;
5642 }
5643 arg1 = reinterpret_cast< lldb::SBAddress * >(argp1);
5644 {
5645 SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow;
5646 result = (bool)((lldb::SBAddress const *)arg1)->operator bool();
5647 SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end();
5648 }
5649 resultobj = SWIG_From_bool(static_cast< bool >(result));
5650 return resultobj;
5651fail:
5652 return NULL__null;
5653}
5654
5655
5656SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_SBAddress___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5657 PyObject *resultobj = 0;
5658 lldb::SBAddress *arg1 = (lldb::SBAddress *) 0 ;
5659 lldb::SBAddress *arg2 = 0 ;
5660 void *argp1 = 0 ;
5661 int res1 = 0 ;
5662 void *argp2 = 0 ;
5663 int res2 = 0 ;
5664 PyObject *swig_obj[2] ;
5665 bool result;
5666
5667 if (!SWIG_Python_UnpackTuple(args, "SBAddress___ne__", 2, 2, swig_obj)) SWIG_failgoto fail;
5668 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_lldb__SBAddress, 0 | 0 )SWIG_Python_ConvertPtrAndOwn(swig_obj[0], &argp1, swig_types
[7], 0 | 0, 0)
;
5669 if (!SWIG_IsOK(res1)(res1 >= 0)) {
5670 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SBAddress___ne__" "', argument " "1"" of type '" "lldb::SBAddress const *""'")do { SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(((res1 != (
-1)) ? res1 : -5)), "in method '" "SBAddress___ne__" "', argument "
"1"" of type '" "lldb::SBAddress const *""'"); goto fail; } while
(0)
;
5671 }
5672 arg1 = reinterpret_cast< lldb::SBAddress * >(argp1);
5673 res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_lldb__SBAddress, 0 | 0)SWIG_Python_ConvertPtrAndOwn(swig_obj[1], &argp2, swig_types
[7], 0 | 0, 0)
;
5674 if (!SWIG_IsOK(res2)(res2 >= 0)) {
5675 SWIG_excep