Bug Summary

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