Bug Summary

File:build/llvm-toolchain-snapshot-16~++20220904122748+c444af1c20b3/build-llvm/tools/clang/stage2-bins/tools/lldb/bindings/python/LLDBWrapPython.cpp
Warning:line 55611, column 7
Potential leak of memory pointed to by 'arg3'

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