Bug Summary

File:build/llvm-toolchain-snapshot-15~++20220420111733+e13d2efed663/build-llvm/tools/clang/stage2-bins/tools/lldb/bindings/python/LLDBWrapPython.cpp
Warning:line 58802, column 14
2nd function call argument is an uninitialized value

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