Bug Summary

File:build/source/build-llvm/tools/clang/stage2-bins/tools/lldb/bindings/python/LLDBWrapPython.cpp
Warning:line 55907, column 5
Attempt to free released memory

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-16/lib/clang/16 -isystem /usr/include/libxml2 -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 HAVE_ROUND -D LLDB_IN_LIBLLDB -D _DEBUG -D _GNU_SOURCE -D __STDC_CONSTANT_MACROS -D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -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-16/lib/clang/16/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 1670278128 -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-2022-12-06-005535-15974-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)
2107 return SWIG_ERROR(-1);
2108 if (obj == Py_None(&_Py_NoneStruct) && !implicit_conv) {
2109 if (ptr)
2110 *ptr = 0;
2111 return (flags & SWIG_POINTER_NO_NULL0x4) ? SWIG_NullReferenceError-13 : SWIG_OK(0);
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__Process_tswig_types[137] swig_types[137]
2831#define SWIGTYPE_p_std__shared_ptrT_lldb_private__QueueItem_tswig_types[138] swig_types[138]
2832#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Queue_tswig_types[139] swig_types[139]
2833#define SWIGTYPE_p_std__shared_ptrT_lldb_private__REPL_tswig_types[140] swig_types[140]
2834#define SWIGTYPE_p_std__shared_ptrT_lldb_private__RecognizedStackFrame_tswig_types[141] swig_types[141]
2835#define SWIGTYPE_p_std__shared_ptrT_lldb_private__RegisterCheckpoint_tswig_types[142] swig_types[142]
2836#define SWIGTYPE_p_std__shared_ptrT_lldb_private__RegisterContext_tswig_types[143] swig_types[143]
2837#define SWIGTYPE_p_std__shared_ptrT_lldb_private__RegularExpression_tswig_types[144] swig_types[144]
2838#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ScriptInterpreter_tswig_types[145] swig_types[145]
2839#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ScriptSummaryFormat_tswig_types[146] swig_types[146]
2840#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ScriptedSyntheticChildren_tswig_types[147] swig_types[147]
2841#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ScriptedThreadInterface_tswig_types[148] swig_types[148]
2842#define SWIGTYPE_p_std__shared_ptrT_lldb_private__SearchFilter_tswig_types[149] swig_types[149]
2843#define SWIGTYPE_p_std__shared_ptrT_lldb_private__SectionLoadList_tswig_types[150] swig_types[150]
2844#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Section_tswig_types[151] swig_types[151]
2845#define SWIGTYPE_p_std__shared_ptrT_lldb_private__StackFrameList_tswig_types[152] swig_types[152]
2846#define SWIGTYPE_p_std__shared_ptrT_lldb_private__StackFrameRecognizer_tswig_types[153] swig_types[153]
2847#define SWIGTYPE_p_std__shared_ptrT_lldb_private__StackFrame_tswig_types[154] swig_types[154]
2848#define SWIGTYPE_p_std__shared_ptrT_lldb_private__StopInfo_tswig_types[155] swig_types[155]
2849#define SWIGTYPE_p_std__shared_ptrT_lldb_private__StreamFile_tswig_types[156] swig_types[156]
2850#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Stream_tswig_types[157] swig_types[157]
2851#define SWIGTYPE_p_std__shared_ptrT_lldb_private__StringSummaryFormat_tswig_types[158] swig_types[158]
2852#define SWIGTYPE_p_std__shared_ptrT_lldb_private__StructuredDataPlugin_tswig_types[159] swig_types[159]
2853#define SWIGTYPE_p_std__shared_ptrT_lldb_private__SymbolContextSpecifier_tswig_types[160] swig_types[160]
2854#define SWIGTYPE_p_std__shared_ptrT_lldb_private__SymbolFileType_tswig_types[161] swig_types[161]
2855#define SWIGTYPE_p_std__shared_ptrT_lldb_private__SyntheticChildrenFrontEnd_tswig_types[162] swig_types[162]
2856#define SWIGTYPE_p_std__shared_ptrT_lldb_private__SyntheticChildren_tswig_types[163] swig_types[163]
2857#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Target_tswig_types[164] swig_types[164]
2858#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ThreadCollection_tswig_types[165] swig_types[165]
2859#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ThreadPlanTracer_tswig_types[166] swig_types[166]
2860#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ThreadPlan_tswig_types[167] swig_types[167]
2861#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ThreadPostMortemTrace_tswig_types[168] swig_types[168]
2862#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Thread_tswig_types[169] swig_types[169]
2863#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TraceCursor_tswig_types[170] swig_types[170]
2864#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Trace_tswig_types[171] swig_types[171]
2865#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeCategoryImpl_tswig_types[172] swig_types[172]
2866#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeEnumMemberImpl_tswig_types[173] swig_types[173]
2867#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeFilterImpl_tswig_types[174] swig_types[174]
2868#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeFormatImpl_tswig_types[175] swig_types[175]
2869#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeImpl_tswig_types[176] swig_types[176]
2870#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeMemberFunctionImpl_tswig_types[177] swig_types[177]
2871#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeNameSpecifierImpl_tswig_types[178] swig_types[178]
2872#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeSummaryImpl_tswig_types[179] swig_types[179]
2873#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeSummaryOptions_tswig_types[180] swig_types[180]
2874#define SWIGTYPE_p_std__shared_ptrT_lldb_private__TypeSystem_tswig_types[181] swig_types[181]
2875#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Type_tswig_types[182] swig_types[182]
2876#define SWIGTYPE_p_std__shared_ptrT_lldb_private__UnixSignals_tswig_types[183] swig_types[183]
2877#define SWIGTYPE_p_std__shared_ptrT_lldb_private__UnwindAssembly_tswig_types[184] swig_types[184]
2878#define SWIGTYPE_p_std__shared_ptrT_lldb_private__UnwindPlan_tswig_types[185] swig_types[185]
2879#define SWIGTYPE_p_std__shared_ptrT_lldb_private__UserExpression_tswig_types[186] swig_types[186]
2880#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ValueObjectList_tswig_types[187] swig_types[187]
2881#define SWIGTYPE_p_std__shared_ptrT_lldb_private__ValueObject_tswig_types[188] swig_types[188]
2882#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Value_tswig_types[189] swig_types[189]
2883#define SWIGTYPE_p_std__shared_ptrT_lldb_private__VariableList_tswig_types[190] swig_types[190]
2884#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Variable_tswig_types[191] swig_types[191]
2885#define SWIGTYPE_p_std__shared_ptrT_lldb_private__Watchpoint_tswig_types[192] swig_types[192]
2886#define SWIGTYPE_p_std__shared_ptrT_lldb_private__WritableDataBuffer_tswig_types[193] swig_types[193]
2887#define SWIGTYPE_p_std__unique_ptrT_lldb_private__DynamicCheckerFunctions_tswig_types[194] swig_types[194]
2888#define SWIGTYPE_p_std__unique_ptrT_lldb_private__DynamicLoader_tswig_types[195] swig_types[195]
2889#define SWIGTYPE_p_std__unique_ptrT_lldb_private__File_tswig_types[196] swig_types[196]
2890#define SWIGTYPE_p_std__unique_ptrT_lldb_private__JITLoaderList_tswig_types[197] swig_types[197]
2891#define SWIGTYPE_p_std__unique_ptrT_lldb_private__MemoryRegionInfo_tswig_types[198] swig_types[198]
2892#define SWIGTYPE_p_std__unique_ptrT_lldb_private__OperatingSystem_tswig_types[199] swig_types[199]
2893#define SWIGTYPE_p_std__unique_ptrT_lldb_private__ScriptedProcessInterface_tswig_types[200] swig_types[200]
2894#define SWIGTYPE_p_std__unique_ptrT_lldb_private__SectionList_tswig_types[201] swig_types[201]
2895#define SWIGTYPE_p_std__unique_ptrT_lldb_private__SourceManager_tswig_types[202] swig_types[202]
2896#define SWIGTYPE_p_std__unique_ptrT_lldb_private__StackFrameRecognizerManager_tswig_types[203] swig_types[203]
2897#define SWIGTYPE_p_std__unique_ptrT_lldb_private__StructuredDataImpl_tswig_types[204] swig_types[204]
2898#define SWIGTYPE_p_std__unique_ptrT_lldb_private__SymbolVendor_tswig_types[205] swig_types[205]
2899#define SWIGTYPE_p_std__unique_ptrT_lldb_private__SystemRuntime_tswig_types[206] swig_types[206]
2900#define SWIGTYPE_p_std__unique_ptrT_lldb_private__TraceExporter_tswig_types[207] swig_types[207]
2901#define SWIGTYPE_p_std__weak_ptrT_lldb_private__BreakpointLocation_tswig_types[208] swig_types[208]
2902#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Breakpoint_tswig_types[209] swig_types[209]
2903#define SWIGTYPE_p_std__weak_ptrT_lldb_private__BroadcasterManager_tswig_types[210] swig_types[210]
2904#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Debugger_tswig_types[211] swig_types[211]
2905#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Listener_tswig_types[212] swig_types[212]
2906#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Module_tswig_types[213] swig_types[213]
2907#define SWIGTYPE_p_std__weak_ptrT_lldb_private__ObjectFileJITDelegate_tswig_types[214] swig_types[214]
2908#define SWIGTYPE_p_std__weak_ptrT_lldb_private__OptionValue_tswig_types[215] swig_types[215]
2909#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Process_tswig_types[216] swig_types[216]
2910#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Queue_tswig_types[217] swig_types[217]
2911#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Section_tswig_types[218] swig_types[218]
2912#define SWIGTYPE_p_std__weak_ptrT_lldb_private__StackFrame_tswig_types[219] swig_types[219]
2913#define SWIGTYPE_p_std__weak_ptrT_lldb_private__StructuredDataPlugin_tswig_types[220] swig_types[220]
2914#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Target_tswig_types[221] swig_types[221]
2915#define SWIGTYPE_p_std__weak_ptrT_lldb_private__ThreadPlan_tswig_types[222] swig_types[222]
2916#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Thread_tswig_types[223] swig_types[223]
2917#define SWIGTYPE_p_std__weak_ptrT_lldb_private__TypeSystem_tswig_types[224] swig_types[224]
2918#define SWIGTYPE_p_std__weak_ptrT_lldb_private__Type_tswig_types[225] swig_types[225]
2919#define SWIGTYPE_p_std__weak_ptrT_lldb_private__UnixSignals_tswig_types[226] swig_types[226]
2920#define SWIGTYPE_p_unsigned_charswig_types[227] swig_types[227]
2921#define SWIGTYPE_p_unsigned_intswig_types[228] swig_types[228]
2922#define SWIGTYPE_p_unsigned_long_longswig_types[229] swig_types[229]
2923#define SWIGTYPE_p_unsigned_shortswig_types[230] swig_types[230]
2924#define SWIGTYPE_p_voidswig_types[231] swig_types[231]
2925static swig_type_info *swig_types[233];
2926static swig_module_info swig_module = {swig_types, 232, 0, 0, 0, 0};
2927#define SWIG_TypeQuerySWIG_Python_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
2928#define SWIG_MangledTypeQuery(name)SWIG_MangledTypeQueryModule(&swig_module, &swig_module
, name)
SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
2929
2930/* -------- TYPES TABLE (END) -------- */
2931
2932#ifdef SWIG_TypeQuerySWIG_Python_TypeQuery
2933# undef SWIG_TypeQuerySWIG_Python_TypeQuery
2934#endif
2935#define SWIG_TypeQuerySWIG_Python_TypeQuery SWIG_Python_TypeQuery
2936
2937/*-----------------------------------------------
2938 @(target):= _lldb.so
2939 ------------------------------------------------*/
2940#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000
2941# define SWIG_initPyInit__lldb PyInit__lldb
2942
2943#else
2944# define SWIG_initPyInit__lldb init_lldb
2945
2946#endif
2947#define SWIG_name"_lldb" "_lldb"
2948
2949#define SWIGVERSION0x040002 0x040002
2950#define SWIG_VERSION0x040002 SWIGVERSION0x040002
2951
2952
2953#define SWIG_as_voidptr(a)const_cast< void * >(static_cast< const void * >(
a))
const_cast< void * >(static_cast< const void * >(a))
2954#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))
2955
2956
2957#include <stdexcept>
2958
2959
2960namespace swig {
2961 class SwigPtr_PyObject {
2962 protected:
2963 PyObject *_obj;
2964
2965 public:
2966 SwigPtr_PyObject() :_obj(0)
2967 {
2968 }
2969
2970 SwigPtr_PyObject(const SwigPtr_PyObject& item) : _obj(item._obj)
2971 {
2972 SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block;
2973 Py_XINCREF(_obj)_Py_XINCREF(((PyObject*)(_obj)));
2974 SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end();
2975 }
2976
2977 SwigPtr_PyObject(PyObject *obj, bool initial_ref = true) :_obj(obj)
2978 {
2979 if (initial_ref) {
2980 SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block;
2981 Py_XINCREF(_obj)_Py_XINCREF(((PyObject*)(_obj)));
2982 SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end();
2983 }
2984 }
2985
2986 SwigPtr_PyObject & operator=(const SwigPtr_PyObject& item)
2987 {
2988 SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block;
2989 Py_XINCREF(item._obj)_Py_XINCREF(((PyObject*)(item._obj)));
2990 Py_XDECREF(_obj)_Py_XDECREF(((PyObject*)(_obj)));
2991 _obj = item._obj;
2992 SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end();
2993 return *this;
2994 }
2995
2996 ~SwigPtr_PyObject()
2997 {
2998 SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block;
2999 Py_XDECREF(_obj)_Py_XDECREF(((PyObject*)(_obj)));
3000 SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end();
3001 }
3002
3003 operator PyObject *() const
3004 {
3005 return _obj;
3006 }
3007
3008 PyObject *operator->() const
3009 {
3010 return _obj;
3011 }
3012 };
3013}
3014
3015
3016namespace swig {
3017 struct SwigVar_PyObject : SwigPtr_PyObject {
3018 SwigVar_PyObject(PyObject* obj = 0) : SwigPtr_PyObject(obj, false) { }
3019
3020 SwigVar_PyObject & operator = (PyObject* obj)
3021 {
3022 Py_XDECREF(_obj)_Py_XDECREF(((PyObject*)(_obj)));
3023 _obj = obj;
3024 return *this;
3025 }
3026 };
3027}
3028
3029
3030#include <string>
3031
3032
3033
3034#include "../bindings/python/python-typemaps.h"
3035
3036
3037
3038namespace {
3039template <class T>
3040T PyLongAsT(PyObject *obj) {
3041 static_assert(true, "unsupported type");
3042}
3043
3044template <> uint64_t PyLongAsT<uint64_t>(PyObject *obj) {
3045 return static_cast<uint64_t>(PyLong_AsUnsignedLongLong(obj));
3046}
3047
3048template <> uint32_t PyLongAsT<uint32_t>(PyObject *obj) {
3049 return static_cast<uint32_t>(PyLong_AsUnsignedLong(obj));
3050}
3051
3052template <> int64_t PyLongAsT<int64_t>(PyObject *obj) {
3053 return static_cast<int64_t>(PyLong_AsLongLong(obj));
3054}
3055
3056template <> int32_t PyLongAsT<int32_t>(PyObject *obj) {
3057 return static_cast<int32_t>(PyLong_AsLong(obj));
3058}
3059
3060template <class T> bool SetNumberFromPyObject(T &number, PyObject *obj) {
3061 if (PyInt_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
)
3062 number = static_cast<T>(PyInt_AsLong(obj)PyLong_AsLong(obj));
3063 else if (PyLong_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
)
3064 number = PyLongAsT<T>(obj);
3065 else
3066 return false;
3067
3068 return true;
3069}
3070
3071template <> bool SetNumberFromPyObject<double>(double &number, PyObject *obj) {
3072 if (PyFloat_Check(obj)(_Py_IS_TYPE(((const PyObject*)(obj)), &PyFloat_Type) || PyType_IsSubtype
((((PyObject*)(obj))->ob_type), (&PyFloat_Type)))
) {
3073 number = PyFloat_AsDouble(obj);
3074 return true;
3075 }
3076
3077 return false;
3078}
3079
3080} // namespace
3081
3082
3083#include <algorithm>
3084#include <string>
3085
3086
3087#include "lldb/lldb-public.h"
3088#include "lldb/API/SBAddress.h"
3089#include "lldb/API/SBAttachInfo.h"
3090#include "lldb/API/SBBlock.h"
3091#include "lldb/API/SBBreakpoint.h"
3092#include "lldb/API/SBBreakpointLocation.h"
3093#include "lldb/API/SBBreakpointName.h"
3094#include "lldb/API/SBBroadcaster.h"
3095#include "lldb/API/SBCommandInterpreter.h"
3096#include "lldb/API/SBCommandInterpreterRunOptions.h"
3097#include "lldb/API/SBCommandReturnObject.h"
3098#include "lldb/API/SBCommunication.h"
3099#include "lldb/API/SBCompileUnit.h"
3100#include "lldb/API/SBData.h"
3101#include "lldb/API/SBDebugger.h"
3102#include "lldb/API/SBDeclaration.h"
3103#include "lldb/API/SBEnvironment.h"
3104#include "lldb/API/SBError.h"
3105#include "lldb/API/SBEvent.h"
3106#include "lldb/API/SBExecutionContext.h"
3107#include "lldb/API/SBExpressionOptions.h"
3108#include "lldb/API/SBFile.h"
3109#include "lldb/API/SBFileSpec.h"
3110#include "lldb/API/SBFileSpecList.h"
3111#include "lldb/API/SBFrame.h"
3112#include "lldb/API/SBFunction.h"
3113#include "lldb/API/SBHostOS.h"
3114#include "lldb/API/SBInstruction.h"
3115#include "lldb/API/SBInstructionList.h"
3116#include "lldb/API/SBLanguageRuntime.h"
3117#include "lldb/API/SBLaunchInfo.h"
3118#include "lldb/API/SBLineEntry.h"
3119#include "lldb/API/SBListener.h"
3120#include "lldb/API/SBMemoryRegionInfo.h"
3121#include "lldb/API/SBMemoryRegionInfoList.h"
3122#include "lldb/API/SBModule.h"
3123#include "lldb/API/SBModuleSpec.h"
3124#include "lldb/API/SBPlatform.h"
3125#include "lldb/API/SBProcess.h"
3126#include "lldb/API/SBProcessInfo.h"
3127#include "lldb/API/SBQueue.h"
3128#include "lldb/API/SBQueueItem.h"
3129#include "lldb/API/SBReproducer.h"
3130#include "lldb/API/SBSection.h"
3131#include "lldb/API/SBSourceManager.h"
3132#include "lldb/API/SBStream.h"
3133#include "lldb/API/SBStringList.h"
3134#include "lldb/API/SBStructuredData.h"
3135#include "lldb/API/SBSymbol.h"
3136#include "lldb/API/SBSymbolContext.h"
3137#include "lldb/API/SBSymbolContextList.h"
3138#include "lldb/API/SBTarget.h"
3139#include "lldb/API/SBThread.h"
3140#include "lldb/API/SBThreadCollection.h"
3141#include "lldb/API/SBThreadPlan.h"
3142#include "lldb/API/SBTrace.h"
3143#include "lldb/API/SBType.h"
3144#include "lldb/API/SBTypeCategory.h"
3145#include "lldb/API/SBTypeEnumMember.h"
3146#include "lldb/API/SBTypeFilter.h"
3147#include "lldb/API/SBTypeFormat.h"
3148#include "lldb/API/SBTypeNameSpecifier.h"
3149#include "lldb/API/SBTypeSummary.h"
3150#include "lldb/API/SBTypeSynthetic.h"
3151#include "lldb/API/SBUnixSignals.h"
3152#include "lldb/API/SBValue.h"
3153#include "lldb/API/SBValueList.h"
3154#include "lldb/API/SBVariablesOptions.h"
3155#include "lldb/API/SBWatchpoint.h"
3156
3157
3158#include "../source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h"
3159#include "../source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h"
3160#include "../bindings/python/python-swigsafecast.swig"
3161using namespace lldb_private;
3162using namespace lldb_private::python;
3163using namespace lldb;
3164
3165
3166#include <stdint.h> // Use the C99 official header
3167
3168
3169SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject*
3170 SWIG_From_int (int value)
3171{
3172 return PyInt_FromLong((long) value)PyLong_FromLong((long) value);
3173}
3174
3175
3176SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject*
3177 SWIG_From_unsigned_SS_int (unsigned int value)
3178{
3179 return PyInt_FromSize_t((size_t) value)PyLong_FromSize_t((size_t) value);
3180}
3181
3182
3183#include <limits.h>
3184#if !defined(SWIG_NO_LLONG_MAX)
3185# if !defined(LLONG_MAX9223372036854775807LL) && defined(__GNUC__4) && defined (__LONG_LONG_MAX__9223372036854775807LL)
3186# define LLONG_MAX9223372036854775807LL __LONG_LONG_MAX__9223372036854775807LL
3187# define LLONG_MIN(-9223372036854775807LL -1LL) (-LLONG_MAX9223372036854775807LL - 1LL)
3188# define ULLONG_MAX(9223372036854775807LL*2ULL+1ULL) (LLONG_MAX9223372036854775807LL * 2ULL + 1ULL)
3189# endif
3190#endif
3191
3192
3193#if defined(LLONG_MAX9223372036854775807LL) && !defined(SWIG_LONG_LONG_AVAILABLE)
3194# define SWIG_LONG_LONG_AVAILABLE
3195#endif
3196
3197
3198#ifdef SWIG_LONG_LONG_AVAILABLE
3199SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject*
3200SWIG_From_unsigned_SS_long_SS_long (unsigned long long value)
3201{
3202 return (value > LONG_MAX9223372036854775807L) ?
3203 PyLong_FromUnsignedLongLong(value) : PyInt_FromLong(static_cast< long >(value))PyLong_FromLong(static_cast< long >(value));
3204}
3205#endif
3206
3207
3208SWIGINTERNstatic __attribute__ ((__unused__)) swig_type_info*
3209SWIG_pchar_descriptor(void)
3210{
3211 static int init = 0;
3212 static swig_type_info* info = 0;
3213 if (!init) {
3214 info = SWIG_TypeQuerySWIG_Python_TypeQuery("_p_char");
3215 init = 1;
3216 }
3217 return info;
3218}
3219
3220
3221SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3222SWIG_FromCharPtrAndSize(const char* carray, size_t size)
3223{
3224 if (carray) {
3225 if (size > INT_MAX2147483647) {
3226 swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
3227 return pchar_descriptor ?
3228 SWIG_InternalNewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0)SWIG_Python_NewPointerObj(__null, const_cast< char * >(
carray), pchar_descriptor, 0)
: SWIG_Py_Void();
3229 } else {
3230#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03000000
3231#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3232 return PyBytes_FromStringAndSize(carray, static_cast< Py_ssize_t >(size));
3233#else
3234 return PyUnicode_DecodeUTF8(carray, static_cast< Py_ssize_t >(size), "surrogateescape");
3235#endif
3236#else
3237 return PyString_FromStringAndSize(carray, static_cast< Py_ssize_t >(size));
3238#endif
3239 }
3240 } else {
3241 return SWIG_Py_Void();
3242 }
3243}
3244
3245
3246SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3247SWIG_FromCharPtr(const char *cptr)
3248{
3249 return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
3250}
3251
3252
3253SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject*
3254 SWIG_From_bool (bool value)
3255{
3256 return PyBool_FromLong(value ? 1 : 0);
3257}
3258
3259
3260SWIGINTERNstatic __attribute__ ((__unused__)) int
3261SWIG_AsVal_double (PyObject *obj, double *val)
3262{
3263 int res = SWIG_TypeError-5;
3264 if (PyFloat_Check(obj)(_Py_IS_TYPE(((const PyObject*)(obj)), &PyFloat_Type) || PyType_IsSubtype
((((PyObject*)(obj))->ob_type), (&PyFloat_Type)))
) {
3265 if (val) *val = PyFloat_AsDouble(obj);
3266 return SWIG_OK(0);
3267#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
< 0x03000000
3268 } else if (PyInt_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
) {
3269 if (val) *val = (double) PyInt_AsLong(obj)PyLong_AsLong(obj);
3270 return SWIG_OK(0);
3271#endif
3272 } else if (PyLong_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
) {
3273 double v = PyLong_AsDouble(obj);
3274 if (!PyErr_Occurred()) {
3275 if (val) *val = v;
3276 return SWIG_OK(0);
3277 } else {
3278 PyErr_Clear();
3279 }
3280 }
3281#ifdef SWIG_PYTHON_CAST_MODE
3282 {
3283 int dispatch = 0;
3284 double d = PyFloat_AsDouble(obj);
3285 if (!PyErr_Occurred()) {
3286 if (val) *val = d;
3287 return SWIG_AddCast(SWIG_OK)((0));
3288 } else {
3289 PyErr_Clear();
3290 }
3291 if (!dispatch) {
3292 long v = PyLong_AsLong(obj);
3293 if (!PyErr_Occurred()) {
3294 if (val) *val = v;
3295 return SWIG_AddCast(SWIG_AddCast(SWIG_OK))(((0)));
3296 } else {
3297 PyErr_Clear();
3298 }
3299 }
3300 }
3301#endif
3302 return res;
3303}
3304
3305
3306#include <float.h>
3307
3308
3309#include <math.h>
3310
3311
3312SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline int
3313SWIG_CanCastAsInteger(double *d, double min, double max) {
3314 double x = *d;
3315 if ((min <= x && x <= max)) {
3316 double fx = floor(x);
3317 double cx = ceil(x);
3318 double rd = ((x - fx) < 0.5) ? fx : cx; /* simple rint */
3319 if ((errno(*__errno_location ()) == EDOM33) || (errno(*__errno_location ()) == ERANGE34)) {
3320 errno(*__errno_location ()) = 0;
3321 } else {
3322 double summ, reps, diff;
3323 if (rd < x) {
3324 diff = x - rd;
3325 } else if (rd > x) {
3326 diff = rd - x;
3327 } else {
3328 return 1;
3329 }
3330 summ = rd + x;
3331 reps = diff/summ;
3332 if (reps < 8*DBL_EPSILON2.2204460492503131e-16) {
3333 *d = rd;
3334 return 1;
3335 }
3336 }
3337 }
3338 return 0;
3339}
3340
3341
3342SWIGINTERNstatic __attribute__ ((__unused__)) int
3343SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val)
3344{
3345#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
< 0x03000000
3346 if (PyInt_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
) {
3347 long v = PyInt_AsLong(obj)PyLong_AsLong(obj);
3348 if (v >= 0) {
3349 if (val) *val = v;
3350 return SWIG_OK(0);
3351 } else {
3352 return SWIG_OverflowError-7;
3353 }
3354 } else
3355#endif
3356 if (PyLong_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
) {
3357 unsigned long v = PyLong_AsUnsignedLong(obj);
3358 if (!PyErr_Occurred()) {
3359 if (val) *val = v;
3360 return SWIG_OK(0);
3361 } else {
3362 PyErr_Clear();
3363 return SWIG_OverflowError-7;
3364 }
3365 }
3366#ifdef SWIG_PYTHON_CAST_MODE
3367 {
3368 int dispatch = 0;
3369 unsigned long v = PyLong_AsUnsignedLong(obj);
3370 if (!PyErr_Occurred()) {
3371 if (val) *val = v;
3372 return SWIG_AddCast(SWIG_OK)((0));
3373 } else {
3374 PyErr_Clear();
3375 }
3376 if (!dispatch) {
3377 double d;
3378 int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d))(SWIG_AsVal_double (obj,&d));
3379 if (SWIG_IsOK(res)(res >= 0) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX(9223372036854775807L *2UL+1UL))) {
3380 if (val) *val = (unsigned long)(d);
3381 return res;
3382 }
3383 }
3384 }
3385#endif
3386 return SWIG_TypeError-5;
3387}
3388
3389
3390#ifdef SWIG_LONG_LONG_AVAILABLE
3391SWIGINTERNstatic __attribute__ ((__unused__)) int
3392SWIG_AsVal_unsigned_SS_long_SS_long (PyObject *obj, unsigned long long *val)
3393{
3394 int res = SWIG_TypeError-5;
3395 if (PyLong_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
) {
3396 unsigned long long v = PyLong_AsUnsignedLongLong(obj);
3397 if (!PyErr_Occurred()) {
3398 if (val) *val = v;
3399 return SWIG_OK(0);
3400 } else {
3401 PyErr_Clear();
3402 res = SWIG_OverflowError-7;
3403 }
3404 } else {
3405 unsigned long v;
3406 res = SWIG_AsVal_unsigned_SS_long (obj,&v);
3407 if (SWIG_IsOK(res)(res >= 0)) {
3408 if (val) *val = v;
3409 return res;
3410 }
3411 }
3412#ifdef SWIG_PYTHON_CAST_MODE
3413 {
3414 const double mant_max = 1LL << DBL_MANT_DIG53;
3415 double d;
3416 res = SWIG_AsVal_double (obj,&d);
3417 if (SWIG_IsOK(res)(res >= 0) && !SWIG_CanCastAsInteger(&d, 0, mant_max))
3418 return SWIG_OverflowError-7;
3419 if (SWIG_IsOK(res)(res >= 0) && SWIG_CanCastAsInteger(&d, 0, mant_max)) {
3420 if (val) *val = (unsigned long long)(d);
3421 return SWIG_AddCast(res)(res);
3422 }
3423 res = SWIG_TypeError-5;
3424 }
3425#endif
3426 return res;
3427}
3428#endif
3429
3430
3431SWIGINTERNstatic __attribute__ ((__unused__)) int
3432SWIG_AsVal_unsigned_SS_int (PyObject * obj, unsigned int *val)
3433{
3434 unsigned long v;
3435 int res = SWIG_AsVal_unsigned_SS_long (obj, &v);
3436 if (SWIG_IsOK(res)(res >= 0)) {
3437 if ((v > UINT_MAX(2147483647 *2U +1U))) {
3438 return SWIG_OverflowError-7;
3439 } else {
3440 if (val) *val = static_cast< unsigned int >(v);
3441 }
3442 }
3443 return res;
3444}
3445
3446SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBAddress___repr__(lldb::SBAddress *self){
3447 lldb::SBStream stream;
3448 self->GetDescription (stream);
3449 const char *desc = stream.GetData();
3450 size_t desc_len = stream.GetSize();
3451 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3452 --desc_len;
3453 }
3454 return std::string(desc, desc_len);
3455 }
3456
3457SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3458SWIG_From_std_string (const std::string& s)
3459{
3460 return SWIG_FromCharPtrAndSize(s.data(), s.size());
3461}
3462
3463
3464SWIGINTERNstatic __attribute__ ((__unused__)) int
3465SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
3466{
3467#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>=0x03000000
3468#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3469 if (PyBytes_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
27))
)
3470#else
3471 if (PyUnicode_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
28))
)
3472#endif
3473#else
3474 if (PyString_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
27))
)
3475#endif
3476 {
3477 char *cstr; Py_ssize_t len;
3478 int ret = SWIG_OK(0);
3479#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>=0x03000000
3480#if !defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3481 if (!alloc && cptr) {
3482 /* We can't allow converting without allocation, since the internal
3483 representation of string in Python 3 is UCS-2/UCS-4 but we require
3484 a UTF-8 representation.
3485 TODO(bhy) More detailed explanation */
3486 return SWIG_RuntimeError-3;
3487 }
3488 obj = PyUnicode_AsUTF8String(obj);
3489 if (!obj)
3490 return SWIG_TypeError-5;
3491 if (alloc)
3492 *alloc = SWIG_NEWOBJ((0) | ((1 << 8) << 1));
3493#endif
3494 if (PyBytes_AsStringAndSize(obj, &cstr, &len) == -1)
3495 return SWIG_TypeError-5;
3496#else
3497 if (PyString_AsStringAndSize(obj, &cstr, &len) == -1)
3498 return SWIG_TypeError-5;
3499#endif
3500 if (cptr) {
3501 if (alloc) {
3502 if (*alloc == SWIG_NEWOBJ((0) | ((1 << 8) << 1))) {
3503 *cptr = reinterpret_cast< char* >(memcpy(new char[len + 1], cstr, sizeof(char)*(len + 1)));
3504 *alloc = SWIG_NEWOBJ((0) | ((1 << 8) << 1));
3505 } else {
3506 *cptr = cstr;
3507 *alloc = SWIG_OLDOBJ((0));
3508 }
3509 } else {
3510#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>=0x03000000
3511#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3512 *cptr = PyBytes_AsString(obj);
3513#else
3514 assert(0)(static_cast <bool> (0) ? void (0) : __assert_fail ("0"
, "tools/lldb/bindings/python/LLDBWrapPython.cpp", 3514, __extension__
__PRETTY_FUNCTION__))
; /* Should never reach here with Unicode strings in Python 3 */
3515#endif
3516#else
3517 *cptr = SWIG_Python_str_AsChar(obj);
3518 if (!*cptr)
3519 ret = SWIG_TypeError-5;
3520#endif
3521 }
3522 }
3523 if (psize) *psize = len + 1;
3524#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
>=0x03000000 && !defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3525 Py_XDECREF(obj)_Py_XDECREF(((PyObject*)(obj)));
3526#endif
3527 return ret;
3528 } else {
3529#if defined(SWIG_PYTHON_2_UNICODE)
3530#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3531#error "Cannot use both SWIG_PYTHON_2_UNICODE and SWIG_PYTHON_STRICT_BYTE_CHAR at once"
3532#endif
3533#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
<0x03000000
3534 if (PyUnicode_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
28))
) {
3535 char *cstr; Py_ssize_t len;
3536 if (!alloc && cptr) {
3537 return SWIG_RuntimeError-3;
3538 }
3539 obj = PyUnicode_AsUTF8String(obj);
3540 if (!obj)
3541 return SWIG_TypeError-5;
3542 if (PyString_AsStringAndSize(obj, &cstr, &len) != -1) {
3543 if (cptr) {
3544 if (alloc) *alloc = SWIG_NEWOBJ((0) | ((1 << 8) << 1));
3545 *cptr = reinterpret_cast< char* >(memcpy(new char[len + 1], cstr, sizeof(char)*(len + 1)));
3546 }
3547 if (psize) *psize = len + 1;
3548
3549 Py_XDECREF(obj)_Py_XDECREF(((PyObject*)(obj)));
3550 return SWIG_OK(0);
3551 } else {
3552 Py_XDECREF(obj)_Py_XDECREF(((PyObject*)(obj)));
3553 }
3554 }
3555#endif
3556#endif
3557
3558 swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
3559 if (pchar_descriptor) {
3560 void* vptr = 0;
3561 if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0)SWIG_Python_ConvertPtrAndOwn(obj, &vptr, pchar_descriptor
, 0, 0)
== SWIG_OK(0)) {
3562 if (cptr) *cptr = (char *) vptr;
3563 if (psize) *psize = vptr ? (strlen((char *)vptr) + 1) : 0;
3564 if (alloc) *alloc = SWIG_OLDOBJ((0));
3565 return SWIG_OK(0);
3566 }
3567 }
3568 }
3569 return SWIG_TypeError-5;
3570}
3571
3572
3573
3574
3575
3576SWIGINTERNstatic __attribute__ ((__unused__)) int
3577SWIG_AsVal_long (PyObject *obj, long* val)
3578{
3579#if PY_VERSION_HEX((3 << 24) | (9 << 16) | (2 << 8) | (0xF <<
4) | (0 << 0))
< 0x03000000
3580 if (PyInt_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
) {
3581 if (val) *val = PyInt_AsLong(obj)PyLong_AsLong(obj);
3582 return SWIG_OK(0);
3583 } else
3584#endif
3585 if (PyLong_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
) {
3586 long v = PyLong_AsLong(obj);
3587 if (!PyErr_Occurred()) {
3588 if (val) *val = v;
3589 return SWIG_OK(0);
3590 } else {
3591 PyErr_Clear();
3592 return SWIG_OverflowError-7;
3593 }
3594 }
3595#ifdef SWIG_PYTHON_CAST_MODE
3596 {
3597 int dispatch = 0;
3598 long v = PyInt_AsLong(obj)PyLong_AsLong(obj);
3599 if (!PyErr_Occurred()) {
3600 if (val) *val = v;
3601 return SWIG_AddCast(SWIG_OK)((0));
3602 } else {
3603 PyErr_Clear();
3604 }
3605 if (!dispatch) {
3606 double d;
3607 int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d))(SWIG_AsVal_double (obj,&d));
3608 if (SWIG_IsOK(res)(res >= 0) && SWIG_CanCastAsInteger(&d, LONG_MIN(-9223372036854775807L -1L), LONG_MAX9223372036854775807L)) {
3609 if (val) *val = (long)(d);
3610 return res;
3611 }
3612 }
3613 }
3614#endif
3615 return SWIG_TypeError-5;
3616}
3617
3618
3619SWIGINTERNstatic __attribute__ ((__unused__)) int
3620SWIG_AsVal_bool (PyObject *obj, bool *val)
3621{
3622 int r;
3623 if (!PyBool_Check(obj)_Py_IS_TYPE(((const PyObject*)(obj)), &PyBool_Type))
3624 return SWIG_ERROR(-1);
3625 r = PyObject_IsTrue(obj);
3626 if (r == -1)
3627 return SWIG_ERROR(-1);
3628 if (val) *val = r ? true : false;
3629 return SWIG_OK(0);
3630}
3631
3632
3633SWIGINTERNstatic __attribute__ ((__unused__)) int
3634SWIG_AsVal_int (PyObject * obj, int *val)
3635{
3636 long v;
3637 int res = SWIG_AsVal_long (obj, &v);
3638 if (SWIG_IsOK(res)(res >= 0)) {
3639 if ((v < INT_MIN(-2147483647 -1) || v > INT_MAX2147483647)) {
3640 return SWIG_OverflowError-7;
3641 } else {
3642 if (val) *val = static_cast< int >(v);
3643 }
3644 }
3645 return res;
3646}
3647
3648SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBBlock___repr__(lldb::SBBlock *self){
3649 lldb::SBStream stream;
3650 self->GetDescription (stream);
3651 const char *desc = stream.GetData();
3652 size_t desc_len = stream.GetSize();
3653 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3654 --desc_len;
3655 }
3656 return std::string(desc, desc_len);
3657 }
3658
3659 #define SWIG_From_longPyInt_FromLong PyInt_FromLong
3660
3661
3662SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject*
3663SWIG_From_unsigned_SS_long (unsigned long value)
3664{
3665 return (value > LONG_MAX9223372036854775807L) ?
3666 PyLong_FromUnsignedLong(value) : PyInt_FromLong(static_cast< long >(value))PyLong_FromLong(static_cast< long >(value));
3667}
3668
3669
3670SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3671SWIG_From_size_t (size_t value)
3672{
3673#ifdef SWIG_LONG_LONG_AVAILABLE
3674 if (sizeof(size_t) <= sizeof(unsigned long)) {
3675#endif
3676 return SWIG_From_unsigned_SS_long (static_cast< unsigned long >(value));
3677#ifdef SWIG_LONG_LONG_AVAILABLE
3678 } else {
3679 /* assume sizeof(size_t) <= sizeof(unsigned long long) */
3680 return SWIG_From_unsigned_SS_long_SS_long (static_cast< unsigned long long >(value));
3681 }
3682#endif
3683}
3684
3685SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBBreakpoint___repr__(lldb::SBBreakpoint *self){
3686 lldb::SBStream stream;
3687 self->GetDescription (stream);
3688 const char *desc = stream.GetData();
3689 size_t desc_len = stream.GetSize();
3690 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3691 --desc_len;
3692 }
3693 return std::string(desc, desc_len);
3694 }
3695
3696SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline int
3697SWIG_AsVal_size_t (PyObject * obj, size_t *val)
3698{
3699 int res = SWIG_TypeError-5;
3700#ifdef SWIG_LONG_LONG_AVAILABLE
3701 if (sizeof(size_t) <= sizeof(unsigned long)) {
3702#endif
3703 unsigned long v;
3704 res = SWIG_AsVal_unsigned_SS_long (obj, val ? &v : 0);
3705 if (SWIG_IsOK(res)(res >= 0) && val) *val = static_cast< size_t >(v);
3706#ifdef SWIG_LONG_LONG_AVAILABLE
3707 } else if (sizeof(size_t) <= sizeof(unsigned long long)) {
3708 unsigned long long v;
3709 res = SWIG_AsVal_unsigned_SS_long_SS_long (obj, val ? &v : 0);
3710 if (SWIG_IsOK(res)(res >= 0) && val) *val = static_cast< size_t >(v);
3711 }
3712#endif
3713 return res;
3714}
3715
3716SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBBreakpointLocation___repr__(lldb::SBBreakpointLocation *self){
3717 lldb::SBStream stream;
3718 self->GetDescription (stream, lldb::eDescriptionLevelFull);
3719 const char *desc = stream.GetData();
3720 size_t desc_len = stream.GetSize();
3721 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3722 --desc_len;
3723 }
3724 return std::string(desc, desc_len);
3725 }
3726SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBBreakpointName___repr__(lldb::SBBreakpointName *self){
3727 lldb::SBStream stream;
3728 self->GetDescription (stream);
3729 const char *desc = stream.GetData();
3730 size_t desc_len = stream.GetSize();
3731 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3732 --desc_len;
3733 }
3734 return std::string(desc, desc_len);
3735 }
3736
3737SWIGINTERNstatic __attribute__ ((__unused__)) int
3738SWIG_AsCharArray(PyObject * obj, char *val, size_t size)
3739{
3740 char* cptr = 0; size_t csize = 0; int alloc = SWIG_OLDOBJ((0));
3741 int res = SWIG_AsCharPtrAndSize(obj, &cptr, &csize, &alloc);
3742 if (SWIG_IsOK(res)(res >= 0)) {
3743 /* special case of single char conversion when we don't need space for NUL */
3744 if (size == 1 && csize == 2 && cptr && !cptr[1]) --csize;
3745 if (csize <= size) {
3746 if (val) {
3747 if (csize) memcpy(val, cptr, csize*sizeof(char));
3748 if (csize < size) memset(val + csize, 0, (size - csize)*sizeof(char));
3749 }
3750 if (alloc == SWIG_NEWOBJ((0) | ((1 << 8) << 1))) {
3751 delete[] cptr;
3752 res = SWIG_DelNewMask(res)((res >= 0) ? (res & ~((1 << 8) << 1)) : res
)
;
3753 }
3754 return res;
3755 }
3756 if (alloc == SWIG_NEWOBJ((0) | ((1 << 8) << 1))) delete[] cptr;
3757 }
3758 return SWIG_TypeError-5;
3759}
3760
3761
3762SWIGINTERNstatic __attribute__ ((__unused__)) int
3763SWIG_AsVal_char (PyObject * obj, char *val)
3764{
3765 int res = SWIG_AsCharArray(obj, val, 1);
3766 if (!SWIG_IsOK(res)(res >= 0)) {
3767 long v;
3768 res = SWIG_AddCast(SWIG_AsVal_long (obj, &v))(SWIG_AsVal_long (obj, &v));
3769 if (SWIG_IsOK(res)(res >= 0)) {
3770 if ((CHAR_MIN(-127 -1) <= v) && (v <= CHAR_MAX127)) {
3771 if (val) *val = static_cast< char >(v);
3772 } else {
3773 res = SWIG_OverflowError-7;
3774 }
3775 }
3776 }
3777 return res;
3778}
3779
3780SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBCommandReturnObject___repr__(lldb::SBCommandReturnObject *self){
3781 lldb::SBStream stream;
3782 self->GetDescription (stream);
3783 const char *desc = stream.GetData();
3784 size_t desc_len = stream.GetSize();
3785 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3786 --desc_len;
3787 }
3788 return std::string(desc, desc_len);
3789 }
3790SWIGINTERNstatic __attribute__ ((__unused__)) void lldb_SBCommandReturnObject_SetImmediateOutputFile__SWIG_2(lldb::SBCommandReturnObject *self,lldb::FileSP BORROWED,bool transfer_ownership){
3791 self->SetImmediateOutputFile(BORROWED);
3792 }
3793SWIGINTERNstatic __attribute__ ((__unused__)) void lldb_SBCommandReturnObject_SetImmediateErrorFile__SWIG_2(lldb::SBCommandReturnObject *self,lldb::FileSP BORROWED,bool transfer_ownership){
3794 self->SetImmediateErrorFile(BORROWED);
3795 }
3796SWIGINTERNstatic __attribute__ ((__unused__)) void lldb_SBCommandReturnObject_Print(lldb::SBCommandReturnObject *self,char const *str){
3797 self->Printf("%s", str);
3798 }
3799SWIGINTERNstatic __attribute__ ((__unused__)) void lldb_SBCommandReturnObject_write(lldb::SBCommandReturnObject *self,char const *str){
3800 if (str)
3801 self->Printf("%s",str);
3802 }
3803SWIGINTERNstatic __attribute__ ((__unused__)) void lldb_SBCommandReturnObject_flush(lldb::SBCommandReturnObject *self){}
3804SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBCompileUnit___repr__(lldb::SBCompileUnit *self){
3805 lldb::SBStream stream;
3806 self->GetDescription (stream);
3807 const char *desc = stream.GetData();
3808 size_t desc_len = stream.GetSize();
3809 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3810 --desc_len;
3811 }
3812 return std::string(desc, desc_len);
3813 }
3814
3815SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3816SWIG_From_unsigned_SS_char (unsigned char value)
3817{
3818 return SWIG_From_unsigned_SS_long (value);
3819}
3820
3821
3822SWIGINTERNstatic __attribute__ ((__unused__)) int
3823SWIG_AsVal_unsigned_SS_char (PyObject * obj, unsigned char *val)
3824{
3825 unsigned long v;
3826 int res = SWIG_AsVal_unsigned_SS_long (obj, &v);
3827 if (SWIG_IsOK(res)(res >= 0)) {
3828 if ((v > UCHAR_MAX(127*2 +1))) {
3829 return SWIG_OverflowError-7;
3830 } else {
3831 if (val) *val = static_cast< unsigned char >(v);
3832 }
3833 }
3834 return res;
3835}
3836
3837
3838 #define SWIG_From_doublePyFloat_FromDouble PyFloat_FromDouble
3839
3840
3841SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3842SWIG_From_float (float value)
3843{
3844 return SWIG_From_doublePyFloat_FromDouble (value);
3845}
3846
3847
3848SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3849SWIG_From_unsigned_SS_short (unsigned short value)
3850{
3851 return SWIG_From_unsigned_SS_long (value);
3852}
3853
3854
3855SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3856SWIG_From_signed_SS_char (signed char value)
3857{
3858 return SWIG_From_long (value)PyLong_FromLong(value);
3859}
3860
3861
3862SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject *
3863SWIG_From_short (short value)
3864{
3865 return SWIG_From_long (value)PyLong_FromLong(value);
3866}
3867
3868
3869#ifdef SWIG_LONG_LONG_AVAILABLE
3870SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline PyObject*
3871SWIG_From_long_SS_long (long long value)
3872{
3873 return ((value < LONG_MIN(-9223372036854775807L -1L)) || (value > LONG_MAX9223372036854775807L)) ?
3874 PyLong_FromLongLong(value) : PyInt_FromLong(static_cast< long >(value))PyLong_FromLong(static_cast< long >(value));
3875}
3876#endif
3877
3878SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBData___repr__(lldb::SBData *self){
3879 lldb::SBStream stream;
3880 self->GetDescription (stream);
3881 const char *desc = stream.GetData();
3882 size_t desc_len = stream.GetSize();
3883 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3884 --desc_len;
3885 }
3886 return std::string(desc, desc_len);
3887 }
3888SWIGINTERNstatic __attribute__ ((__unused__)) lldb::FileSP lldb_SBDebugger_GetInputFileHandle(lldb::SBDebugger *self){
3889 return self->GetInputFile().GetFile();
3890 }
3891SWIGINTERNstatic __attribute__ ((__unused__)) lldb::FileSP lldb_SBDebugger_GetOutputFileHandle(lldb::SBDebugger *self){
3892 return self->GetOutputFile().GetFile();
3893 }
3894SWIGINTERNstatic __attribute__ ((__unused__)) lldb::FileSP lldb_SBDebugger_GetErrorFileHandle(lldb::SBDebugger *self){
3895 return self->GetErrorFile().GetFile();
3896 }
3897SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBDebugger___repr__(lldb::SBDebugger *self){
3898 lldb::SBStream stream;
3899 self->GetDescription (stream);
3900 const char *desc = stream.GetData();
3901 size_t desc_len = stream.GetSize();
3902 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3903 --desc_len;
3904 }
3905 return std::string(desc, desc_len);
3906 }
3907SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBDeclaration___repr__(lldb::SBDeclaration *self){
3908 lldb::SBStream stream;
3909 self->GetDescription (stream);
3910 const char *desc = stream.GetData();
3911 size_t desc_len = stream.GetSize();
3912 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3913 --desc_len;
3914 }
3915 return std::string(desc, desc_len);
3916 }
3917SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBError___repr__(lldb::SBError *self){
3918 lldb::SBStream stream;
3919 self->GetDescription (stream);
3920 const char *desc = stream.GetData();
3921 size_t desc_len = stream.GetSize();
3922 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3923 --desc_len;
3924 }
3925 return std::string(desc, desc_len);
3926 }
3927SWIGINTERNstatic __attribute__ ((__unused__)) lldb::SBFile lldb_SBFile_MakeBorrowed(lldb::FileSP BORROWED){
3928 return lldb::SBFile(BORROWED);
3929 }
3930SWIGINTERNstatic __attribute__ ((__unused__)) lldb::SBFile lldb_SBFile_MakeForcingIOMethods(lldb::FileSP FORCE_IO_METHODS){
3931 return lldb::SBFile(FORCE_IO_METHODS);
3932 }
3933SWIGINTERNstatic __attribute__ ((__unused__)) lldb::SBFile lldb_SBFile_MakeBorrowedForcingIOMethods(lldb::FileSP BORROWED_FORCE_IO_METHODS){
3934 return lldb::SBFile(BORROWED_FORCE_IO_METHODS);
3935 }
3936SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBFileSpec___repr__(lldb::SBFileSpec *self){
3937 lldb::SBStream stream;
3938 self->GetDescription (stream);
3939 const char *desc = stream.GetData();
3940 size_t desc_len = stream.GetSize();
3941 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3942 --desc_len;
3943 }
3944 return std::string(desc, desc_len);
3945 }
3946SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBFrame___repr__(lldb::SBFrame *self){
3947 lldb::SBStream stream;
3948 self->GetDescription (stream);
3949 const char *desc = stream.GetData();
3950 size_t desc_len = stream.GetSize();
3951 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3952 --desc_len;
3953 }
3954 return std::string(desc, desc_len);
3955 }
3956SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBFunction___repr__(lldb::SBFunction *self){
3957 lldb::SBStream stream;
3958 self->GetDescription (stream);
3959 const char *desc = stream.GetData();
3960 size_t desc_len = stream.GetSize();
3961 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3962 --desc_len;
3963 }
3964 return std::string(desc, desc_len);
3965 }
3966SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBInstruction___repr__(lldb::SBInstruction *self){
3967 lldb::SBStream stream;
3968 self->GetDescription (stream);
3969 const char *desc = stream.GetData();
3970 size_t desc_len = stream.GetSize();
3971 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3972 --desc_len;
3973 }
3974 return std::string(desc, desc_len);
3975 }
3976SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBInstructionList___repr__(lldb::SBInstructionList *self){
3977 lldb::SBStream stream;
3978 self->GetDescription (stream);
3979 const char *desc = stream.GetData();
3980 size_t desc_len = stream.GetSize();
3981 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3982 --desc_len;
3983 }
3984 return std::string(desc, desc_len);
3985 }
3986SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBLineEntry___repr__(lldb::SBLineEntry *self){
3987 lldb::SBStream stream;
3988 self->GetDescription (stream);
3989 const char *desc = stream.GetData();
3990 size_t desc_len = stream.GetSize();
3991 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
3992 --desc_len;
3993 }
3994 return std::string(desc, desc_len);
3995 }
3996SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBMemoryRegionInfo___repr__(lldb::SBMemoryRegionInfo *self){
3997 lldb::SBStream stream;
3998 self->GetDescription (stream);
3999 const char *desc = stream.GetData();
4000 size_t desc_len = stream.GetSize();
4001 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4002 --desc_len;
4003 }
4004 return std::string(desc, desc_len);
4005 }
4006SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBModule___repr__(lldb::SBModule *self){
4007 lldb::SBStream stream;
4008 self->GetDescription (stream);
4009 const char *desc = stream.GetData();
4010 size_t desc_len = stream.GetSize();
4011 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4012 --desc_len;
4013 }
4014 return std::string(desc, desc_len);
4015 }
4016SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBModuleSpec___repr__(lldb::SBModuleSpec *self){
4017 lldb::SBStream stream;
4018 self->GetDescription (stream);
4019 const char *desc = stream.GetData();
4020 size_t desc_len = stream.GetSize();
4021 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4022 --desc_len;
4023 }
4024 return std::string(desc, desc_len);
4025 }
4026SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBModuleSpecList___repr__(lldb::SBModuleSpecList *self){
4027 lldb::SBStream stream;
4028 self->GetDescription (stream);
4029 const char *desc = stream.GetData();
4030 size_t desc_len = stream.GetSize();
4031 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4032 --desc_len;
4033 }
4034 return std::string(desc, desc_len);
4035 }
4036SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBProcess___repr__(lldb::SBProcess *self){
4037 lldb::SBStream stream;
4038 self->GetDescription (stream);
4039 const char *desc = stream.GetData();
4040 size_t desc_len = stream.GetSize();
4041 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4042 --desc_len;
4043 }
4044 return std::string(desc, desc_len);
4045 }
4046SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBSection___repr__(lldb::SBSection *self){
4047 lldb::SBStream stream;
4048 self->GetDescription (stream);
4049 const char *desc = stream.GetData();
4050 size_t desc_len = stream.GetSize();
4051 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4052 --desc_len;
4053 }
4054 return std::string(desc, desc_len);
4055 }
4056SWIGINTERNstatic __attribute__ ((__unused__)) void lldb_SBStream_RedirectToFileHandle(lldb::SBStream *self,lldb::FileSP file,bool transfer_fh_ownership){
4057 self->RedirectToFile(file);
4058 }
4059SWIGINTERNstatic __attribute__ ((__unused__)) void lldb_SBStream_write(lldb::SBStream *self,char const *str){
4060 if (str)
4061 self->Printf("%s",str);
4062 }
4063SWIGINTERNstatic __attribute__ ((__unused__)) void lldb_SBStream_flush(lldb::SBStream *self){}
4064SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBSymbol___repr__(lldb::SBSymbol *self){
4065 lldb::SBStream stream;
4066 self->GetDescription (stream);
4067 const char *desc = stream.GetData();
4068 size_t desc_len = stream.GetSize();
4069 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4070 --desc_len;
4071 }
4072 return std::string(desc, desc_len);
4073 }
4074SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBSymbolContext___repr__(lldb::SBSymbolContext *self){
4075 lldb::SBStream stream;
4076 self->GetDescription (stream);
4077 const char *desc = stream.GetData();
4078 size_t desc_len = stream.GetSize();
4079 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4080 --desc_len;
4081 }
4082 return std::string(desc, desc_len);
4083 }
4084SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBSymbolContextList___repr__(lldb::SBSymbolContextList *self){
4085 lldb::SBStream stream;
4086 self->GetDescription (stream);
4087 const char *desc = stream.GetData();
4088 size_t desc_len = stream.GetSize();
4089 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4090 --desc_len;
4091 }
4092 return std::string(desc, desc_len);
4093 }
4094
4095#ifdef SWIG_LONG_LONG_AVAILABLE
4096SWIGINTERNstatic __attribute__ ((__unused__)) int
4097SWIG_AsVal_long_SS_long (PyObject *obj, long long *val)
4098{
4099 int res = SWIG_TypeError-5;
4100 if (PyLong_Check(obj)PyType_HasFeature((((PyObject*)(obj))->ob_type), (1UL <<
24))
) {
4101 long long v = PyLong_AsLongLong(obj);
4102 if (!PyErr_Occurred()) {
4103 if (val) *val = v;
4104 return SWIG_OK(0);
4105 } else {
4106 PyErr_Clear();
4107 res = SWIG_OverflowError-7;
4108 }
4109 } else {
4110 long v;
4111 res = SWIG_AsVal_long (obj,&v);
4112 if (SWIG_IsOK(res)(res >= 0)) {
4113 if (val) *val = v;
4114 return res;
4115 }
4116 }
4117#ifdef SWIG_PYTHON_CAST_MODE
4118 {
4119 const double mant_max = 1LL << DBL_MANT_DIG53;
4120 const double mant_min = -mant_max;
4121 double d;
4122 res = SWIG_AsVal_double (obj,&d);
4123 if (SWIG_IsOK(res)(res >= 0) && !SWIG_CanCastAsInteger(&d, mant_min, mant_max))
4124 return SWIG_OverflowError-7;
4125 if (SWIG_IsOK(res)(res >= 0) && SWIG_CanCastAsInteger(&d, mant_min, mant_max)) {
4126 if (val) *val = (long long)(d);
4127 return SWIG_AddCast(res)(res);
4128 }
4129 res = SWIG_TypeError-5;
4130 }
4131#endif
4132 return res;
4133}
4134#endif
4135
4136SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTarget___repr__(lldb::SBTarget *self){
4137 lldb::SBStream stream;
4138 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4139 const char *desc = stream.GetData();
4140 size_t desc_len = stream.GetSize();
4141 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4142 --desc_len;
4143 }
4144 return std::string(desc, desc_len);
4145 }
4146SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBThread___repr__(lldb::SBThread *self){
4147 lldb::SBStream stream;
4148 self->GetDescription (stream);
4149 const char *desc = stream.GetData();
4150 size_t desc_len = stream.GetSize();
4151 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4152 --desc_len;
4153 }
4154 return std::string(desc, desc_len);
4155 }
4156SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeMember___repr__(lldb::SBTypeMember *self){
4157 lldb::SBStream stream;
4158 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4159 const char *desc = stream.GetData();
4160 size_t desc_len = stream.GetSize();
4161 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4162 --desc_len;
4163 }
4164 return std::string(desc, desc_len);
4165 }
4166SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeMemberFunction___repr__(lldb::SBTypeMemberFunction *self){
4167 lldb::SBStream stream;
4168 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4169 const char *desc = stream.GetData();
4170 size_t desc_len = stream.GetSize();
4171 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4172 --desc_len;
4173 }
4174 return std::string(desc, desc_len);
4175 }
4176SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBType___repr__(lldb::SBType *self){
4177 lldb::SBStream stream;
4178 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4179 const char *desc = stream.GetData();
4180 size_t desc_len = stream.GetSize();
4181 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4182 --desc_len;
4183 }
4184 return std::string(desc, desc_len);
4185 }
4186SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeCategory___repr__(lldb::SBTypeCategory *self){
4187 lldb::SBStream stream;
4188 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4189 const char *desc = stream.GetData();
4190 size_t desc_len = stream.GetSize();
4191 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4192 --desc_len;
4193 }
4194 return std::string(desc, desc_len);
4195 }
4196SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeEnumMember___repr__(lldb::SBTypeEnumMember *self){
4197 lldb::SBStream stream;
4198 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4199 const char *desc = stream.GetData();
4200 size_t desc_len = stream.GetSize();
4201 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4202 --desc_len;
4203 }
4204 return std::string(desc, desc_len);
4205 }
4206SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeFilter___repr__(lldb::SBTypeFilter *self){
4207 lldb::SBStream stream;
4208 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4209 const char *desc = stream.GetData();
4210 size_t desc_len = stream.GetSize();
4211 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4212 --desc_len;
4213 }
4214 return std::string(desc, desc_len);
4215 }
4216SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeFormat___repr__(lldb::SBTypeFormat *self){
4217 lldb::SBStream stream;
4218 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4219 const char *desc = stream.GetData();
4220 size_t desc_len = stream.GetSize();
4221 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4222 --desc_len;
4223 }
4224 return std::string(desc, desc_len);
4225 }
4226SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeNameSpecifier___repr__(lldb::SBTypeNameSpecifier *self){
4227 lldb::SBStream stream;
4228 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4229 const char *desc = stream.GetData();
4230 size_t desc_len = stream.GetSize();
4231 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4232 --desc_len;
4233 }
4234 return std::string(desc, desc_len);
4235 }
4236SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeSummary___repr__(lldb::SBTypeSummary *self){
4237 lldb::SBStream stream;
4238 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4239 const char *desc = stream.GetData();
4240 size_t desc_len = stream.GetSize();
4241 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4242 --desc_len;
4243 }
4244 return std::string(desc, desc_len);
4245 }
4246SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBTypeSynthetic___repr__(lldb::SBTypeSynthetic *self){
4247 lldb::SBStream stream;
4248 self->GetDescription (stream, lldb::eDescriptionLevelBrief);
4249 const char *desc = stream.GetData();
4250 size_t desc_len = stream.GetSize();
4251 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4252 --desc_len;
4253 }
4254 return std::string(desc, desc_len);
4255 }
4256SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBValue___repr__(lldb::SBValue *self){
4257 lldb::SBStream stream;
4258 self->GetDescription (stream);
4259 const char *desc = stream.GetData();
4260 size_t desc_len = stream.GetSize();
4261 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4262 --desc_len;
4263 }
4264 return std::string(desc, desc_len);
4265 }
4266SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBValueList___str__(lldb::SBValueList *self){
4267 lldb::SBStream description;
4268 const size_t n = self->GetSize();
4269 if (n)
4270 {
4271 for (size_t i=0; i<n; ++i)
4272 self->GetValueAtIndex(i).GetDescription(description);
4273 }
4274 else
4275 {
4276 description.Printf("<empty> lldb.SBValueList()");
4277 }
4278 const char *desc = description.GetData();
4279 size_t desc_len = description.GetSize();
4280 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r'))
4281 --desc_len;
4282 return std::string(desc, desc_len);
4283 }
4284SWIGINTERNstatic __attribute__ ((__unused__)) std::string lldb_SBWatchpoint___repr__(lldb::SBWatchpoint *self){
4285 lldb::SBStream stream;
4286 self->GetDescription (stream, lldb::eDescriptionLevelVerbose);
4287 const char *desc = stream.GetData();
4288 size_t desc_len = stream.GetSize();
4289 if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r')) {
4290 --desc_len;
4291 }
4292 return std::string(desc, desc_len);
4293 }
4294
4295
4296class PyErr_Cleaner {
4297public:
4298 PyErr_Cleaner(bool print = false) : m_print(print) {}
4299
4300 ~PyErr_Cleaner() {
4301 if (PyErr_Occurred()) {
4302 if (m_print && !PyErr_ExceptionMatches(PyExc_SystemExit))
4303 PyErr_Print();
4304 PyErr_Clear();
4305 }
4306 }
4307
4308private:
4309 bool m_print;
4310};
4311
4312llvm::Expected<bool> lldb_private::LLDBSwigPythonBreakpointCallbackFunction(
4313 const char *python_function_name, const char *session_dictionary_name,
4314 const lldb::StackFrameSP &frame_sp,
4315 const lldb::BreakpointLocationSP &bp_loc_sp,
4316 const lldb_private::StructuredDataImpl &args_impl) {
4317 using namespace llvm;
4318
4319 lldb::SBBreakpointLocation sb_bp_loc(bp_loc_sp);
4320
4321 PyErr_Cleaner py_err_cleaner(true);
4322 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4323 session_dictionary_name);
4324 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4325 python_function_name, dict);
4326
4327 unsigned max_positional_args;
4328 if (auto arg_info = pfunc.GetArgInfo())
4329 max_positional_args = arg_info.get().max_positional_args;
4330 else
4331 return arg_info.takeError();
4332
4333 PythonObject frame_arg = ToSWIGWrapper(frame_sp);
4334 PythonObject bp_loc_arg = ToSWIGWrapper(bp_loc_sp);
4335
4336 auto result =
4337 max_positional_args < 4
4338 ? pfunc.Call(frame_arg, bp_loc_arg, dict)
4339 : pfunc.Call(frame_arg, bp_loc_arg, ToSWIGWrapper(args_impl), dict);
4340
4341 if (!result)
4342 return result.takeError();
4343
4344 // Only False counts as false!
4345 return result.get().get() != Py_False((PyObject *) &_Py_FalseStruct);
4346}
4347
4348// resolve a dotted Python name in the form
4349// foo.bar.baz.Foobar to an actual Python object
4350// if pmodule is NULL, the __main__ module will be used
4351// as the starting point for the search
4352
4353// This function is called by
4354// lldb_private::ScriptInterpreterPython::BreakpointCallbackFunction(...) and is
4355// used when a script command is attached to a breakpoint for execution.
4356
4357// This function is called by
4358// lldb_private::ScriptInterpreterPython::WatchpointCallbackFunction(...) and is
4359// used when a script command is attached to a watchpoint for execution.
4360
4361bool lldb_private::LLDBSwigPythonWatchpointCallbackFunction(
4362 const char *python_function_name, const char *session_dictionary_name,
4363 const lldb::StackFrameSP &frame_sp, const lldb::WatchpointSP &wp_sp) {
4364
4365 bool stop_at_watchpoint = true;
4366
4367 PyErr_Cleaner py_err_cleaner(true);
4368
4369 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4370 session_dictionary_name);
4371 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4372 python_function_name, dict);
4373
4374 if (!pfunc.IsAllocated())
4375 return stop_at_watchpoint;
4376
4377 PythonObject result =
4378 pfunc(ToSWIGWrapper(frame_sp), ToSWIGWrapper(wp_sp), dict);
4379
4380 if (result.get() == Py_False((PyObject *) &_Py_FalseStruct))
4381 stop_at_watchpoint = false;
4382
4383 return stop_at_watchpoint;
4384}
4385
4386// This function is called by
4387// ScriptInterpreterPython::FormatterMatchingCallbackFunction and it's used when
4388// a data formatter provides the name of a callback to inspect a candidate type
4389// before considering a match.
4390bool lldb_private::LLDBSwigPythonFormatterCallbackFunction(
4391 const char *python_function_name, const char *session_dictionary_name,
4392 lldb::TypeImplSP type_impl_sp) {
4393
4394 PyErr_Cleaner py_err_cleaner(true);
4395
4396 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4397 session_dictionary_name);
4398 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4399 python_function_name, dict);
4400
4401 if (!pfunc.IsAllocated())
4402 return false;
4403
4404 PythonObject result =
4405 pfunc(ToSWIGWrapper(type_impl_sp), dict);
4406
4407 // Only if everything goes okay and the function returns True we'll consider
4408 // it a match.
4409 return result.get() == Py_True((PyObject *) &_Py_TrueStruct);
4410}
4411
4412bool lldb_private::LLDBSwigPythonCallTypeScript(
4413 const char *python_function_name, const void *session_dictionary,
4414 const lldb::ValueObjectSP &valobj_sp, void **pyfunct_wrapper,
4415 const lldb::TypeSummaryOptionsSP &options_sp, std::string &retval) {
4416
4417 retval.clear();
4418
4419 if (!python_function_name || !session_dictionary)
4420 return false;
4421
4422 PyObject *pfunc_impl = nullptr;
4423
4424 if (pyfunct_wrapper && *pyfunct_wrapper &&
4425 PyFunction_Check(*pyfunct_wrapper)_Py_IS_TYPE(((const PyObject*)(*pyfunct_wrapper)), &PyFunction_Type
)
) {
4426 pfunc_impl = (PyObject *)(*pyfunct_wrapper);
4427 if (pfunc_impl->ob_refcnt == 1) {
4428 Py_XDECREF(pfunc_impl)_Py_XDECREF(((PyObject*)(pfunc_impl)));
4429 pfunc_impl = NULL__null;
4430 }
4431 }
4432
4433 PyObject *py_dict = (PyObject *)session_dictionary;
4434 if (!PythonDictionary::Check(py_dict))
4435 return true;
4436
4437 PythonDictionary dict(PyRefType::Borrowed, py_dict);
4438
4439 PyErr_Cleaner pyerr_cleanup(true); // show Python errors
4440
4441 PythonCallable pfunc(PyRefType::Borrowed, pfunc_impl);
4442
4443 if (!pfunc.IsAllocated()) {
4444 pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4445 python_function_name, dict);
4446 if (!pfunc.IsAllocated())
4447 return false;
4448
4449 if (pyfunct_wrapper) {
4450 *pyfunct_wrapper = pfunc.get();
4451 Py_XINCREF(pfunc.get())_Py_XINCREF(((PyObject*)(pfunc.get())));
4452 }
4453 }
4454
4455 PythonObject result;
4456 auto argc = pfunc.GetArgInfo();
4457 if (!argc) {
4458 llvm::consumeError(argc.takeError());
4459 return false;
4460 }
4461
4462 PythonObject value_arg = ToSWIGWrapper(valobj_sp);
4463
4464 if (argc.get().max_positional_args < 3)
4465 result = pfunc(value_arg, dict);
4466 else
4467 result = pfunc(value_arg, dict, ToSWIGWrapper(*options_sp));
4468
4469 retval = result.Str().GetString().str();
4470
4471 return true;
4472}
4473
4474PythonObject lldb_private::LLDBSwigPythonCreateSyntheticProvider(
4475 const char *python_class_name, const char *session_dictionary_name,
4476 const lldb::ValueObjectSP &valobj_sp) {
4477 if (python_class_name == NULL__null || python_class_name[0] == '\0' ||
4478 !session_dictionary_name)
4479 return PythonObject();
4480
4481 PyErr_Cleaner py_err_cleaner(true);
4482
4483 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4484 session_dictionary_name);
4485 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4486 python_class_name, dict);
4487
4488 if (!pfunc.IsAllocated())
4489 return PythonObject();
4490
4491 auto sb_value = std::make_unique<lldb::SBValue>(valobj_sp);
4492 sb_value->SetPreferSyntheticValue(false);
4493
4494 PythonObject val_arg = ToSWIGWrapper(std::move(sb_value));
4495 if (!val_arg.IsAllocated())
4496 return PythonObject();
4497
4498 PythonObject result = pfunc(val_arg, dict);
4499
4500 if (result.IsAllocated())
4501 return result;
4502
4503 return PythonObject();
4504}
4505
4506PythonObject lldb_private::LLDBSwigPythonCreateCommandObject(
4507 const char *python_class_name, const char *session_dictionary_name,
4508 lldb::DebuggerSP debugger_sp) {
4509 if (python_class_name == NULL__null || python_class_name[0] == '\0' ||
4510 !session_dictionary_name)
4511 return PythonObject();
4512
4513 PyErr_Cleaner py_err_cleaner(true);
4514 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4515 session_dictionary_name);
4516 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4517 python_class_name, dict);
4518
4519 if (!pfunc.IsAllocated())
4520 return PythonObject();
4521
4522 return pfunc(ToSWIGWrapper(std::move(debugger_sp)), dict);
4523}
4524
4525PythonObject lldb_private::LLDBSwigPythonCreateScriptedProcess(
4526 const char *python_class_name, const char *session_dictionary_name,
4527 const lldb::TargetSP &target_sp,
4528 const lldb_private::StructuredDataImpl &args_impl,
4529 std::string &error_string) {
4530 if (python_class_name == NULL__null || python_class_name[0] == '\0' ||
4531 !session_dictionary_name)
4532 return PythonObject();
4533
4534 PyErr_Cleaner py_err_cleaner(true);
4535
4536 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4537 session_dictionary_name);
4538 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4539 python_class_name, dict);
4540
4541 if (!pfunc.IsAllocated()) {
4542 error_string.append("could not find script class: ");
4543 error_string.append(python_class_name);
4544 return PythonObject();
4545 }
4546
4547 PythonObject target_arg = ToSWIGWrapper(target_sp);
4548
4549 llvm::Expected<PythonCallable::ArgInfo> arg_info = pfunc.GetArgInfo();
4550 if (!arg_info) {
4551 llvm::handleAllErrors(
4552 arg_info.takeError(),
4553 [&](PythonException &E) { error_string.append(E.ReadBacktrace()); },
4554 [&](const llvm::ErrorInfoBase &E) {
4555 error_string.append(E.message());
4556 });
4557 return PythonObject();
4558 }
4559
4560 PythonObject result = {};
4561 if (arg_info.get().max_positional_args == 2) {
4562 result = pfunc(target_arg, ToSWIGWrapper(args_impl));
4563 } else {
4564 error_string.assign("wrong number of arguments in __init__, should be 2 "
4565 "(not including self)");
4566 }
4567 return result;
4568}
4569
4570PythonObject lldb_private::LLDBSwigPythonCreateScriptedThread(
4571 const char *python_class_name, const char *session_dictionary_name,
4572 const lldb::ProcessSP &process_sp, const StructuredDataImpl &args_impl,
4573 std::string &error_string) {
4574 if (python_class_name == NULL__null || python_class_name[0] == '\0' ||
4575 !session_dictionary_name)
4576 return PythonObject();
4577
4578 PyErr_Cleaner py_err_cleaner(true);
4579
4580 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4581 session_dictionary_name);
4582 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4583 python_class_name, dict);
4584
4585 if (!pfunc.IsAllocated()) {
4586 error_string.append("could not find script class: ");
4587 error_string.append(python_class_name);
4588 return PythonObject();
4589 }
4590
4591 llvm::Expected<PythonCallable::ArgInfo> arg_info = pfunc.GetArgInfo();
4592 if (!arg_info) {
4593 llvm::handleAllErrors(
4594 arg_info.takeError(),
4595 [&](PythonException &E) { error_string.append(E.ReadBacktrace()); },
4596 [&](const llvm::ErrorInfoBase &E) {
4597 error_string.append(E.message());
4598 });
4599 return PythonObject();
4600 }
4601
4602 if (arg_info.get().max_positional_args == 2)
4603 return pfunc(ToSWIGWrapper(process_sp), ToSWIGWrapper(args_impl));
4604
4605 error_string.assign("wrong number of arguments in __init__, should be 2 "
4606 "(not including self)");
4607 return PythonObject();
4608}
4609
4610PythonObject lldb_private::LLDBSwigPythonCreateScriptedThreadPlan(
4611 const char *python_class_name, const char *session_dictionary_name,
4612 const lldb_private::StructuredDataImpl &args_impl,
4613 std::string &error_string, const lldb::ThreadPlanSP &thread_plan_sp) {
4614 if (python_class_name == NULL__null || python_class_name[0] == '\0' ||
4615 !session_dictionary_name)
4616 return PythonObject();
4617
4618 PyErr_Cleaner py_err_cleaner(true);
4619
4620 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4621 session_dictionary_name);
4622 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4623 python_class_name, dict);
4624
4625 if (!pfunc.IsAllocated()) {
4626 error_string.append("could not find script class: ");
4627 error_string.append(python_class_name);
4628 return PythonObject();
4629 }
4630
4631 PythonObject tp_arg = ToSWIGWrapper(thread_plan_sp);
4632
4633 llvm::Expected<PythonCallable::ArgInfo> arg_info = pfunc.GetArgInfo();
4634 if (!arg_info) {
4635 llvm::handleAllErrors(
4636 arg_info.takeError(),
4637 [&](PythonException &E) { error_string.append(E.ReadBacktrace()); },
4638 [&](const llvm::ErrorInfoBase &E) {
4639 error_string.append(E.message());
4640 });
4641 return PythonObject();
4642 }
4643
4644 PythonObject result = {};
4645 auto args_sb = std::make_unique<lldb::SBStructuredData>(args_impl);
4646 if (arg_info.get().max_positional_args == 2) {
4647 if (args_sb->IsValid()) {
4648 error_string.assign(
4649 "args passed, but __init__ does not take an args dictionary");
4650 return PythonObject();
4651 }
4652 result = pfunc(tp_arg, dict);
4653 } else if (arg_info.get().max_positional_args >= 3) {
4654 result = pfunc(tp_arg, ToSWIGWrapper(std::move(args_sb)), dict);
4655 } else {
4656 error_string.assign("wrong number of arguments in __init__, should be 2 or "
4657 "3 (not including self)");
4658 return PythonObject();
4659 }
4660
4661 // FIXME: At this point we should check that the class we found supports all
4662 // the methods that we need.
4663
4664 return result;
4665}
4666
4667bool lldb_private::LLDBSWIGPythonCallThreadPlan(
4668 void *implementor, const char *method_name, lldb_private::Event *event,
4669 bool &got_error) {
4670 got_error = false;
4671
4672 PyErr_Cleaner py_err_cleaner(false);
4673 PythonObject self(PyRefType::Borrowed, static_cast<PyObject *>(implementor));
4674 auto pfunc = self.ResolveName<PythonCallable>(method_name);
4675
4676 if (!pfunc.IsAllocated())
4677 return false;
4678
4679 PythonObject result;
4680 if (event != nullptr) {
4681 ScopedPythonObject<SBEvent> event_arg = ToSWIGWrapper(event);
4682 result = pfunc(event_arg.obj());
4683 } else
4684 result = pfunc();
4685
4686 if (PyErr_Occurred()) {
4687 got_error = true;
4688 printf("Return value was neither false nor true for call to %s.\n",
4689 method_name);
4690 PyErr_Print();
4691 return false;
4692 }
4693
4694 if (result.get() == Py_True((PyObject *) &_Py_TrueStruct))
4695 return true;
4696 else if (result.get() == Py_False((PyObject *) &_Py_FalseStruct))
4697 return false;
4698
4699 // Somebody returned the wrong thing...
4700 got_error = true;
4701 printf("Wrong return value type for call to %s.\n", method_name);
4702 return false;
4703}
4704
4705PythonObject lldb_private::LLDBSwigPythonCreateScriptedBreakpointResolver(
4706 const char *python_class_name, const char *session_dictionary_name,
4707 const StructuredDataImpl &args_impl,
4708 const lldb::BreakpointSP &breakpoint_sp) {
4709
4710 if (python_class_name == NULL__null || python_class_name[0] == '\0' ||
4711 !session_dictionary_name)
4712 return PythonObject();
4713
4714 PyErr_Cleaner py_err_cleaner(true);
4715
4716 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4717 session_dictionary_name);
4718 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4719 python_class_name, dict);
4720
4721 if (!pfunc.IsAllocated())
4722 return PythonObject();
4723
4724 PythonObject result =
4725 pfunc(ToSWIGWrapper(breakpoint_sp), ToSWIGWrapper(args_impl), dict);
4726 // FIXME: At this point we should check that the class we found supports all
4727 // the methods that we need.
4728
4729 if (result.IsAllocated()) {
4730 // Check that __callback__ is defined:
4731 auto callback_func = result.ResolveName<PythonCallable>("__callback__");
4732 if (callback_func.IsAllocated())
4733 return result;
4734 }
4735 return PythonObject();
4736}
4737
4738unsigned int lldb_private::LLDBSwigPythonCallBreakpointResolver(
4739 void *implementor, const char *method_name,
4740 lldb_private::SymbolContext *sym_ctx) {
4741 PyErr_Cleaner py_err_cleaner(false);
4742 PythonObject self(PyRefType::Borrowed, static_cast<PyObject *>(implementor));
4743 auto pfunc = self.ResolveName<PythonCallable>(method_name);
4744
4745 if (!pfunc.IsAllocated())
4746 return 0;
4747
4748 PythonObject result = sym_ctx ? pfunc(ToSWIGWrapper(*sym_ctx)) : pfunc();
4749
4750 if (PyErr_Occurred()) {
4751 PyErr_Print();
4752 PyErr_Clear();
4753 return 0;
4754 }
4755
4756 // The callback will return a bool, but we're need to also return ints
4757 // so we're squirrelling the bool through as an int... And if you return
4758 // nothing, we'll continue.
4759 if (strcmp(method_name, "__callback__") == 0) {
4760 if (result.get() == Py_False((PyObject *) &_Py_FalseStruct))
4761 return 0;
4762 else
4763 return 1;
4764 }
4765
4766 long long ret_val = unwrapOrSetPythonException(As<long long>(result));
4767
4768 if (PyErr_Occurred()) {
4769 PyErr_Print();
4770 PyErr_Clear();
4771 return 0;
4772 }
4773
4774 return ret_val;
4775}
4776
4777PythonObject lldb_private::LLDBSwigPythonCreateScriptedStopHook(
4778 lldb::TargetSP target_sp, const char *python_class_name,
4779 const char *session_dictionary_name, const StructuredDataImpl &args_impl,
4780 Status &error) {
4781 if (python_class_name == NULL__null || python_class_name[0] == '\0') {
4782 error.SetErrorString("Empty class name.");
4783 return PythonObject();
4784 }
4785 if (!session_dictionary_name) {
4786 error.SetErrorString("No session dictionary");
4787 return PythonObject();
4788 }
4789
4790 PyErr_Cleaner py_err_cleaner(true);
4791
4792 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
4793 session_dictionary_name);
4794 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
4795 python_class_name, dict);
4796
4797 if (!pfunc.IsAllocated()) {
4798 error.SetErrorStringWithFormat("Could not find class: %s.",
4799 python_class_name);
4800 return PythonObject();
4801 }
4802
4803 PythonObject result =
4804 pfunc(ToSWIGWrapper(target_sp), ToSWIGWrapper(args_impl), dict);
4805
4806 if (result.IsAllocated()) {
4807 // Check that the handle_stop callback is defined:
4808 auto callback_func = result.ResolveName<PythonCallable>("handle_stop");
4809 if (callback_func.IsAllocated()) {
4810 if (auto args_info = callback_func.GetArgInfo()) {
4811 size_t num_args = (*args_info).max_positional_args;
4812 if (num_args != 2) {
4813 error.SetErrorStringWithFormat(
4814 "Wrong number of args for "
4815 "handle_stop callback, should be 2 (excluding self), got: %zu",
4816 num_args);
4817 return PythonObject();
4818 } else
4819 return result;
4820 } else {
4821 error.SetErrorString("Couldn't get num arguments for handle_stop "
4822 "callback.");
4823 return PythonObject();
4824 }
4825 return result;
4826 } else {
4827 error.SetErrorStringWithFormat("Class \"%s\" is missing the required "
4828 "handle_stop callback.",
4829 python_class_name);
4830 }
4831 }
4832 return PythonObject();
4833}
4834
4835bool lldb_private::LLDBSwigPythonStopHookCallHandleStop(
4836 void *implementor, lldb::ExecutionContextRefSP exc_ctx_sp,
4837 lldb::StreamSP stream) {
4838 // handle_stop will return a bool with the meaning "should_stop"...
4839 // If you return nothing we'll assume we are going to stop.
4840 // Also any errors should return true, since we should stop on error.
4841
4842 PyErr_Cleaner py_err_cleaner(false);
4843 PythonObject self(PyRefType::Borrowed, static_cast<PyObject *>(implementor));
4844 auto pfunc = self.ResolveName<PythonCallable>("handle_stop");
4845
4846 if (!pfunc.IsAllocated())
4847 return true;
4848
4849 auto *sb_stream = new lldb::SBStream();
4850 PythonObject sb_stream_arg =
4851 ToSWIGWrapper(std::unique_ptr<lldb::SBStream>(sb_stream));
4852 PythonObject result =
4853 pfunc(ToSWIGWrapper(std::move(exc_ctx_sp)), sb_stream_arg);
4854
4855 if (PyErr_Occurred()) {
4856 stream->PutCString("Python error occurred handling stop-hook.");
4857 PyErr_Print();
4858 PyErr_Clear();
4859 return true;
4860 }
4861
4862 // Now add the result to the output stream. SBStream only
4863 // makes an internally help StreamString which I can't interpose, so I
4864 // have to copy it over here.
4865 stream->PutCString(sb_stream->GetData());
4866
4867 if (result.get() == Py_False((PyObject *) &_Py_FalseStruct))
4868 return false;
4869 else
4870 return true;
4871}
4872
4873// wrapper that calls an optional instance member of an object taking no
4874// arguments
4875static PyObject *LLDBSwigPython_CallOptionalMember(
4876 PyObject * implementor, char *callee_name,
4877 PyObject *ret_if_not_found = Py_None(&_Py_NoneStruct), bool *was_found = NULL__null) {
4878 PyErr_Cleaner py_err_cleaner(false);
4879
4880 PythonObject self(PyRefType::Borrowed, static_cast<PyObject *>(implementor));
4881 auto pfunc = self.ResolveName<PythonCallable>(callee_name);
4882
4883 if (!pfunc.IsAllocated()) {
4884 if (was_found)
4885 *was_found = false;
4886 Py_XINCREF(ret_if_not_found)_Py_XINCREF(((PyObject*)(ret_if_not_found)));
4887 return ret_if_not_found;
4888 }
4889
4890 if (was_found)
4891 *was_found = true;
4892
4893 PythonObject result = pfunc();
4894 return result.release();
4895}
4896
4897size_t lldb_private::LLDBSwigPython_CalculateNumChildren(PyObject * implementor,
4898 uint32_t max) {
4899 PythonObject self(PyRefType::Borrowed, implementor);
4900 auto pfunc = self.ResolveName<PythonCallable>("num_children");
4901
4902 if (!pfunc.IsAllocated())
4903 return 0;
4904
4905 auto arg_info = pfunc.GetArgInfo();
4906 if (!arg_info) {
4907 llvm::consumeError(arg_info.takeError());
4908 return 0;
4909 }
4910
4911 size_t ret_val;
4912 if (arg_info.get().max_positional_args < 1)
4913 ret_val = unwrapOrSetPythonException(As<long long>(pfunc.Call()));
4914 else
4915 ret_val = unwrapOrSetPythonException(
4916 As<long long>(pfunc.Call(PythonInteger(max))));
4917
4918 if (PyErr_Occurred()) {
4919 PyErr_Print();
4920 PyErr_Clear();
4921 return 0;
4922 }
4923
4924 if (arg_info.get().max_positional_args < 1)
4925 ret_val = std::min(ret_val, static_cast<size_t>(max));
4926
4927 return ret_val;
4928}
4929
4930PyObject *lldb_private::LLDBSwigPython_GetChildAtIndex(PyObject * implementor,
4931 uint32_t idx) {
4932 PyErr_Cleaner py_err_cleaner(true);
4933
4934 PythonObject self(PyRefType::Borrowed, implementor);
4935 auto pfunc = self.ResolveName<PythonCallable>("get_child_at_index");
4936
4937 if (!pfunc.IsAllocated())
4938 return nullptr;
4939
4940 PythonObject result = pfunc(PythonInteger(idx));
4941
4942 if (!result.IsAllocated())
4943 return nullptr;
4944
4945 lldb::SBValue *sbvalue_ptr = nullptr;
4946 if (SWIG_ConvertPtr(result.get(), (void **)&sbvalue_ptr,SWIG_Python_ConvertPtrAndOwn(result.get(), (void **)&sbvalue_ptr
, swig_types[81], 0, 0)
4947 SWIGTYPE_p_lldb__SBValue, 0)SWIG_Python_ConvertPtrAndOwn(result.get(), (void **)&sbvalue_ptr
, swig_types[81], 0, 0)
== -1)
4948 return nullptr;
4949
4950 if (sbvalue_ptr == nullptr)
4951 return nullptr;
4952
4953 return result.release();
4954}
4955
4956int lldb_private::LLDBSwigPython_GetIndexOfChildWithName(
4957 PyObject * implementor, const char *child_name) {
4958 PyErr_Cleaner py_err_cleaner(true);
4959
4960 PythonObject self(PyRefType::Borrowed, implementor);
4961 auto pfunc = self.ResolveName<PythonCallable>("get_child_index");
4962
4963 if (!pfunc.IsAllocated())
4964 return UINT32_MAX(4294967295U);
4965
4966 llvm::Expected<PythonObject> result = pfunc.Call(PythonString(child_name));
4967
4968 long long retval =
4969 unwrapOrSetPythonException(As<long long>(std::move(result)));
4970
4971 if (PyErr_Occurred()) {
4972 PyErr_Clear(); // FIXME print this? do something else
4973 return UINT32_MAX(4294967295U);
4974 }
4975
4976 if (retval >= 0)
4977 return (uint32_t)retval;
4978
4979 return UINT32_MAX(4294967295U);
4980}
4981
4982bool lldb_private::LLDBSwigPython_UpdateSynthProviderInstance(PyObject *
4983 implementor) {
4984 bool ret_val = false;
4985
4986 static char callee_name[] = "update";
4987
4988 PyObject *py_return =
4989 LLDBSwigPython_CallOptionalMember(implementor, callee_name);
4990
4991 if (py_return == Py_True((PyObject *) &_Py_TrueStruct))
4992 ret_val = true;
4993
4994 Py_XDECREF(py_return)_Py_XDECREF(((PyObject*)(py_return)));
4995
4996 return ret_val;
4997}
4998
4999bool lldb_private::LLDBSwigPython_MightHaveChildrenSynthProviderInstance(
5000 PyObject * implementor) {
5001 bool ret_val = false;
5002
5003 static char callee_name[] = "has_children";
5004
5005 PyObject *py_return =
5006 LLDBSwigPython_CallOptionalMember(implementor, callee_name, Py_True((PyObject *) &_Py_TrueStruct));
5007
5008 if (py_return == Py_True((PyObject *) &_Py_TrueStruct))
5009 ret_val = true;
5010
5011 Py_XDECREF(py_return)_Py_XDECREF(((PyObject*)(py_return)));
5012
5013 return ret_val;
5014}
5015
5016PyObject *lldb_private::LLDBSwigPython_GetValueSynthProviderInstance(
5017 PyObject * implementor) {
5018 PyObject *ret_val = nullptr;
5019
5020 static char callee_name[] = "get_value";
5021
5022 PyObject *py_return =
5023 LLDBSwigPython_CallOptionalMember(implementor, callee_name, Py_None(&_Py_NoneStruct));
5024
5025 if (py_return == Py_None(&_Py_NoneStruct) || py_return == nullptr)
5026 ret_val = nullptr;
5027
5028 lldb::SBValue *sbvalue_ptr = NULL__null;
5029
5030 if (SWIG_ConvertPtr(py_return, (void **)&sbvalue_ptr,SWIG_Python_ConvertPtrAndOwn(py_return, (void **)&sbvalue_ptr
, swig_types[81], 0, 0)
5031 SWIGTYPE_p_lldb__SBValue, 0)SWIG_Python_ConvertPtrAndOwn(py_return, (void **)&sbvalue_ptr
, swig_types[81], 0, 0)
== -1)
5032 ret_val = nullptr;
5033 else if (sbvalue_ptr == NULL__null)
5034 ret_val = nullptr;
5035 else
5036 ret_val = py_return;
5037
5038 Py_XDECREF(py_return)_Py_XDECREF(((PyObject*)(py_return)));
5039 return ret_val;
5040}
5041
5042void *lldb_private::LLDBSWIGPython_CastPyObjectToSBData(PyObject * data) {
5043 lldb::SBData *sb_ptr = nullptr;
5044
5045 int valid_cast =
5046 SWIG_ConvertPtr(data, (void **)&sb_ptr, SWIGTYPE_p_lldb__SBData, 0)SWIG_Python_ConvertPtrAndOwn(data, (void **)&sb_ptr, swig_types
[20], 0, 0)
;
5047
5048 if (valid_cast == -1)
5049 return NULL__null;
5050
5051 return sb_ptr;
5052}
5053
5054void *lldb_private::LLDBSWIGPython_CastPyObjectToSBError(PyObject * data) {
5055 lldb::SBError *sb_ptr = nullptr;
5056
5057 int valid_cast =
5058 SWIG_ConvertPtr(data, (void **)&sb_ptr, SWIGTYPE_p_lldb__SBError, 0)SWIG_Python_ConvertPtrAndOwn(data, (void **)&sb_ptr, swig_types
[24], 0, 0)
;
5059
5060 if (valid_cast == -1)
5061 return NULL__null;
5062
5063 return sb_ptr;
5064}
5065
5066void *lldb_private::LLDBSWIGPython_CastPyObjectToSBValue(PyObject * data) {
5067 lldb::SBValue *sb_ptr = NULL__null;
5068
5069 int valid_cast =
5070 SWIG_ConvertPtr(data, (void **)&sb_ptr, SWIGTYPE_p_lldb__SBValue, 0)SWIG_Python_ConvertPtrAndOwn(data, (void **)&sb_ptr, swig_types
[81], 0, 0)
;
5071
5072 if (valid_cast == -1)
5073 return NULL__null;
5074
5075 return sb_ptr;
5076}
5077
5078void *lldb_private::LLDBSWIGPython_CastPyObjectToSBMemoryRegionInfo(PyObject *
5079 data) {
5080 lldb::SBMemoryRegionInfo *sb_ptr = NULL__null;
5081
5082 int valid_cast = SWIG_ConvertPtr(data, (void **)&sb_ptr,SWIG_Python_ConvertPtrAndOwn(data, (void **)&sb_ptr, swig_types
[40], 0, 0)
5083 SWIGTYPE_p_lldb__SBMemoryRegionInfo, 0)SWIG_Python_ConvertPtrAndOwn(data, (void **)&sb_ptr, swig_types
[40], 0, 0)
;
5084
5085 if (valid_cast == -1)
5086 return NULL__null;
5087
5088 return sb_ptr;
5089}
5090
5091bool lldb_private::LLDBSwigPythonCallCommand(
5092 const char *python_function_name, const char *session_dictionary_name,
5093 lldb::DebuggerSP debugger, const char *args,
5094 lldb_private::CommandReturnObject &cmd_retobj,
5095 lldb::ExecutionContextRefSP exe_ctx_ref_sp) {
5096
5097 PyErr_Cleaner py_err_cleaner(true);
5098 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5099 session_dictionary_name);
5100 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5101 python_function_name, dict);
5102
5103 if (!pfunc.IsAllocated())
5104 return false;
5105
5106 auto argc = pfunc.GetArgInfo();
5107 if (!argc) {
5108 llvm::consumeError(argc.takeError());
5109 return false;
5110 }
5111 PythonObject debugger_arg = ToSWIGWrapper(std::move(debugger));
5112 auto cmd_retobj_arg = ToSWIGWrapper(cmd_retobj);
5113
5114 if (argc.get().max_positional_args < 5u)
5115 pfunc(debugger_arg, PythonString(args), cmd_retobj_arg.obj(), dict);
5116 else
5117 pfunc(debugger_arg, PythonString(args),
5118 ToSWIGWrapper(std::move(exe_ctx_ref_sp)), cmd_retobj_arg.obj(), dict);
5119
5120 return true;
5121}
5122
5123bool lldb_private::LLDBSwigPythonCallCommandObject(
5124 PyObject *implementor, lldb::DebuggerSP debugger, const char *args,
5125 lldb_private::CommandReturnObject &cmd_retobj,
5126 lldb::ExecutionContextRefSP exe_ctx_ref_sp) {
5127
5128 PyErr_Cleaner py_err_cleaner(true);
5129
5130 PythonObject self(PyRefType::Borrowed, implementor);
5131 auto pfunc = self.ResolveName<PythonCallable>("__call__");
5132
5133 if (!pfunc.IsAllocated())
5134 return false;
5135
5136 auto cmd_retobj_arg = ToSWIGWrapper(cmd_retobj);
5137
5138 pfunc(ToSWIGWrapper(std::move(debugger)), PythonString(args),
5139 ToSWIGWrapper(exe_ctx_ref_sp), cmd_retobj_arg.obj());
5140
5141 return true;
5142}
5143
5144PythonObject lldb_private::LLDBSWIGPythonCreateOSPlugin(
5145 const char *python_class_name, const char *session_dictionary_name,
5146 const lldb::ProcessSP &process_sp) {
5147 if (python_class_name == NULL__null || python_class_name[0] == '\0' ||
5148 !session_dictionary_name)
5149 return PythonObject();
5150
5151 PyErr_Cleaner py_err_cleaner(true);
5152
5153 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5154 session_dictionary_name);
5155 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5156 python_class_name, dict);
5157
5158 if (!pfunc.IsAllocated())
5159 return PythonObject();
5160
5161 return pfunc(ToSWIGWrapper(process_sp));
5162}
5163
5164PythonObject lldb_private::LLDBSWIGPython_CreateFrameRecognizer(
5165 const char *python_class_name, const char *session_dictionary_name) {
5166 if (python_class_name == NULL__null || python_class_name[0] == '\0' ||
5167 !session_dictionary_name)
5168 return PythonObject();
5169
5170 PyErr_Cleaner py_err_cleaner(true);
5171
5172 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5173 session_dictionary_name);
5174 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5175 python_class_name, dict);
5176
5177 if (!pfunc.IsAllocated())
5178 return PythonObject();
5179
5180 return pfunc();
5181}
5182
5183PyObject *lldb_private::LLDBSwigPython_GetRecognizedArguments(
5184 PyObject * implementor, const lldb::StackFrameSP &frame_sp) {
5185 static char callee_name[] = "get_recognized_arguments";
5186
5187 PythonObject arg = ToSWIGWrapper(frame_sp);
5188
5189 PythonString str(callee_name);
5190 PyObject *result =
5191 PyObject_CallMethodObjArgs(implementor, str.get(), arg.get(), NULL__null);
5192 return result;
5193}
5194
5195void *lldb_private::LLDBSWIGPython_GetDynamicSetting(
5196 void *module, const char *setting, const lldb::TargetSP &target_sp) {
5197 if (!module || !setting)
5198 Py_RETURN_NONEreturn _Py_INCREF(((PyObject*)((&_Py_NoneStruct)))), (&
_Py_NoneStruct)
;
5199
5200 PyErr_Cleaner py_err_cleaner(true);
5201 PythonObject py_module(PyRefType::Borrowed, (PyObject *)module);
5202 auto pfunc = py_module.ResolveName<PythonCallable>("get_dynamic_setting");
5203
5204 if (!pfunc.IsAllocated())
5205 Py_RETURN_NONEreturn _Py_INCREF(((PyObject*)((&_Py_NoneStruct)))), (&
_Py_NoneStruct)
;
5206
5207 auto result = pfunc(ToSWIGWrapper(target_sp), PythonString(setting));
5208
5209 return result.release();
5210}
5211
5212bool lldb_private::LLDBSWIGPythonRunScriptKeywordProcess(
5213 const char *python_function_name, const char *session_dictionary_name,
5214 const lldb::ProcessSP &process, std::string &output) {
5215
5216 if (python_function_name == NULL__null || python_function_name[0] == '\0' ||
5217 !session_dictionary_name)
5218 return false;
5219
5220 PyErr_Cleaner py_err_cleaner(true);
5221
5222 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5223 session_dictionary_name);
5224 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5225 python_function_name, dict);
5226
5227 if (!pfunc.IsAllocated())
5228 return false;
5229
5230 auto result = pfunc(ToSWIGWrapper(process), dict);
5231
5232 output = result.Str().GetString().str();
5233
5234 return true;
5235}
5236
5237llvm::Optional<std::string> lldb_private::LLDBSWIGPythonRunScriptKeywordThread(
5238 const char *python_function_name, const char *session_dictionary_name,
5239 lldb::ThreadSP thread) {
5240 if (python_function_name == NULL__null || python_function_name[0] == '\0' ||
5241 !session_dictionary_name)
5242 return llvm::None;
5243
5244 PyErr_Cleaner py_err_cleaner(true);
5245
5246 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5247 session_dictionary_name);
5248 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5249 python_function_name, dict);
5250
5251 if (!pfunc.IsAllocated())
5252 return llvm::None;
5253
5254 auto result = pfunc(ToSWIGWrapper(std::move(thread)), dict);
5255
5256 return result.Str().GetString().str();
5257}
5258
5259bool lldb_private::LLDBSWIGPythonRunScriptKeywordTarget(
5260 const char *python_function_name, const char *session_dictionary_name,
5261 const lldb::TargetSP &target, std::string &output) {
5262
5263 if (python_function_name == NULL__null || python_function_name[0] == '\0' ||
5264 !session_dictionary_name)
5265 return false;
5266
5267 PyErr_Cleaner py_err_cleaner(true);
5268
5269 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5270 session_dictionary_name);
5271 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5272 python_function_name, dict);
5273
5274 if (!pfunc.IsAllocated())
5275 return false;
5276
5277 auto result = pfunc(ToSWIGWrapper(target), dict);
5278
5279 output = result.Str().GetString().str();
5280
5281 return true;
5282}
5283
5284llvm::Optional<std::string> lldb_private::LLDBSWIGPythonRunScriptKeywordFrame(
5285 const char *python_function_name, const char *session_dictionary_name,
5286 lldb::StackFrameSP frame) {
5287 if (python_function_name == NULL__null || python_function_name[0] == '\0' ||
5288 !session_dictionary_name)
5289 return llvm::None;
5290
5291 PyErr_Cleaner py_err_cleaner(true);
5292
5293 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5294 session_dictionary_name);
5295 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5296 python_function_name, dict);
5297
5298 if (!pfunc.IsAllocated())
5299 return llvm::None;
5300
5301 auto result = pfunc(ToSWIGWrapper(std::move(frame)), dict);
5302
5303 return result.Str().GetString().str();
5304}
5305
5306bool lldb_private::LLDBSWIGPythonRunScriptKeywordValue(
5307 const char *python_function_name, const char *session_dictionary_name,
5308 const lldb::ValueObjectSP &value, std::string &output) {
5309
5310 if (python_function_name == NULL__null || python_function_name[0] == '\0' ||
5311 !session_dictionary_name)
5312 return false;
5313
5314 PyErr_Cleaner py_err_cleaner(true);
5315
5316 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5317 session_dictionary_name);
5318 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5319 python_function_name, dict);
5320
5321 if (!pfunc.IsAllocated())
5322 return false;
5323
5324 auto result = pfunc(ToSWIGWrapper(value), dict);
5325
5326 output = result.Str().GetString().str();
5327
5328 return true;
5329}
5330
5331bool lldb_private::LLDBSwigPythonCallModuleInit(
5332 const char *python_module_name, const char *session_dictionary_name,
5333 lldb::DebuggerSP debugger) {
5334 std::string python_function_name_string = python_module_name;
5335 python_function_name_string += ".__lldb_init_module";
5336 const char *python_function_name = python_function_name_string.c_str();
5337
5338 PyErr_Cleaner py_err_cleaner(true);
5339
5340 auto dict = PythonModule::MainModule().ResolveName<PythonDictionary>(
5341 session_dictionary_name);
5342 auto pfunc = PythonObject::ResolveNameWithDictionary<PythonCallable>(
5343 python_function_name, dict);
5344
5345 // This method is optional and need not exist. So if we don't find it,
5346 // it's actually a success, not a failure.
5347 if (!pfunc.IsAllocated())
5348 return true;
5349
5350 pfunc(ToSWIGWrapper(std::move(debugger)), dict);
5351
5352 return true;
5353}
5354
5355lldb::ValueObjectSP lldb_private::LLDBSWIGPython_GetValueObjectSPFromSBValue(
5356 void *data) {
5357 lldb::ValueObjectSP valobj_sp;
5358 if (data) {
5359 lldb::SBValue *sb_ptr = (lldb::SBValue *)data;
5360 valobj_sp = sb_ptr->GetSP();
5361 }
5362 return valobj_sp;
5363}
5364
5365// For the LogOutputCallback functions
5366static void LLDBSwigPythonCallPythonLogOutputCallback(const char *str,
5367 void *baton) {
5368 if (baton != Py_None(&_Py_NoneStruct)) {
5369 SWIG_PYTHON_THREAD_BEGIN_BLOCKSWIG_Python_Thread_Block _swig_thread_block;
5370 PyObject *result = PyObject_CallFunction(
5371 reinterpret_cast<PyObject *>(baton), const_cast<char *>("s"), str);
5372 Py_XDECREF(result)_Py_XDECREF(((PyObject*)(result)));
5373 SWIG_PYTHON_THREAD_END_BLOCK_swig_thread_block.end();
5374 }
5375}
5376
5377#ifdef __cplusplus201703L
5378extern "C" {
5379#endif
5380SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_new_SBAddress__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) {
5381 PyObject *resultobj = 0;
5382 lldb::SBAddress *result = 0 ;
5383
5384 if ((nobjs < 0) || (nobjs > 0)) SWIG_failgoto fail;
5385 {
5386 SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow;
5387 result = (lldb::SBAddress *)new lldb::SBAddress();
5388 SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end();
5389 }
5390 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)
;
5391 return resultobj;
5392fail:
5393 return NULL__null;
5394}
5395
5396
5397SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_new_SBAddress__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) {
5398 PyObject *resultobj = 0;
5399 lldb::SBAddress *arg1 = 0 ;
5400 void *argp1 = 0 ;
5401 int res1 = 0 ;
5402 lldb::SBAddress *result = 0 ;
5403
5404 if ((nobjs < 1) || (nobjs > 1)) SWIG_failgoto fail;
5405 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)
;
5406 if (!SWIG_IsOK(res1)(res1 >= 0)) {
5407 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)
;
5408 }
5409 if (!argp1) {
5410 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)
;
5411 }
5412 arg1 = reinterpret_cast< lldb::SBAddress * >(argp1);
5413 {
5414 SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow;
5415 result = (lldb::SBAddress *)new lldb::SBAddress((lldb::SBAddress const &)*arg1);
5416 SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end();
5417 }
5418 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)
;
5419 return resultobj;
5420fail:
5421 return NULL__null;
5422}
5423
5424
5425SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_new_SBAddress__SWIG_2(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) {
5426 PyObject *resultobj = 0;
5427 lldb::SBSection arg1 ;
5428 lldb::addr_t arg2 ;
5429 void *argp1 ;
5430 int res1 = 0 ;
5431 unsigned long long val2 ;
5432 int ecode2 = 0 ;
5433 lldb::SBAddress *result = 0 ;
5434
5435 if ((nobjs < 2) || (nobjs > 2)) SWIG_failgoto fail;
5436 {
5437 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)
;
5438 if (!SWIG_IsOK(res1)(res1 >= 0)) {
5439 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)
;
5440 }
5441 if (!argp1) {
5442 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)
;
5443 } else {
5444 lldb::SBSection * temp = reinterpret_cast< lldb::SBSection * >(argp1);
5445 arg1 = *temp;
5446 if (SWIG_IsNewObj(res1)((res1 >= 0) && (res1 & ((1 << 8) <<
1)))
) delete temp;
5447 }
5448 }
5449 ecode2 = SWIG_AsVal_unsigned_SS_long_SS_long(swig_obj[1], &val2);
5450 if (!SWIG_IsOK(ecode2)(ecode2 >= 0)) {
5451 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)
;
5452 }
5453 arg2 = static_cast< lldb::addr_t >(val2);
5454 {
5455 SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow;
5456 result = (lldb::SBAddress *)new lldb::SBAddress(arg1,arg2);
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_3(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) {
5467 PyObject *resultobj = 0;
5468 lldb::addr_t arg1 ;
5469 lldb::SBTarget *arg2 = 0 ;
5470 unsigned long long val1 ;
5471 int ecode1 = 0 ;
5472 void *argp2 = 0 ;
5473 int res2 = 0 ;
5474 lldb::SBAddress *result = 0 ;
5475
5476 if ((nobjs < 2) || (nobjs > 2)) SWIG_failgoto fail;
5477 ecode1 = SWIG_AsVal_unsigned_SS_long_SS_long(swig_obj[0], &val1);
5478 if (!SWIG_IsOK(ecode1)(ecode1 >= 0)) {
5479 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)
;
5480 }
5481 arg1 = static_cast< lldb::addr_t >(val1);
5482 res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_lldb__SBTarget, 0 )SWIG_Python_ConvertPtrAndOwn(swig_obj[1], &argp2, swig_types
[61], 0, 0)
;
5483 if (!SWIG_IsOK(res2)(res2 >= 0)) {
5484 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)
;
5485 }
5486 if (!argp2) {
5487 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)
;
5488 }
5489 arg2 = reinterpret_cast< lldb::SBTarget * >(argp2);
5490 {
5491 SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow;
5492 result = (lldb::SBAddress *)new lldb::SBAddress(arg1,*arg2);
5493 SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end();
5494 }
5495 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)
;
5496 return resultobj;
5497fail:
5498 return NULL__null;
5499}
5500
5501
5502SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_new_SBAddress(PyObject *self, PyObject *args) {
5503 Py_ssize_t argc;
5504 PyObject *argv[3] = {
5505 0
5506 };
5507
5508 if (!(argc = SWIG_Python_UnpackTuple(args, "new_SBAddress", 0, 2, argv))) SWIG_failgoto fail;
5509 --argc;
5510 if (argc == 0) {
5511 return _wrap_new_SBAddress__SWIG_0(self, argc, argv);
5512 }
5513 if (argc == 1) {
5514 int _v;
5515 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)
;
5516 _v = SWIG_CheckState(res)((res >= 0) ? 1 : 0);
5517 if (_v) {
5518 return _wrap_new_SBAddress__SWIG_1(self, argc, argv);
5519 }
5520 }
5521 if (argc == 2) {
5522 int _v;
5523 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)
;
5524 _v = SWIG_CheckState(res)((res >= 0) ? 1 : 0);
5525 if (_v) {
5526 {
5527 int res = SWIG_AsVal_unsigned_SS_long_SS_long(argv[1], NULL__null);
5528 _v = SWIG_CheckState(res)((res >= 0) ? 1 : 0);
5529 }
5530 if (_v) {
5531 return _wrap_new_SBAddress__SWIG_2(self, argc, argv);
5532 }
5533 }
5534 }
5535 if (argc == 2) {
5536 int _v;
5537 {
5538 int res = SWIG_AsVal_unsigned_SS_long_SS_long(argv[0], NULL__null);
5539 _v = SWIG_CheckState(res)((res >= 0) ? 1 : 0);
5540 }
5541 if (_v) {
5542 void *vptr = 0;
5543 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)
;
5544 _v = SWIG_CheckState(res)((res >= 0) ? 1 : 0);
5545 if (_v) {
5546 return _wrap_new_SBAddress__SWIG_3(self, argc, argv);
5547 }
5548 }
5549 }
5550
5551fail:
5552 SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_SBAddress'.\n"
5553 " Possible C/C++ prototypes are:\n"
5554 " lldb::SBAddress::SBAddress()\n"
5555 " lldb::SBAddress::SBAddress(lldb::SBAddress const &)\n"
5556 " lldb::SBAddress::SBAddress(lldb::SBSection,lldb::addr_t)\n"
5557 " lldb::SBAddress::SBAddress(lldb::addr_t,lldb::SBTarget &)\n");
5558 return 0;
5559}
5560
5561
5562SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_delete_SBAddress(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5563 PyObject *resultobj = 0;
5564 lldb::SBAddress *arg1 = (lldb::SBAddress *) 0 ;
5565 void *argp1 = 0 ;
5566 int res1 = 0 ;
5567 PyObject *swig_obj[1] ;
5568
5569 if (!args) SWIG_failgoto fail;
5570 swig_obj[0] = args;
5571 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)
;
5572 if (!SWIG_IsOK(res1)(res1 >= 0)) {
5573 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)
;
5574 }
5575 arg1 = reinterpret_cast< lldb::SBAddress * >(argp1);
5576 {
5577 SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow;
5578 delete arg1;
5579 SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end();
5580 }
5581 resultobj = SWIG_Py_Void();
5582 return resultobj;
5583fail:
5584 return NULL__null;
5585}
5586
5587
5588SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_SBAddress_IsValid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5589 PyObject *resultobj = 0;
5590 lldb::SBAddress *arg1 = (lldb::SBAddress *) 0 ;
5591 void *argp1 = 0 ;
5592 int res1 = 0 ;
5593 PyObject *swig_obj[1] ;
5594 bool result;
5595
5596 if (!args) SWIG_failgoto fail;
5597 swig_obj[0] = args;
5598 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)
;
5599 if (!SWIG_IsOK(res1)(res1 >= 0)) {
5600 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SBAddress_IsValid" "', argument " "1"" of type '" "lldb::SBAddress const *""'")do { SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(((res1 != (
-1)) ? res1 : -5)), "in method '" "SBAddress_IsValid" "', argument "
"1"" of type '" "lldb::SBAddress const *""'"); goto fail; } while
(0)
;
5601 }
5602 arg1 = reinterpret_cast< lldb::SBAddress * >(argp1);
5603 {
5604 SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow;
5605 result = (bool)((lldb::SBAddress const *)arg1)->IsValid();
5606 SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end();
5607 }
5608 resultobj = SWIG_From_bool(static_cast< bool >(result));
5609 return resultobj;
5610fail:
5611 return NULL__null;
5612}
5613
5614
5615SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_SBAddress___nonzero__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5616 PyObject *resultobj = 0;
5617 lldb::SBAddress *arg1 = (lldb::SBAddress *) 0 ;
5618 void *argp1 = 0 ;
5619 int res1 = 0 ;
5620 PyObject *swig_obj[1] ;
5621 bool result;
5622
5623 if (!args) SWIG_failgoto fail;
5624 swig_obj[0] = args;
5625 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)
;
5626 if (!SWIG_IsOK(res1)(res1 >= 0)) {
5627 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)
;
5628 }
5629 arg1 = reinterpret_cast< lldb::SBAddress * >(argp1);
5630 {
5631 SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow;
5632 result = (bool)((lldb::SBAddress const *)arg1)->operator bool();
5633 SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end();
5634 }
5635 resultobj = SWIG_From_bool(static_cast< bool >(result));
5636 return resultobj;
5637fail:
5638 return NULL__null;
5639}
5640
5641
5642SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_SBAddress___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5643 PyObject *resultobj = 0;
5644 lldb::SBAddress *arg1 = (lldb::SBAddress *) 0 ;
5645 lldb::SBAddress *arg2 = 0 ;
5646 void *argp1 = 0 ;
5647 int res1 = 0 ;
5648 void *argp2 = 0 ;
5649 int res2 = 0 ;
5650 PyObject *swig_obj[2] ;
5651 bool result;
5652
5653 if (!SWIG_Python_UnpackTuple(args, "SBAddress___ne__", 2, 2, swig_obj)) SWIG_failgoto fail;
5654 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)
;
5655 if (!SWIG_IsOK(res1)(res1 >= 0)) {
5656 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)
;
5657 }
5658 arg1 = reinterpret_cast< lldb::SBAddress * >(argp1);
5659 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)
;
5660 if (!SWIG_IsOK(res2)(res2 >= 0)) {
5661 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SBAddress___ne__" "', argument " "2"" of type '" "lldb::SBAddress const &""'")do { SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(((res2 != (
-1)) ? res2 : -5)), "in method '" "SBAddress___ne__" "', argument "
"2"" of type '" "lldb::SBAddress const &""'"); goto fail
; } while(0)
;
5662 }
5663 if (!argp2) {
5664 SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SBAddress___ne__" "', argument " "2"" of type '" "lldb::SBAddress const &""'")do { SWIG_Python_SetErrorMsg(SWIG_Python_ErrorType(-9), "invalid null reference "
"in method '" "SBAddress___ne__" "', argument " "2"" of type '"
"lldb::SBAddress const &""'"); goto fail; } while(0)
;
5665 }
5666 arg2 = reinterpret_cast< lldb::SBAddress * >(argp2);
5667 {
5668 SWIG_PYTHON_THREAD_BEGIN_ALLOWSWIG_Python_Thread_Allow _swig_thread_allow;
5669 result = (bool)((lldb::SBAddress const *)arg1)->operator !=((lldb::SBAddress const &)*arg2);
5670 SWIG_PYTHON_THREAD_END_ALLOW_swig_thread_allow.end();
5671 }
5672 resultobj = SWIG_From_bool(static_cast< bool >(result));
5673 return resultobj;
5674fail:
5675 PyErr_Clear();
5676 Py_INCREF(Py_NotImplemented)_Py_INCREF(((PyObject*)((&_Py_NotImplementedStruct))));
5677 return Py_NotImplemented(&_Py_NotImplementedStruct);
5678}
5679
5680
5681SWIGINTERNstatic __attribute__ ((__unused__)) PyObject *_wrap_SBAddress_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5682 PyObject *resultobj = 0;
5683 lldb::SBAddress *arg1 = (lldb::SBAddress *) 0 ;
5684 void *argp1 = 0 ;
5685 int res1 = 0 ;
5686 PyObject *swig_obj[1] ;
5687