1# This file was automatically generated by SWIG (https://www.swig.org).
2# Version 4.2.1
3#
4# Do not make changes to this file unless you know what you are doing - modify
5# the SWIG interface file instead.
6
7"""
8The lldb module contains the public APIs for Python binding.
9
10Some of the important classes are described here:
11
12* :py:class:`SBTarget`: Represents the target program running under the debugger.
13* :py:class:`SBProcess`: Represents the process associated with the target program.
14* :py:class:`SBThread`: Represents a thread of execution. :py:class:`SBProcess` contains SBThreads.
15* :py:class:`SBFrame`: Represents one of the stack frames associated with a thread. :py:class:`SBThread`
16  contains SBFrame(s).
17* :py:class:`SBSymbolContext`: A container that stores various debugger related info.
18* :py:class:`SBValue`: Represents the value of a variable, a register, or an expression.
19* :py:class:`SBModule`: Represents an executable image and its associated object and symbol
20  files.  :py:class:`SBTarget` contains SBModule.
21* :py:class:`SBBreakpoint`: Represents a logical breakpoint and its associated settings.
22  :py:class:`SBTarget` contains SBBreakpoints.
23* :py:class:`SBSymbol`: Represents the symbol possibly associated with a stack frame.
24* :py:class:`SBCompileUnit`: Represents a compilation unit, or compiled source file.
25* :py:class:`SBFunction`: Represents a generic function, which can be inlined or not.
26* :py:class:`SBBlock`: Represents a lexical block. :py:class:`SBFunction` contains SBBlocks.
27* :py:class:`SBLineEntry`: Specifies an association with a contiguous range of instructions
28  and a source file location. :py:class:`SBCompileUnit` contains SBLineEntry.
29
30The different enums in the `lldb` module are described in :doc:`python_api_enums`.
31
32
33"""
34
35from sys import version_info as _swig_python_version_info
36try:
37    # Try an absolute import first.  If we're being loaded from lldb,
38    # _lldb should be a built-in module.
39    import _lldb
40except ImportError:
41    # Relative import should work if we are being loaded by Python.
42    from . import _lldb
43
44try:
45    import builtins as __builtin__
46except ImportError:
47    import __builtin__
48
49def _swig_repr(self):
50    try:
51        strthis = "proxy of " + self.this.__repr__()
52    except __builtin__.Exception:
53        strthis = ""
54    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
55
56
57def _swig_setattr_nondynamic_instance_variable(set):
58    def set_instance_attr(self, name, value):
59        if name == "this":
60            set(self, name, value)
61        elif name == "thisown":
62            self.this.own(value)
63        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
64            set(self, name, value)
65        else:
66            raise AttributeError("You cannot add instance attributes to %s" % self)
67    return set_instance_attr
68
69
70def _swig_setattr_nondynamic_class_variable(set):
71    def set_class_attr(cls, name, value):
72        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
73            set(cls, name, value)
74        else:
75            raise AttributeError("You cannot add class attributes to %s" % cls)
76    return set_class_attr
77
78
79def _swig_add_metaclass(metaclass):
80    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
81    def wrapper(cls):
82        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
83    return wrapper
84
85
86class _SwigNonDynamicMeta(type):
87    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
88    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
89
90
91
92import uuid
93import re
94import os
95
96
97#SWIG_VERSION is written as a single hex number, but the components of it are
98#meant to be interpreted in decimal. So, 0x030012 is swig 3.0.12, and not
99#3.0.18.
100def _to_int(hex):
101    return hex // 0x10 % 0x10 * 10 + hex % 0x10
102swig_version = (_to_int(0x040201 // 0x10000), _to_int(0x040201 // 0x100), _to_int(0x040201))
103del _to_int
104
105
106# ===================================
107# Iterator for lldb container objects
108# ===================================
109def lldb_iter(obj, getsize, getelem):
110    """A generator adaptor to support iteration for lldb container objects."""
111    size = getattr(obj, getsize)
112    elem = getattr(obj, getelem)
113    for i in range(size()):
114        yield elem(i)
115
116INT32_MAX = _lldb.INT32_MAX
117
118UINT32_MAX = _lldb.UINT32_MAX
119
120UINT64_MAX = _lldb.UINT64_MAX
121
122LLDB_GENERIC_ERROR = _lldb.LLDB_GENERIC_ERROR
123
124LLDB_INVALID_BREAK_ID = _lldb.LLDB_INVALID_BREAK_ID
125
126LLDB_DEFAULT_BREAK_SIZE = _lldb.LLDB_DEFAULT_BREAK_SIZE
127
128LLDB_INVALID_WATCH_ID = _lldb.LLDB_INVALID_WATCH_ID
129
130LLDB_WATCH_TYPE_READ = _lldb.LLDB_WATCH_TYPE_READ
131
132LLDB_WATCH_TYPE_WRITE = _lldb.LLDB_WATCH_TYPE_WRITE
133
134LLDB_WATCH_TYPE_MODIFY = _lldb.LLDB_WATCH_TYPE_MODIFY
135
136LLDB_INVALID_SITE_ID = _lldb.LLDB_INVALID_SITE_ID
137
138LLDB_REGNUM_GENERIC_PC = _lldb.LLDB_REGNUM_GENERIC_PC
139
140LLDB_REGNUM_GENERIC_SP = _lldb.LLDB_REGNUM_GENERIC_SP
141
142LLDB_REGNUM_GENERIC_FP = _lldb.LLDB_REGNUM_GENERIC_FP
143
144LLDB_REGNUM_GENERIC_RA = _lldb.LLDB_REGNUM_GENERIC_RA
145
146LLDB_REGNUM_GENERIC_FLAGS = _lldb.LLDB_REGNUM_GENERIC_FLAGS
147
148LLDB_REGNUM_GENERIC_ARG1 = _lldb.LLDB_REGNUM_GENERIC_ARG1
149
150LLDB_REGNUM_GENERIC_ARG2 = _lldb.LLDB_REGNUM_GENERIC_ARG2
151
152LLDB_REGNUM_GENERIC_ARG3 = _lldb.LLDB_REGNUM_GENERIC_ARG3
153
154LLDB_REGNUM_GENERIC_ARG4 = _lldb.LLDB_REGNUM_GENERIC_ARG4
155
156LLDB_REGNUM_GENERIC_ARG5 = _lldb.LLDB_REGNUM_GENERIC_ARG5
157
158LLDB_REGNUM_GENERIC_ARG6 = _lldb.LLDB_REGNUM_GENERIC_ARG6
159
160LLDB_REGNUM_GENERIC_ARG7 = _lldb.LLDB_REGNUM_GENERIC_ARG7
161
162LLDB_REGNUM_GENERIC_ARG8 = _lldb.LLDB_REGNUM_GENERIC_ARG8
163
164LLDB_REGNUM_GENERIC_TP = _lldb.LLDB_REGNUM_GENERIC_TP
165
166LLDB_INVALID_STOP_ID = _lldb.LLDB_INVALID_STOP_ID
167
168LLDB_INVALID_ADDRESS = _lldb.LLDB_INVALID_ADDRESS
169
170LLDB_INVALID_INDEX32 = _lldb.LLDB_INVALID_INDEX32
171
172LLDB_INVALID_IVAR_OFFSET = _lldb.LLDB_INVALID_IVAR_OFFSET
173
174LLDB_INVALID_IMAGE_TOKEN = _lldb.LLDB_INVALID_IMAGE_TOKEN
175
176LLDB_INVALID_MODULE_VERSION = _lldb.LLDB_INVALID_MODULE_VERSION
177
178LLDB_INVALID_REGNUM = _lldb.LLDB_INVALID_REGNUM
179
180LLDB_INVALID_UID = _lldb.LLDB_INVALID_UID
181
182LLDB_INVALID_PROCESS_ID = _lldb.LLDB_INVALID_PROCESS_ID
183
184LLDB_INVALID_THREAD_ID = _lldb.LLDB_INVALID_THREAD_ID
185
186LLDB_INVALID_FRAME_ID = _lldb.LLDB_INVALID_FRAME_ID
187
188LLDB_INVALID_SIGNAL_NUMBER = _lldb.LLDB_INVALID_SIGNAL_NUMBER
189
190LLDB_INVALID_OFFSET = _lldb.LLDB_INVALID_OFFSET
191
192LLDB_INVALID_LINE_NUMBER = _lldb.LLDB_INVALID_LINE_NUMBER
193
194LLDB_INVALID_COLUMN_NUMBER = _lldb.LLDB_INVALID_COLUMN_NUMBER
195
196LLDB_INVALID_QUEUE_ID = _lldb.LLDB_INVALID_QUEUE_ID
197
198LLDB_INVALID_CPU_ID = _lldb.LLDB_INVALID_CPU_ID
199
200LLDB_INVALID_WATCHPOINT_RESOURCE_ID = _lldb.LLDB_INVALID_WATCHPOINT_RESOURCE_ID
201
202LLDB_ARCH_DEFAULT = _lldb.LLDB_ARCH_DEFAULT
203
204LLDB_ARCH_DEFAULT_32BIT = _lldb.LLDB_ARCH_DEFAULT_32BIT
205
206LLDB_ARCH_DEFAULT_64BIT = _lldb.LLDB_ARCH_DEFAULT_64BIT
207
208LLDB_INVALID_CPUTYPE = _lldb.LLDB_INVALID_CPUTYPE
209
210LLDB_MAX_NUM_OPTION_SETS = _lldb.LLDB_MAX_NUM_OPTION_SETS
211
212LLDB_OPT_SET_ALL = _lldb.LLDB_OPT_SET_ALL
213
214LLDB_OPT_SET_1 = _lldb.LLDB_OPT_SET_1
215
216LLDB_OPT_SET_2 = _lldb.LLDB_OPT_SET_2
217
218LLDB_OPT_SET_3 = _lldb.LLDB_OPT_SET_3
219
220LLDB_OPT_SET_4 = _lldb.LLDB_OPT_SET_4
221
222LLDB_OPT_SET_5 = _lldb.LLDB_OPT_SET_5
223
224LLDB_OPT_SET_6 = _lldb.LLDB_OPT_SET_6
225
226LLDB_OPT_SET_7 = _lldb.LLDB_OPT_SET_7
227
228LLDB_OPT_SET_8 = _lldb.LLDB_OPT_SET_8
229
230LLDB_OPT_SET_9 = _lldb.LLDB_OPT_SET_9
231
232LLDB_OPT_SET_10 = _lldb.LLDB_OPT_SET_10
233
234LLDB_OPT_SET_11 = _lldb.LLDB_OPT_SET_11
235
236LLDB_OPT_SET_12 = _lldb.LLDB_OPT_SET_12
237
238LLDB_INVALID_ADDRESS_MASK = _lldb.LLDB_INVALID_ADDRESS_MASK
239
240eStateInvalid = _lldb.eStateInvalid
241
242eStateUnloaded = _lldb.eStateUnloaded
243
244eStateConnected = _lldb.eStateConnected
245
246eStateAttaching = _lldb.eStateAttaching
247
248eStateLaunching = _lldb.eStateLaunching
249
250eStateStopped = _lldb.eStateStopped
251
252eStateRunning = _lldb.eStateRunning
253
254eStateStepping = _lldb.eStateStepping
255
256eStateCrashed = _lldb.eStateCrashed
257
258eStateDetached = _lldb.eStateDetached
259
260eStateExited = _lldb.eStateExited
261
262eStateSuspended = _lldb.eStateSuspended
263
264kLastStateType = _lldb.kLastStateType
265
266eLaunchFlagNone = _lldb.eLaunchFlagNone
267
268eLaunchFlagExec = _lldb.eLaunchFlagExec
269
270eLaunchFlagDebug = _lldb.eLaunchFlagDebug
271
272eLaunchFlagStopAtEntry = _lldb.eLaunchFlagStopAtEntry
273
274eLaunchFlagDisableASLR = _lldb.eLaunchFlagDisableASLR
275
276eLaunchFlagDisableSTDIO = _lldb.eLaunchFlagDisableSTDIO
277
278eLaunchFlagLaunchInTTY = _lldb.eLaunchFlagLaunchInTTY
279
280eLaunchFlagLaunchInShell = _lldb.eLaunchFlagLaunchInShell
281
282eLaunchFlagLaunchInSeparateProcessGroup = _lldb.eLaunchFlagLaunchInSeparateProcessGroup
283
284eLaunchFlagDontSetExitStatus = _lldb.eLaunchFlagDontSetExitStatus
285
286eLaunchFlagDetachOnError = _lldb.eLaunchFlagDetachOnError
287
288eLaunchFlagShellExpandArguments = _lldb.eLaunchFlagShellExpandArguments
289
290eLaunchFlagCloseTTYOnExit = _lldb.eLaunchFlagCloseTTYOnExit
291
292eLaunchFlagInheritTCCFromParent = _lldb.eLaunchFlagInheritTCCFromParent
293
294eOnlyThisThread = _lldb.eOnlyThisThread
295
296eAllThreads = _lldb.eAllThreads
297
298eOnlyDuringStepping = _lldb.eOnlyDuringStepping
299
300eByteOrderInvalid = _lldb.eByteOrderInvalid
301
302eByteOrderBig = _lldb.eByteOrderBig
303
304eByteOrderPDP = _lldb.eByteOrderPDP
305
306eByteOrderLittle = _lldb.eByteOrderLittle
307
308eEncodingInvalid = _lldb.eEncodingInvalid
309
310eEncodingUint = _lldb.eEncodingUint
311
312eEncodingSint = _lldb.eEncodingSint
313
314eEncodingIEEE754 = _lldb.eEncodingIEEE754
315
316eEncodingVector = _lldb.eEncodingVector
317
318eFormatDefault = _lldb.eFormatDefault
319
320eFormatInvalid = _lldb.eFormatInvalid
321
322eFormatBoolean = _lldb.eFormatBoolean
323
324eFormatBinary = _lldb.eFormatBinary
325
326eFormatBytes = _lldb.eFormatBytes
327
328eFormatBytesWithASCII = _lldb.eFormatBytesWithASCII
329
330eFormatChar = _lldb.eFormatChar
331
332eFormatCharPrintable = _lldb.eFormatCharPrintable
333
334eFormatComplex = _lldb.eFormatComplex
335
336eFormatComplexFloat = _lldb.eFormatComplexFloat
337
338eFormatCString = _lldb.eFormatCString
339
340eFormatDecimal = _lldb.eFormatDecimal
341
342eFormatEnum = _lldb.eFormatEnum
343
344eFormatHex = _lldb.eFormatHex
345
346eFormatHexUppercase = _lldb.eFormatHexUppercase
347
348eFormatFloat = _lldb.eFormatFloat
349
350eFormatOctal = _lldb.eFormatOctal
351
352eFormatOSType = _lldb.eFormatOSType
353
354eFormatUnicode16 = _lldb.eFormatUnicode16
355
356eFormatUnicode32 = _lldb.eFormatUnicode32
357
358eFormatUnsigned = _lldb.eFormatUnsigned
359
360eFormatPointer = _lldb.eFormatPointer
361
362eFormatVectorOfChar = _lldb.eFormatVectorOfChar
363
364eFormatVectorOfSInt8 = _lldb.eFormatVectorOfSInt8
365
366eFormatVectorOfUInt8 = _lldb.eFormatVectorOfUInt8
367
368eFormatVectorOfSInt16 = _lldb.eFormatVectorOfSInt16
369
370eFormatVectorOfUInt16 = _lldb.eFormatVectorOfUInt16
371
372eFormatVectorOfSInt32 = _lldb.eFormatVectorOfSInt32
373
374eFormatVectorOfUInt32 = _lldb.eFormatVectorOfUInt32
375
376eFormatVectorOfSInt64 = _lldb.eFormatVectorOfSInt64
377
378eFormatVectorOfUInt64 = _lldb.eFormatVectorOfUInt64
379
380eFormatVectorOfFloat16 = _lldb.eFormatVectorOfFloat16
381
382eFormatVectorOfFloat32 = _lldb.eFormatVectorOfFloat32
383
384eFormatVectorOfFloat64 = _lldb.eFormatVectorOfFloat64
385
386eFormatVectorOfUInt128 = _lldb.eFormatVectorOfUInt128
387
388eFormatComplexInteger = _lldb.eFormatComplexInteger
389
390eFormatCharArray = _lldb.eFormatCharArray
391
392eFormatAddressInfo = _lldb.eFormatAddressInfo
393
394eFormatHexFloat = _lldb.eFormatHexFloat
395
396eFormatInstruction = _lldb.eFormatInstruction
397
398eFormatVoid = _lldb.eFormatVoid
399
400eFormatUnicode8 = _lldb.eFormatUnicode8
401
402kNumFormats = _lldb.kNumFormats
403
404eDescriptionLevelBrief = _lldb.eDescriptionLevelBrief
405
406eDescriptionLevelFull = _lldb.eDescriptionLevelFull
407
408eDescriptionLevelVerbose = _lldb.eDescriptionLevelVerbose
409
410eDescriptionLevelInitial = _lldb.eDescriptionLevelInitial
411
412kNumDescriptionLevels = _lldb.kNumDescriptionLevels
413
414eScriptLanguageNone = _lldb.eScriptLanguageNone
415
416eScriptLanguagePython = _lldb.eScriptLanguagePython
417
418eScriptLanguageLua = _lldb.eScriptLanguageLua
419
420eScriptLanguageUnknown = _lldb.eScriptLanguageUnknown
421
422eScriptLanguageDefault = _lldb.eScriptLanguageDefault
423
424eRegisterKindEHFrame = _lldb.eRegisterKindEHFrame
425
426eRegisterKindDWARF = _lldb.eRegisterKindDWARF
427
428eRegisterKindGeneric = _lldb.eRegisterKindGeneric
429
430eRegisterKindProcessPlugin = _lldb.eRegisterKindProcessPlugin
431
432eRegisterKindLLDB = _lldb.eRegisterKindLLDB
433
434kNumRegisterKinds = _lldb.kNumRegisterKinds
435
436eStopReasonInvalid = _lldb.eStopReasonInvalid
437
438eStopReasonNone = _lldb.eStopReasonNone
439
440eStopReasonTrace = _lldb.eStopReasonTrace
441
442eStopReasonBreakpoint = _lldb.eStopReasonBreakpoint
443
444eStopReasonWatchpoint = _lldb.eStopReasonWatchpoint
445
446eStopReasonSignal = _lldb.eStopReasonSignal
447
448eStopReasonException = _lldb.eStopReasonException
449
450eStopReasonExec = _lldb.eStopReasonExec
451
452eStopReasonPlanComplete = _lldb.eStopReasonPlanComplete
453
454eStopReasonThreadExiting = _lldb.eStopReasonThreadExiting
455
456eStopReasonInstrumentation = _lldb.eStopReasonInstrumentation
457
458eStopReasonProcessorTrace = _lldb.eStopReasonProcessorTrace
459
460eStopReasonFork = _lldb.eStopReasonFork
461
462eStopReasonVFork = _lldb.eStopReasonVFork
463
464eStopReasonVForkDone = _lldb.eStopReasonVForkDone
465
466eReturnStatusInvalid = _lldb.eReturnStatusInvalid
467
468eReturnStatusSuccessFinishNoResult = _lldb.eReturnStatusSuccessFinishNoResult
469
470eReturnStatusSuccessFinishResult = _lldb.eReturnStatusSuccessFinishResult
471
472eReturnStatusSuccessContinuingNoResult = _lldb.eReturnStatusSuccessContinuingNoResult
473
474eReturnStatusSuccessContinuingResult = _lldb.eReturnStatusSuccessContinuingResult
475
476eReturnStatusStarted = _lldb.eReturnStatusStarted
477
478eReturnStatusFailed = _lldb.eReturnStatusFailed
479
480eReturnStatusQuit = _lldb.eReturnStatusQuit
481
482eExpressionCompleted = _lldb.eExpressionCompleted
483
484eExpressionSetupError = _lldb.eExpressionSetupError
485
486eExpressionParseError = _lldb.eExpressionParseError
487
488eExpressionDiscarded = _lldb.eExpressionDiscarded
489
490eExpressionInterrupted = _lldb.eExpressionInterrupted
491
492eExpressionHitBreakpoint = _lldb.eExpressionHitBreakpoint
493
494eExpressionTimedOut = _lldb.eExpressionTimedOut
495
496eExpressionResultUnavailable = _lldb.eExpressionResultUnavailable
497
498eExpressionStoppedForDebug = _lldb.eExpressionStoppedForDebug
499
500eExpressionThreadVanished = _lldb.eExpressionThreadVanished
501
502eSearchDepthInvalid = _lldb.eSearchDepthInvalid
503
504eSearchDepthTarget = _lldb.eSearchDepthTarget
505
506eSearchDepthModule = _lldb.eSearchDepthModule
507
508eSearchDepthCompUnit = _lldb.eSearchDepthCompUnit
509
510eSearchDepthFunction = _lldb.eSearchDepthFunction
511
512eSearchDepthBlock = _lldb.eSearchDepthBlock
513
514eSearchDepthAddress = _lldb.eSearchDepthAddress
515
516kLastSearchDepthKind = _lldb.kLastSearchDepthKind
517
518eConnectionStatusSuccess = _lldb.eConnectionStatusSuccess
519
520eConnectionStatusEndOfFile = _lldb.eConnectionStatusEndOfFile
521
522eConnectionStatusError = _lldb.eConnectionStatusError
523
524eConnectionStatusTimedOut = _lldb.eConnectionStatusTimedOut
525
526eConnectionStatusNoConnection = _lldb.eConnectionStatusNoConnection
527
528eConnectionStatusLostConnection = _lldb.eConnectionStatusLostConnection
529
530eConnectionStatusInterrupted = _lldb.eConnectionStatusInterrupted
531
532eErrorTypeInvalid = _lldb.eErrorTypeInvalid
533
534eErrorTypeGeneric = _lldb.eErrorTypeGeneric
535
536eErrorTypeMachKernel = _lldb.eErrorTypeMachKernel
537
538eErrorTypePOSIX = _lldb.eErrorTypePOSIX
539
540eErrorTypeExpression = _lldb.eErrorTypeExpression
541
542eErrorTypeWin32 = _lldb.eErrorTypeWin32
543
544eValueTypeInvalid = _lldb.eValueTypeInvalid
545
546eValueTypeVariableGlobal = _lldb.eValueTypeVariableGlobal
547
548eValueTypeVariableStatic = _lldb.eValueTypeVariableStatic
549
550eValueTypeVariableArgument = _lldb.eValueTypeVariableArgument
551
552eValueTypeVariableLocal = _lldb.eValueTypeVariableLocal
553
554eValueTypeRegister = _lldb.eValueTypeRegister
555
556eValueTypeRegisterSet = _lldb.eValueTypeRegisterSet
557
558eValueTypeConstResult = _lldb.eValueTypeConstResult
559
560eValueTypeVariableThreadLocal = _lldb.eValueTypeVariableThreadLocal
561
562eValueTypeVTable = _lldb.eValueTypeVTable
563
564eValueTypeVTableEntry = _lldb.eValueTypeVTableEntry
565
566eInputReaderGranularityInvalid = _lldb.eInputReaderGranularityInvalid
567
568eInputReaderGranularityByte = _lldb.eInputReaderGranularityByte
569
570eInputReaderGranularityWord = _lldb.eInputReaderGranularityWord
571
572eInputReaderGranularityLine = _lldb.eInputReaderGranularityLine
573
574eInputReaderGranularityAll = _lldb.eInputReaderGranularityAll
575
576eSymbolContextTarget = _lldb.eSymbolContextTarget
577
578eSymbolContextModule = _lldb.eSymbolContextModule
579
580eSymbolContextCompUnit = _lldb.eSymbolContextCompUnit
581
582eSymbolContextFunction = _lldb.eSymbolContextFunction
583
584eSymbolContextBlock = _lldb.eSymbolContextBlock
585
586eSymbolContextLineEntry = _lldb.eSymbolContextLineEntry
587
588eSymbolContextSymbol = _lldb.eSymbolContextSymbol
589
590eSymbolContextEverything = _lldb.eSymbolContextEverything
591
592eSymbolContextVariable = _lldb.eSymbolContextVariable
593
594eSymbolContextLastItem = _lldb.eSymbolContextLastItem
595
596ePermissionsWritable = _lldb.ePermissionsWritable
597
598ePermissionsReadable = _lldb.ePermissionsReadable
599
600ePermissionsExecutable = _lldb.ePermissionsExecutable
601
602eInputReaderActivate = _lldb.eInputReaderActivate
603
604eInputReaderAsynchronousOutputWritten = _lldb.eInputReaderAsynchronousOutputWritten
605
606eInputReaderReactivate = _lldb.eInputReaderReactivate
607
608eInputReaderDeactivate = _lldb.eInputReaderDeactivate
609
610eInputReaderGotToken = _lldb.eInputReaderGotToken
611
612eInputReaderInterrupt = _lldb.eInputReaderInterrupt
613
614eInputReaderEndOfFile = _lldb.eInputReaderEndOfFile
615
616eInputReaderDone = _lldb.eInputReaderDone
617
618eBreakpointEventTypeInvalidType = _lldb.eBreakpointEventTypeInvalidType
619
620eBreakpointEventTypeAdded = _lldb.eBreakpointEventTypeAdded
621
622eBreakpointEventTypeRemoved = _lldb.eBreakpointEventTypeRemoved
623
624eBreakpointEventTypeLocationsAdded = _lldb.eBreakpointEventTypeLocationsAdded
625
626eBreakpointEventTypeLocationsRemoved = _lldb.eBreakpointEventTypeLocationsRemoved
627
628eBreakpointEventTypeLocationsResolved = _lldb.eBreakpointEventTypeLocationsResolved
629
630eBreakpointEventTypeEnabled = _lldb.eBreakpointEventTypeEnabled
631
632eBreakpointEventTypeDisabled = _lldb.eBreakpointEventTypeDisabled
633
634eBreakpointEventTypeCommandChanged = _lldb.eBreakpointEventTypeCommandChanged
635
636eBreakpointEventTypeConditionChanged = _lldb.eBreakpointEventTypeConditionChanged
637
638eBreakpointEventTypeIgnoreChanged = _lldb.eBreakpointEventTypeIgnoreChanged
639
640eBreakpointEventTypeThreadChanged = _lldb.eBreakpointEventTypeThreadChanged
641
642eBreakpointEventTypeAutoContinueChanged = _lldb.eBreakpointEventTypeAutoContinueChanged
643
644eWatchpointEventTypeInvalidType = _lldb.eWatchpointEventTypeInvalidType
645
646eWatchpointEventTypeAdded = _lldb.eWatchpointEventTypeAdded
647
648eWatchpointEventTypeRemoved = _lldb.eWatchpointEventTypeRemoved
649
650eWatchpointEventTypeEnabled = _lldb.eWatchpointEventTypeEnabled
651
652eWatchpointEventTypeDisabled = _lldb.eWatchpointEventTypeDisabled
653
654eWatchpointEventTypeCommandChanged = _lldb.eWatchpointEventTypeCommandChanged
655
656eWatchpointEventTypeConditionChanged = _lldb.eWatchpointEventTypeConditionChanged
657
658eWatchpointEventTypeIgnoreChanged = _lldb.eWatchpointEventTypeIgnoreChanged
659
660eWatchpointEventTypeThreadChanged = _lldb.eWatchpointEventTypeThreadChanged
661
662eWatchpointEventTypeTypeChanged = _lldb.eWatchpointEventTypeTypeChanged
663
664eWatchpointWriteTypeDisabled = _lldb.eWatchpointWriteTypeDisabled
665
666eWatchpointWriteTypeAlways = _lldb.eWatchpointWriteTypeAlways
667
668eWatchpointWriteTypeOnModify = _lldb.eWatchpointWriteTypeOnModify
669
670eLanguageTypeUnknown = _lldb.eLanguageTypeUnknown
671
672eLanguageTypeC89 = _lldb.eLanguageTypeC89
673
674eLanguageTypeC = _lldb.eLanguageTypeC
675
676eLanguageTypeAda83 = _lldb.eLanguageTypeAda83
677
678eLanguageTypeC_plus_plus = _lldb.eLanguageTypeC_plus_plus
679
680eLanguageTypeCobol74 = _lldb.eLanguageTypeCobol74
681
682eLanguageTypeCobol85 = _lldb.eLanguageTypeCobol85
683
684eLanguageTypeFortran77 = _lldb.eLanguageTypeFortran77
685
686eLanguageTypeFortran90 = _lldb.eLanguageTypeFortran90
687
688eLanguageTypePascal83 = _lldb.eLanguageTypePascal83
689
690eLanguageTypeModula2 = _lldb.eLanguageTypeModula2
691
692eLanguageTypeJava = _lldb.eLanguageTypeJava
693
694eLanguageTypeC99 = _lldb.eLanguageTypeC99
695
696eLanguageTypeAda95 = _lldb.eLanguageTypeAda95
697
698eLanguageTypeFortran95 = _lldb.eLanguageTypeFortran95
699
700eLanguageTypePLI = _lldb.eLanguageTypePLI
701
702eLanguageTypeObjC = _lldb.eLanguageTypeObjC
703
704eLanguageTypeObjC_plus_plus = _lldb.eLanguageTypeObjC_plus_plus
705
706eLanguageTypeUPC = _lldb.eLanguageTypeUPC
707
708eLanguageTypeD = _lldb.eLanguageTypeD
709
710eLanguageTypePython = _lldb.eLanguageTypePython
711
712eLanguageTypeOpenCL = _lldb.eLanguageTypeOpenCL
713
714eLanguageTypeGo = _lldb.eLanguageTypeGo
715
716eLanguageTypeModula3 = _lldb.eLanguageTypeModula3
717
718eLanguageTypeHaskell = _lldb.eLanguageTypeHaskell
719
720eLanguageTypeC_plus_plus_03 = _lldb.eLanguageTypeC_plus_plus_03
721
722eLanguageTypeC_plus_plus_11 = _lldb.eLanguageTypeC_plus_plus_11
723
724eLanguageTypeOCaml = _lldb.eLanguageTypeOCaml
725
726eLanguageTypeRust = _lldb.eLanguageTypeRust
727
728eLanguageTypeC11 = _lldb.eLanguageTypeC11
729
730eLanguageTypeSwift = _lldb.eLanguageTypeSwift
731
732eLanguageTypeJulia = _lldb.eLanguageTypeJulia
733
734eLanguageTypeDylan = _lldb.eLanguageTypeDylan
735
736eLanguageTypeC_plus_plus_14 = _lldb.eLanguageTypeC_plus_plus_14
737
738eLanguageTypeFortran03 = _lldb.eLanguageTypeFortran03
739
740eLanguageTypeFortran08 = _lldb.eLanguageTypeFortran08
741
742eLanguageTypeRenderScript = _lldb.eLanguageTypeRenderScript
743
744eLanguageTypeBLISS = _lldb.eLanguageTypeBLISS
745
746eLanguageTypeKotlin = _lldb.eLanguageTypeKotlin
747
748eLanguageTypeZig = _lldb.eLanguageTypeZig
749
750eLanguageTypeCrystal = _lldb.eLanguageTypeCrystal
751
752eLanguageTypeC_plus_plus_17 = _lldb.eLanguageTypeC_plus_plus_17
753
754eLanguageTypeC_plus_plus_20 = _lldb.eLanguageTypeC_plus_plus_20
755
756eLanguageTypeC17 = _lldb.eLanguageTypeC17
757
758eLanguageTypeFortran18 = _lldb.eLanguageTypeFortran18
759
760eLanguageTypeAda2005 = _lldb.eLanguageTypeAda2005
761
762eLanguageTypeAda2012 = _lldb.eLanguageTypeAda2012
763
764eLanguageTypeHIP = _lldb.eLanguageTypeHIP
765
766eLanguageTypeAssembly = _lldb.eLanguageTypeAssembly
767
768eLanguageTypeC_sharp = _lldb.eLanguageTypeC_sharp
769
770eLanguageTypeMojo = _lldb.eLanguageTypeMojo
771
772eLanguageTypeMipsAssembler = _lldb.eLanguageTypeMipsAssembler
773
774eNumLanguageTypes = _lldb.eNumLanguageTypes
775
776eInstrumentationRuntimeTypeAddressSanitizer = _lldb.eInstrumentationRuntimeTypeAddressSanitizer
777
778eInstrumentationRuntimeTypeThreadSanitizer = _lldb.eInstrumentationRuntimeTypeThreadSanitizer
779
780eInstrumentationRuntimeTypeUndefinedBehaviorSanitizer = _lldb.eInstrumentationRuntimeTypeUndefinedBehaviorSanitizer
781
782eInstrumentationRuntimeTypeMainThreadChecker = _lldb.eInstrumentationRuntimeTypeMainThreadChecker
783
784eInstrumentationRuntimeTypeSwiftRuntimeReporting = _lldb.eInstrumentationRuntimeTypeSwiftRuntimeReporting
785
786eInstrumentationRuntimeTypeLibsanitizersAsan = _lldb.eInstrumentationRuntimeTypeLibsanitizersAsan
787
788eNumInstrumentationRuntimeTypes = _lldb.eNumInstrumentationRuntimeTypes
789
790eNoDynamicValues = _lldb.eNoDynamicValues
791
792eDynamicCanRunTarget = _lldb.eDynamicCanRunTarget
793
794eDynamicDontRunTarget = _lldb.eDynamicDontRunTarget
795
796eStopShowColumnAnsiOrCaret = _lldb.eStopShowColumnAnsiOrCaret
797
798eStopShowColumnAnsi = _lldb.eStopShowColumnAnsi
799
800eStopShowColumnCaret = _lldb.eStopShowColumnCaret
801
802eStopShowColumnNone = _lldb.eStopShowColumnNone
803
804eAccessNone = _lldb.eAccessNone
805
806eAccessPublic = _lldb.eAccessPublic
807
808eAccessPrivate = _lldb.eAccessPrivate
809
810eAccessProtected = _lldb.eAccessProtected
811
812eAccessPackage = _lldb.eAccessPackage
813
814eArgTypeAddress = _lldb.eArgTypeAddress
815
816eArgTypeAddressOrExpression = _lldb.eArgTypeAddressOrExpression
817
818eArgTypeAliasName = _lldb.eArgTypeAliasName
819
820eArgTypeAliasOptions = _lldb.eArgTypeAliasOptions
821
822eArgTypeArchitecture = _lldb.eArgTypeArchitecture
823
824eArgTypeBoolean = _lldb.eArgTypeBoolean
825
826eArgTypeBreakpointID = _lldb.eArgTypeBreakpointID
827
828eArgTypeBreakpointIDRange = _lldb.eArgTypeBreakpointIDRange
829
830eArgTypeBreakpointName = _lldb.eArgTypeBreakpointName
831
832eArgTypeByteSize = _lldb.eArgTypeByteSize
833
834eArgTypeClassName = _lldb.eArgTypeClassName
835
836eArgTypeCommandName = _lldb.eArgTypeCommandName
837
838eArgTypeCount = _lldb.eArgTypeCount
839
840eArgTypeDescriptionVerbosity = _lldb.eArgTypeDescriptionVerbosity
841
842eArgTypeDirectoryName = _lldb.eArgTypeDirectoryName
843
844eArgTypeDisassemblyFlavor = _lldb.eArgTypeDisassemblyFlavor
845
846eArgTypeEndAddress = _lldb.eArgTypeEndAddress
847
848eArgTypeExpression = _lldb.eArgTypeExpression
849
850eArgTypeExpressionPath = _lldb.eArgTypeExpressionPath
851
852eArgTypeExprFormat = _lldb.eArgTypeExprFormat
853
854eArgTypeFileLineColumn = _lldb.eArgTypeFileLineColumn
855
856eArgTypeFilename = _lldb.eArgTypeFilename
857
858eArgTypeFormat = _lldb.eArgTypeFormat
859
860eArgTypeFrameIndex = _lldb.eArgTypeFrameIndex
861
862eArgTypeFullName = _lldb.eArgTypeFullName
863
864eArgTypeFunctionName = _lldb.eArgTypeFunctionName
865
866eArgTypeFunctionOrSymbol = _lldb.eArgTypeFunctionOrSymbol
867
868eArgTypeGDBFormat = _lldb.eArgTypeGDBFormat
869
870eArgTypeHelpText = _lldb.eArgTypeHelpText
871
872eArgTypeIndex = _lldb.eArgTypeIndex
873
874eArgTypeLanguage = _lldb.eArgTypeLanguage
875
876eArgTypeLineNum = _lldb.eArgTypeLineNum
877
878eArgTypeLogCategory = _lldb.eArgTypeLogCategory
879
880eArgTypeLogChannel = _lldb.eArgTypeLogChannel
881
882eArgTypeMethod = _lldb.eArgTypeMethod
883
884eArgTypeName = _lldb.eArgTypeName
885
886eArgTypeNewPathPrefix = _lldb.eArgTypeNewPathPrefix
887
888eArgTypeNumLines = _lldb.eArgTypeNumLines
889
890eArgTypeNumberPerLine = _lldb.eArgTypeNumberPerLine
891
892eArgTypeOffset = _lldb.eArgTypeOffset
893
894eArgTypeOldPathPrefix = _lldb.eArgTypeOldPathPrefix
895
896eArgTypeOneLiner = _lldb.eArgTypeOneLiner
897
898eArgTypePath = _lldb.eArgTypePath
899
900eArgTypePermissionsNumber = _lldb.eArgTypePermissionsNumber
901
902eArgTypePermissionsString = _lldb.eArgTypePermissionsString
903
904eArgTypePid = _lldb.eArgTypePid
905
906eArgTypePlugin = _lldb.eArgTypePlugin
907
908eArgTypeProcessName = _lldb.eArgTypeProcessName
909
910eArgTypePythonClass = _lldb.eArgTypePythonClass
911
912eArgTypePythonFunction = _lldb.eArgTypePythonFunction
913
914eArgTypePythonScript = _lldb.eArgTypePythonScript
915
916eArgTypeQueueName = _lldb.eArgTypeQueueName
917
918eArgTypeRegisterName = _lldb.eArgTypeRegisterName
919
920eArgTypeRegularExpression = _lldb.eArgTypeRegularExpression
921
922eArgTypeRunArgs = _lldb.eArgTypeRunArgs
923
924eArgTypeRunMode = _lldb.eArgTypeRunMode
925
926eArgTypeScriptedCommandSynchronicity = _lldb.eArgTypeScriptedCommandSynchronicity
927
928eArgTypeScriptLang = _lldb.eArgTypeScriptLang
929
930eArgTypeSearchWord = _lldb.eArgTypeSearchWord
931
932eArgTypeSelector = _lldb.eArgTypeSelector
933
934eArgTypeSettingIndex = _lldb.eArgTypeSettingIndex
935
936eArgTypeSettingKey = _lldb.eArgTypeSettingKey
937
938eArgTypeSettingPrefix = _lldb.eArgTypeSettingPrefix
939
940eArgTypeSettingVariableName = _lldb.eArgTypeSettingVariableName
941
942eArgTypeShlibName = _lldb.eArgTypeShlibName
943
944eArgTypeSourceFile = _lldb.eArgTypeSourceFile
945
946eArgTypeSortOrder = _lldb.eArgTypeSortOrder
947
948eArgTypeStartAddress = _lldb.eArgTypeStartAddress
949
950eArgTypeSummaryString = _lldb.eArgTypeSummaryString
951
952eArgTypeSymbol = _lldb.eArgTypeSymbol
953
954eArgTypeThreadID = _lldb.eArgTypeThreadID
955
956eArgTypeThreadIndex = _lldb.eArgTypeThreadIndex
957
958eArgTypeThreadName = _lldb.eArgTypeThreadName
959
960eArgTypeTypeName = _lldb.eArgTypeTypeName
961
962eArgTypeUnsignedInteger = _lldb.eArgTypeUnsignedInteger
963
964eArgTypeUnixSignal = _lldb.eArgTypeUnixSignal
965
966eArgTypeVarName = _lldb.eArgTypeVarName
967
968eArgTypeValue = _lldb.eArgTypeValue
969
970eArgTypeWidth = _lldb.eArgTypeWidth
971
972eArgTypeNone = _lldb.eArgTypeNone
973
974eArgTypePlatform = _lldb.eArgTypePlatform
975
976eArgTypeWatchpointID = _lldb.eArgTypeWatchpointID
977
978eArgTypeWatchpointIDRange = _lldb.eArgTypeWatchpointIDRange
979
980eArgTypeWatchType = _lldb.eArgTypeWatchType
981
982eArgRawInput = _lldb.eArgRawInput
983
984eArgTypeCommand = _lldb.eArgTypeCommand
985
986eArgTypeColumnNum = _lldb.eArgTypeColumnNum
987
988eArgTypeModuleUUID = _lldb.eArgTypeModuleUUID
989
990eArgTypeSaveCoreStyle = _lldb.eArgTypeSaveCoreStyle
991
992eArgTypeLogHandler = _lldb.eArgTypeLogHandler
993
994eArgTypeSEDStylePair = _lldb.eArgTypeSEDStylePair
995
996eArgTypeRecognizerID = _lldb.eArgTypeRecognizerID
997
998eArgTypeConnectURL = _lldb.eArgTypeConnectURL
999
1000eArgTypeTargetID = _lldb.eArgTypeTargetID
1001
1002eArgTypeStopHookID = _lldb.eArgTypeStopHookID
1003
1004eArgTypeCompletionType = _lldb.eArgTypeCompletionType
1005
1006eArgTypeRemotePath = _lldb.eArgTypeRemotePath
1007
1008eArgTypeRemoteFilename = _lldb.eArgTypeRemoteFilename
1009
1010eArgTypeModule = _lldb.eArgTypeModule
1011
1012eArgTypeLastArg = _lldb.eArgTypeLastArg
1013
1014eSymbolTypeAny = _lldb.eSymbolTypeAny
1015
1016eSymbolTypeInvalid = _lldb.eSymbolTypeInvalid
1017
1018eSymbolTypeAbsolute = _lldb.eSymbolTypeAbsolute
1019
1020eSymbolTypeCode = _lldb.eSymbolTypeCode
1021
1022eSymbolTypeResolver = _lldb.eSymbolTypeResolver
1023
1024eSymbolTypeData = _lldb.eSymbolTypeData
1025
1026eSymbolTypeTrampoline = _lldb.eSymbolTypeTrampoline
1027
1028eSymbolTypeRuntime = _lldb.eSymbolTypeRuntime
1029
1030eSymbolTypeException = _lldb.eSymbolTypeException
1031
1032eSymbolTypeSourceFile = _lldb.eSymbolTypeSourceFile
1033
1034eSymbolTypeHeaderFile = _lldb.eSymbolTypeHeaderFile
1035
1036eSymbolTypeObjectFile = _lldb.eSymbolTypeObjectFile
1037
1038eSymbolTypeCommonBlock = _lldb.eSymbolTypeCommonBlock
1039
1040eSymbolTypeBlock = _lldb.eSymbolTypeBlock
1041
1042eSymbolTypeLocal = _lldb.eSymbolTypeLocal
1043
1044eSymbolTypeParam = _lldb.eSymbolTypeParam
1045
1046eSymbolTypeVariable = _lldb.eSymbolTypeVariable
1047
1048eSymbolTypeVariableType = _lldb.eSymbolTypeVariableType
1049
1050eSymbolTypeLineEntry = _lldb.eSymbolTypeLineEntry
1051
1052eSymbolTypeLineHeader = _lldb.eSymbolTypeLineHeader
1053
1054eSymbolTypeScopeBegin = _lldb.eSymbolTypeScopeBegin
1055
1056eSymbolTypeScopeEnd = _lldb.eSymbolTypeScopeEnd
1057
1058eSymbolTypeAdditional = _lldb.eSymbolTypeAdditional
1059
1060eSymbolTypeCompiler = _lldb.eSymbolTypeCompiler
1061
1062eSymbolTypeInstrumentation = _lldb.eSymbolTypeInstrumentation
1063
1064eSymbolTypeUndefined = _lldb.eSymbolTypeUndefined
1065
1066eSymbolTypeObjCClass = _lldb.eSymbolTypeObjCClass
1067
1068eSymbolTypeObjCMetaClass = _lldb.eSymbolTypeObjCMetaClass
1069
1070eSymbolTypeObjCIVar = _lldb.eSymbolTypeObjCIVar
1071
1072eSymbolTypeReExported = _lldb.eSymbolTypeReExported
1073
1074eSectionTypeInvalid = _lldb.eSectionTypeInvalid
1075
1076eSectionTypeCode = _lldb.eSectionTypeCode
1077
1078eSectionTypeContainer = _lldb.eSectionTypeContainer
1079
1080eSectionTypeData = _lldb.eSectionTypeData
1081
1082eSectionTypeDataCString = _lldb.eSectionTypeDataCString
1083
1084eSectionTypeDataCStringPointers = _lldb.eSectionTypeDataCStringPointers
1085
1086eSectionTypeDataSymbolAddress = _lldb.eSectionTypeDataSymbolAddress
1087
1088eSectionTypeData4 = _lldb.eSectionTypeData4
1089
1090eSectionTypeData8 = _lldb.eSectionTypeData8
1091
1092eSectionTypeData16 = _lldb.eSectionTypeData16
1093
1094eSectionTypeDataPointers = _lldb.eSectionTypeDataPointers
1095
1096eSectionTypeDebug = _lldb.eSectionTypeDebug
1097
1098eSectionTypeZeroFill = _lldb.eSectionTypeZeroFill
1099
1100eSectionTypeDataObjCMessageRefs = _lldb.eSectionTypeDataObjCMessageRefs
1101
1102eSectionTypeDataObjCCFStrings = _lldb.eSectionTypeDataObjCCFStrings
1103
1104eSectionTypeDWARFDebugAbbrev = _lldb.eSectionTypeDWARFDebugAbbrev
1105
1106eSectionTypeDWARFDebugAddr = _lldb.eSectionTypeDWARFDebugAddr
1107
1108eSectionTypeDWARFDebugAranges = _lldb.eSectionTypeDWARFDebugAranges
1109
1110eSectionTypeDWARFDebugCuIndex = _lldb.eSectionTypeDWARFDebugCuIndex
1111
1112eSectionTypeDWARFDebugFrame = _lldb.eSectionTypeDWARFDebugFrame
1113
1114eSectionTypeDWARFDebugInfo = _lldb.eSectionTypeDWARFDebugInfo
1115
1116eSectionTypeDWARFDebugLine = _lldb.eSectionTypeDWARFDebugLine
1117
1118eSectionTypeDWARFDebugLoc = _lldb.eSectionTypeDWARFDebugLoc
1119
1120eSectionTypeDWARFDebugMacInfo = _lldb.eSectionTypeDWARFDebugMacInfo
1121
1122eSectionTypeDWARFDebugMacro = _lldb.eSectionTypeDWARFDebugMacro
1123
1124eSectionTypeDWARFDebugPubNames = _lldb.eSectionTypeDWARFDebugPubNames
1125
1126eSectionTypeDWARFDebugPubTypes = _lldb.eSectionTypeDWARFDebugPubTypes
1127
1128eSectionTypeDWARFDebugRanges = _lldb.eSectionTypeDWARFDebugRanges
1129
1130eSectionTypeDWARFDebugStr = _lldb.eSectionTypeDWARFDebugStr
1131
1132eSectionTypeDWARFDebugStrOffsets = _lldb.eSectionTypeDWARFDebugStrOffsets
1133
1134eSectionTypeDWARFAppleNames = _lldb.eSectionTypeDWARFAppleNames
1135
1136eSectionTypeDWARFAppleTypes = _lldb.eSectionTypeDWARFAppleTypes
1137
1138eSectionTypeDWARFAppleNamespaces = _lldb.eSectionTypeDWARFAppleNamespaces
1139
1140eSectionTypeDWARFAppleObjC = _lldb.eSectionTypeDWARFAppleObjC
1141
1142eSectionTypeELFSymbolTable = _lldb.eSectionTypeELFSymbolTable
1143
1144eSectionTypeELFDynamicSymbols = _lldb.eSectionTypeELFDynamicSymbols
1145
1146eSectionTypeELFRelocationEntries = _lldb.eSectionTypeELFRelocationEntries
1147
1148eSectionTypeELFDynamicLinkInfo = _lldb.eSectionTypeELFDynamicLinkInfo
1149
1150eSectionTypeEHFrame = _lldb.eSectionTypeEHFrame
1151
1152eSectionTypeARMexidx = _lldb.eSectionTypeARMexidx
1153
1154eSectionTypeARMextab = _lldb.eSectionTypeARMextab
1155
1156eSectionTypeCompactUnwind = _lldb.eSectionTypeCompactUnwind
1157
1158eSectionTypeGoSymtab = _lldb.eSectionTypeGoSymtab
1159
1160eSectionTypeAbsoluteAddress = _lldb.eSectionTypeAbsoluteAddress
1161
1162eSectionTypeDWARFGNUDebugAltLink = _lldb.eSectionTypeDWARFGNUDebugAltLink
1163
1164eSectionTypeDWARFDebugTypes = _lldb.eSectionTypeDWARFDebugTypes
1165
1166eSectionTypeDWARFDebugNames = _lldb.eSectionTypeDWARFDebugNames
1167
1168eSectionTypeOther = _lldb.eSectionTypeOther
1169
1170eSectionTypeDWARFDebugLineStr = _lldb.eSectionTypeDWARFDebugLineStr
1171
1172eSectionTypeDWARFDebugRngLists = _lldb.eSectionTypeDWARFDebugRngLists
1173
1174eSectionTypeDWARFDebugLocLists = _lldb.eSectionTypeDWARFDebugLocLists
1175
1176eSectionTypeDWARFDebugAbbrevDwo = _lldb.eSectionTypeDWARFDebugAbbrevDwo
1177
1178eSectionTypeDWARFDebugInfoDwo = _lldb.eSectionTypeDWARFDebugInfoDwo
1179
1180eSectionTypeDWARFDebugStrDwo = _lldb.eSectionTypeDWARFDebugStrDwo
1181
1182eSectionTypeDWARFDebugStrOffsetsDwo = _lldb.eSectionTypeDWARFDebugStrOffsetsDwo
1183
1184eSectionTypeDWARFDebugTypesDwo = _lldb.eSectionTypeDWARFDebugTypesDwo
1185
1186eSectionTypeDWARFDebugRngListsDwo = _lldb.eSectionTypeDWARFDebugRngListsDwo
1187
1188eSectionTypeDWARFDebugLocDwo = _lldb.eSectionTypeDWARFDebugLocDwo
1189
1190eSectionTypeDWARFDebugLocListsDwo = _lldb.eSectionTypeDWARFDebugLocListsDwo
1191
1192eSectionTypeDWARFDebugTuIndex = _lldb.eSectionTypeDWARFDebugTuIndex
1193
1194eSectionTypeCTF = _lldb.eSectionTypeCTF
1195
1196eSectionTypeSwiftModules = _lldb.eSectionTypeSwiftModules
1197
1198eEmulateInstructionOptionNone = _lldb.eEmulateInstructionOptionNone
1199
1200eEmulateInstructionOptionAutoAdvancePC = _lldb.eEmulateInstructionOptionAutoAdvancePC
1201
1202eEmulateInstructionOptionIgnoreConditions = _lldb.eEmulateInstructionOptionIgnoreConditions
1203
1204eFunctionNameTypeNone = _lldb.eFunctionNameTypeNone
1205
1206eFunctionNameTypeAuto = _lldb.eFunctionNameTypeAuto
1207
1208eFunctionNameTypeFull = _lldb.eFunctionNameTypeFull
1209
1210eFunctionNameTypeBase = _lldb.eFunctionNameTypeBase
1211
1212eFunctionNameTypeMethod = _lldb.eFunctionNameTypeMethod
1213
1214eFunctionNameTypeSelector = _lldb.eFunctionNameTypeSelector
1215
1216eFunctionNameTypeAny = _lldb.eFunctionNameTypeAny
1217
1218eBasicTypeInvalid = _lldb.eBasicTypeInvalid
1219
1220eBasicTypeVoid = _lldb.eBasicTypeVoid
1221
1222eBasicTypeChar = _lldb.eBasicTypeChar
1223
1224eBasicTypeSignedChar = _lldb.eBasicTypeSignedChar
1225
1226eBasicTypeUnsignedChar = _lldb.eBasicTypeUnsignedChar
1227
1228eBasicTypeWChar = _lldb.eBasicTypeWChar
1229
1230eBasicTypeSignedWChar = _lldb.eBasicTypeSignedWChar
1231
1232eBasicTypeUnsignedWChar = _lldb.eBasicTypeUnsignedWChar
1233
1234eBasicTypeChar16 = _lldb.eBasicTypeChar16
1235
1236eBasicTypeChar32 = _lldb.eBasicTypeChar32
1237
1238eBasicTypeChar8 = _lldb.eBasicTypeChar8
1239
1240eBasicTypeShort = _lldb.eBasicTypeShort
1241
1242eBasicTypeUnsignedShort = _lldb.eBasicTypeUnsignedShort
1243
1244eBasicTypeInt = _lldb.eBasicTypeInt
1245
1246eBasicTypeUnsignedInt = _lldb.eBasicTypeUnsignedInt
1247
1248eBasicTypeLong = _lldb.eBasicTypeLong
1249
1250eBasicTypeUnsignedLong = _lldb.eBasicTypeUnsignedLong
1251
1252eBasicTypeLongLong = _lldb.eBasicTypeLongLong
1253
1254eBasicTypeUnsignedLongLong = _lldb.eBasicTypeUnsignedLongLong
1255
1256eBasicTypeInt128 = _lldb.eBasicTypeInt128
1257
1258eBasicTypeUnsignedInt128 = _lldb.eBasicTypeUnsignedInt128
1259
1260eBasicTypeBool = _lldb.eBasicTypeBool
1261
1262eBasicTypeHalf = _lldb.eBasicTypeHalf
1263
1264eBasicTypeFloat = _lldb.eBasicTypeFloat
1265
1266eBasicTypeDouble = _lldb.eBasicTypeDouble
1267
1268eBasicTypeLongDouble = _lldb.eBasicTypeLongDouble
1269
1270eBasicTypeFloatComplex = _lldb.eBasicTypeFloatComplex
1271
1272eBasicTypeDoubleComplex = _lldb.eBasicTypeDoubleComplex
1273
1274eBasicTypeLongDoubleComplex = _lldb.eBasicTypeLongDoubleComplex
1275
1276eBasicTypeObjCID = _lldb.eBasicTypeObjCID
1277
1278eBasicTypeObjCClass = _lldb.eBasicTypeObjCClass
1279
1280eBasicTypeObjCSel = _lldb.eBasicTypeObjCSel
1281
1282eBasicTypeNullPtr = _lldb.eBasicTypeNullPtr
1283
1284eBasicTypeOther = _lldb.eBasicTypeOther
1285
1286eTraceTypeNone = _lldb.eTraceTypeNone
1287
1288eTraceTypeProcessorTrace = _lldb.eTraceTypeProcessorTrace
1289
1290eStructuredDataTypeInvalid = _lldb.eStructuredDataTypeInvalid
1291
1292eStructuredDataTypeNull = _lldb.eStructuredDataTypeNull
1293
1294eStructuredDataTypeGeneric = _lldb.eStructuredDataTypeGeneric
1295
1296eStructuredDataTypeArray = _lldb.eStructuredDataTypeArray
1297
1298eStructuredDataTypeInteger = _lldb.eStructuredDataTypeInteger
1299
1300eStructuredDataTypeFloat = _lldb.eStructuredDataTypeFloat
1301
1302eStructuredDataTypeBoolean = _lldb.eStructuredDataTypeBoolean
1303
1304eStructuredDataTypeString = _lldb.eStructuredDataTypeString
1305
1306eStructuredDataTypeDictionary = _lldb.eStructuredDataTypeDictionary
1307
1308eStructuredDataTypeSignedInteger = _lldb.eStructuredDataTypeSignedInteger
1309
1310eStructuredDataTypeUnsignedInteger = _lldb.eStructuredDataTypeUnsignedInteger
1311
1312eTypeClassInvalid = _lldb.eTypeClassInvalid
1313
1314eTypeClassArray = _lldb.eTypeClassArray
1315
1316eTypeClassBlockPointer = _lldb.eTypeClassBlockPointer
1317
1318eTypeClassBuiltin = _lldb.eTypeClassBuiltin
1319
1320eTypeClassClass = _lldb.eTypeClassClass
1321
1322eTypeClassComplexFloat = _lldb.eTypeClassComplexFloat
1323
1324eTypeClassComplexInteger = _lldb.eTypeClassComplexInteger
1325
1326eTypeClassEnumeration = _lldb.eTypeClassEnumeration
1327
1328eTypeClassFunction = _lldb.eTypeClassFunction
1329
1330eTypeClassMemberPointer = _lldb.eTypeClassMemberPointer
1331
1332eTypeClassObjCObject = _lldb.eTypeClassObjCObject
1333
1334eTypeClassObjCInterface = _lldb.eTypeClassObjCInterface
1335
1336eTypeClassObjCObjectPointer = _lldb.eTypeClassObjCObjectPointer
1337
1338eTypeClassPointer = _lldb.eTypeClassPointer
1339
1340eTypeClassReference = _lldb.eTypeClassReference
1341
1342eTypeClassStruct = _lldb.eTypeClassStruct
1343
1344eTypeClassTypedef = _lldb.eTypeClassTypedef
1345
1346eTypeClassUnion = _lldb.eTypeClassUnion
1347
1348eTypeClassVector = _lldb.eTypeClassVector
1349
1350eTypeClassOther = _lldb.eTypeClassOther
1351
1352eTypeClassAny = _lldb.eTypeClassAny
1353
1354eTemplateArgumentKindNull = _lldb.eTemplateArgumentKindNull
1355
1356eTemplateArgumentKindType = _lldb.eTemplateArgumentKindType
1357
1358eTemplateArgumentKindDeclaration = _lldb.eTemplateArgumentKindDeclaration
1359
1360eTemplateArgumentKindIntegral = _lldb.eTemplateArgumentKindIntegral
1361
1362eTemplateArgumentKindTemplate = _lldb.eTemplateArgumentKindTemplate
1363
1364eTemplateArgumentKindTemplateExpansion = _lldb.eTemplateArgumentKindTemplateExpansion
1365
1366eTemplateArgumentKindExpression = _lldb.eTemplateArgumentKindExpression
1367
1368eTemplateArgumentKindPack = _lldb.eTemplateArgumentKindPack
1369
1370eTemplateArgumentKindNullPtr = _lldb.eTemplateArgumentKindNullPtr
1371
1372eTemplateArgumentKindStructuralValue = _lldb.eTemplateArgumentKindStructuralValue
1373
1374eFormatterMatchExact = _lldb.eFormatterMatchExact
1375
1376eFormatterMatchRegex = _lldb.eFormatterMatchRegex
1377
1378eFormatterMatchCallback = _lldb.eFormatterMatchCallback
1379
1380eLastFormatterMatchType = _lldb.eLastFormatterMatchType
1381
1382eTypeOptionNone = _lldb.eTypeOptionNone
1383
1384eTypeOptionCascade = _lldb.eTypeOptionCascade
1385
1386eTypeOptionSkipPointers = _lldb.eTypeOptionSkipPointers
1387
1388eTypeOptionSkipReferences = _lldb.eTypeOptionSkipReferences
1389
1390eTypeOptionHideChildren = _lldb.eTypeOptionHideChildren
1391
1392eTypeOptionHideValue = _lldb.eTypeOptionHideValue
1393
1394eTypeOptionShowOneLiner = _lldb.eTypeOptionShowOneLiner
1395
1396eTypeOptionHideNames = _lldb.eTypeOptionHideNames
1397
1398eTypeOptionNonCacheable = _lldb.eTypeOptionNonCacheable
1399
1400eTypeOptionHideEmptyAggregates = _lldb.eTypeOptionHideEmptyAggregates
1401
1402eTypeOptionFrontEndWantsDereference = _lldb.eTypeOptionFrontEndWantsDereference
1403
1404eFrameCompareInvalid = _lldb.eFrameCompareInvalid
1405
1406eFrameCompareUnknown = _lldb.eFrameCompareUnknown
1407
1408eFrameCompareEqual = _lldb.eFrameCompareEqual
1409
1410eFrameCompareSameParent = _lldb.eFrameCompareSameParent
1411
1412eFrameCompareYounger = _lldb.eFrameCompareYounger
1413
1414eFrameCompareOlder = _lldb.eFrameCompareOlder
1415
1416eFilePermissionsUserRead = _lldb.eFilePermissionsUserRead
1417
1418eFilePermissionsUserWrite = _lldb.eFilePermissionsUserWrite
1419
1420eFilePermissionsUserExecute = _lldb.eFilePermissionsUserExecute
1421
1422eFilePermissionsGroupRead = _lldb.eFilePermissionsGroupRead
1423
1424eFilePermissionsGroupWrite = _lldb.eFilePermissionsGroupWrite
1425
1426eFilePermissionsGroupExecute = _lldb.eFilePermissionsGroupExecute
1427
1428eFilePermissionsWorldRead = _lldb.eFilePermissionsWorldRead
1429
1430eFilePermissionsWorldWrite = _lldb.eFilePermissionsWorldWrite
1431
1432eFilePermissionsWorldExecute = _lldb.eFilePermissionsWorldExecute
1433
1434eFilePermissionsUserRW = _lldb.eFilePermissionsUserRW
1435
1436eFileFilePermissionsUserRX = _lldb.eFileFilePermissionsUserRX
1437
1438eFilePermissionsUserRWX = _lldb.eFilePermissionsUserRWX
1439
1440eFilePermissionsGroupRW = _lldb.eFilePermissionsGroupRW
1441
1442eFilePermissionsGroupRX = _lldb.eFilePermissionsGroupRX
1443
1444eFilePermissionsGroupRWX = _lldb.eFilePermissionsGroupRWX
1445
1446eFilePermissionsWorldRW = _lldb.eFilePermissionsWorldRW
1447
1448eFilePermissionsWorldRX = _lldb.eFilePermissionsWorldRX
1449
1450eFilePermissionsWorldRWX = _lldb.eFilePermissionsWorldRWX
1451
1452eFilePermissionsEveryoneR = _lldb.eFilePermissionsEveryoneR
1453
1454eFilePermissionsEveryoneW = _lldb.eFilePermissionsEveryoneW
1455
1456eFilePermissionsEveryoneX = _lldb.eFilePermissionsEveryoneX
1457
1458eFilePermissionsEveryoneRW = _lldb.eFilePermissionsEveryoneRW
1459
1460eFilePermissionsEveryoneRX = _lldb.eFilePermissionsEveryoneRX
1461
1462eFilePermissionsEveryoneRWX = _lldb.eFilePermissionsEveryoneRWX
1463
1464eFilePermissionsFileDefault = _lldb.eFilePermissionsFileDefault
1465
1466eFilePermissionsDirectoryDefault = _lldb.eFilePermissionsDirectoryDefault
1467
1468eQueueItemKindUnknown = _lldb.eQueueItemKindUnknown
1469
1470eQueueItemKindFunction = _lldb.eQueueItemKindFunction
1471
1472eQueueItemKindBlock = _lldb.eQueueItemKindBlock
1473
1474eQueueKindUnknown = _lldb.eQueueKindUnknown
1475
1476eQueueKindSerial = _lldb.eQueueKindSerial
1477
1478eQueueKindConcurrent = _lldb.eQueueKindConcurrent
1479
1480eExpressionEvaluationParse = _lldb.eExpressionEvaluationParse
1481
1482eExpressionEvaluationIRGen = _lldb.eExpressionEvaluationIRGen
1483
1484eExpressionEvaluationExecution = _lldb.eExpressionEvaluationExecution
1485
1486eExpressionEvaluationComplete = _lldb.eExpressionEvaluationComplete
1487
1488eInstructionControlFlowKindUnknown = _lldb.eInstructionControlFlowKindUnknown
1489
1490eInstructionControlFlowKindOther = _lldb.eInstructionControlFlowKindOther
1491
1492eInstructionControlFlowKindCall = _lldb.eInstructionControlFlowKindCall
1493
1494eInstructionControlFlowKindReturn = _lldb.eInstructionControlFlowKindReturn
1495
1496eInstructionControlFlowKindJump = _lldb.eInstructionControlFlowKindJump
1497
1498eInstructionControlFlowKindCondJump = _lldb.eInstructionControlFlowKindCondJump
1499
1500eInstructionControlFlowKindFarCall = _lldb.eInstructionControlFlowKindFarCall
1501
1502eInstructionControlFlowKindFarReturn = _lldb.eInstructionControlFlowKindFarReturn
1503
1504eInstructionControlFlowKindFarJump = _lldb.eInstructionControlFlowKindFarJump
1505
1506eWatchpointKindWrite = _lldb.eWatchpointKindWrite
1507
1508eWatchpointKindRead = _lldb.eWatchpointKindRead
1509
1510eGdbSignalBadAccess = _lldb.eGdbSignalBadAccess
1511
1512eGdbSignalBadInstruction = _lldb.eGdbSignalBadInstruction
1513
1514eGdbSignalArithmetic = _lldb.eGdbSignalArithmetic
1515
1516eGdbSignalEmulation = _lldb.eGdbSignalEmulation
1517
1518eGdbSignalSoftware = _lldb.eGdbSignalSoftware
1519
1520eGdbSignalBreakpoint = _lldb.eGdbSignalBreakpoint
1521
1522ePathTypeLLDBShlibDir = _lldb.ePathTypeLLDBShlibDir
1523
1524ePathTypeSupportExecutableDir = _lldb.ePathTypeSupportExecutableDir
1525
1526ePathTypeHeaderDir = _lldb.ePathTypeHeaderDir
1527
1528ePathTypePythonDir = _lldb.ePathTypePythonDir
1529
1530ePathTypeLLDBSystemPlugins = _lldb.ePathTypeLLDBSystemPlugins
1531
1532ePathTypeLLDBUserPlugins = _lldb.ePathTypeLLDBUserPlugins
1533
1534ePathTypeLLDBTempSystemDir = _lldb.ePathTypeLLDBTempSystemDir
1535
1536ePathTypeGlobalLLDBTempSystemDir = _lldb.ePathTypeGlobalLLDBTempSystemDir
1537
1538ePathTypeClangDir = _lldb.ePathTypeClangDir
1539
1540eMemberFunctionKindUnknown = _lldb.eMemberFunctionKindUnknown
1541
1542eMemberFunctionKindConstructor = _lldb.eMemberFunctionKindConstructor
1543
1544eMemberFunctionKindDestructor = _lldb.eMemberFunctionKindDestructor
1545
1546eMemberFunctionKindInstanceMethod = _lldb.eMemberFunctionKindInstanceMethod
1547
1548eMemberFunctionKindStaticMethod = _lldb.eMemberFunctionKindStaticMethod
1549
1550eMatchTypeNormal = _lldb.eMatchTypeNormal
1551
1552eMatchTypeRegex = _lldb.eMatchTypeRegex
1553
1554eMatchTypeStartsWith = _lldb.eMatchTypeStartsWith
1555
1556eTypeHasChildren = _lldb.eTypeHasChildren
1557
1558eTypeHasValue = _lldb.eTypeHasValue
1559
1560eTypeIsArray = _lldb.eTypeIsArray
1561
1562eTypeIsBlock = _lldb.eTypeIsBlock
1563
1564eTypeIsBuiltIn = _lldb.eTypeIsBuiltIn
1565
1566eTypeIsClass = _lldb.eTypeIsClass
1567
1568eTypeIsCPlusPlus = _lldb.eTypeIsCPlusPlus
1569
1570eTypeIsEnumeration = _lldb.eTypeIsEnumeration
1571
1572eTypeIsFuncPrototype = _lldb.eTypeIsFuncPrototype
1573
1574eTypeIsMember = _lldb.eTypeIsMember
1575
1576eTypeIsObjC = _lldb.eTypeIsObjC
1577
1578eTypeIsPointer = _lldb.eTypeIsPointer
1579
1580eTypeIsReference = _lldb.eTypeIsReference
1581
1582eTypeIsStructUnion = _lldb.eTypeIsStructUnion
1583
1584eTypeIsTemplate = _lldb.eTypeIsTemplate
1585
1586eTypeIsTypedef = _lldb.eTypeIsTypedef
1587
1588eTypeIsVector = _lldb.eTypeIsVector
1589
1590eTypeIsScalar = _lldb.eTypeIsScalar
1591
1592eTypeIsInteger = _lldb.eTypeIsInteger
1593
1594eTypeIsFloat = _lldb.eTypeIsFloat
1595
1596eTypeIsComplex = _lldb.eTypeIsComplex
1597
1598eTypeIsSigned = _lldb.eTypeIsSigned
1599
1600eTypeInstanceIsPointer = _lldb.eTypeInstanceIsPointer
1601
1602eCommandRequiresTarget = _lldb.eCommandRequiresTarget
1603
1604eCommandRequiresProcess = _lldb.eCommandRequiresProcess
1605
1606eCommandRequiresThread = _lldb.eCommandRequiresThread
1607
1608eCommandRequiresFrame = _lldb.eCommandRequiresFrame
1609
1610eCommandRequiresRegContext = _lldb.eCommandRequiresRegContext
1611
1612eCommandTryTargetAPILock = _lldb.eCommandTryTargetAPILock
1613
1614eCommandProcessMustBeLaunched = _lldb.eCommandProcessMustBeLaunched
1615
1616eCommandProcessMustBePaused = _lldb.eCommandProcessMustBePaused
1617
1618eCommandProcessMustBeTraced = _lldb.eCommandProcessMustBeTraced
1619
1620eTypeSummaryCapped = _lldb.eTypeSummaryCapped
1621
1622eTypeSummaryUncapped = _lldb.eTypeSummaryUncapped
1623
1624eCommandInterpreterResultSuccess = _lldb.eCommandInterpreterResultSuccess
1625
1626eCommandInterpreterResultInferiorCrash = _lldb.eCommandInterpreterResultInferiorCrash
1627
1628eCommandInterpreterResultCommandError = _lldb.eCommandInterpreterResultCommandError
1629
1630eCommandInterpreterResultQuitRequested = _lldb.eCommandInterpreterResultQuitRequested
1631
1632eSaveCoreUnspecified = _lldb.eSaveCoreUnspecified
1633
1634eSaveCoreFull = _lldb.eSaveCoreFull
1635
1636eSaveCoreDirtyOnly = _lldb.eSaveCoreDirtyOnly
1637
1638eSaveCoreStackOnly = _lldb.eSaveCoreStackOnly
1639
1640eTraceEventDisabledSW = _lldb.eTraceEventDisabledSW
1641
1642eTraceEventDisabledHW = _lldb.eTraceEventDisabledHW
1643
1644eTraceEventCPUChanged = _lldb.eTraceEventCPUChanged
1645
1646eTraceEventHWClockTick = _lldb.eTraceEventHWClockTick
1647
1648eTraceEventSyncPoint = _lldb.eTraceEventSyncPoint
1649
1650eTraceItemKindError = _lldb.eTraceItemKindError
1651
1652eTraceItemKindEvent = _lldb.eTraceItemKindEvent
1653
1654eTraceItemKindInstruction = _lldb.eTraceItemKindInstruction
1655
1656eTraceCursorSeekTypeBeginning = _lldb.eTraceCursorSeekTypeBeginning
1657
1658eTraceCursorSeekTypeCurrent = _lldb.eTraceCursorSeekTypeCurrent
1659
1660eTraceCursorSeekTypeEnd = _lldb.eTraceCursorSeekTypeEnd
1661
1662eDWIMPrintVerbosityNone = _lldb.eDWIMPrintVerbosityNone
1663
1664eDWIMPrintVerbosityExpression = _lldb.eDWIMPrintVerbosityExpression
1665
1666eDWIMPrintVerbosityFull = _lldb.eDWIMPrintVerbosityFull
1667
1668eWatchPointValueKindInvalid = _lldb.eWatchPointValueKindInvalid
1669
1670eWatchPointValueKindVariable = _lldb.eWatchPointValueKindVariable
1671
1672eWatchPointValueKindExpression = _lldb.eWatchPointValueKindExpression
1673
1674eNoCompletion = _lldb.eNoCompletion
1675
1676eSourceFileCompletion = _lldb.eSourceFileCompletion
1677
1678eDiskFileCompletion = _lldb.eDiskFileCompletion
1679
1680eDiskDirectoryCompletion = _lldb.eDiskDirectoryCompletion
1681
1682eSymbolCompletion = _lldb.eSymbolCompletion
1683
1684eModuleCompletion = _lldb.eModuleCompletion
1685
1686eSettingsNameCompletion = _lldb.eSettingsNameCompletion
1687
1688ePlatformPluginCompletion = _lldb.ePlatformPluginCompletion
1689
1690eArchitectureCompletion = _lldb.eArchitectureCompletion
1691
1692eVariablePathCompletion = _lldb.eVariablePathCompletion
1693
1694eRegisterCompletion = _lldb.eRegisterCompletion
1695
1696eBreakpointCompletion = _lldb.eBreakpointCompletion
1697
1698eProcessPluginCompletion = _lldb.eProcessPluginCompletion
1699
1700eDisassemblyFlavorCompletion = _lldb.eDisassemblyFlavorCompletion
1701
1702eTypeLanguageCompletion = _lldb.eTypeLanguageCompletion
1703
1704eFrameIndexCompletion = _lldb.eFrameIndexCompletion
1705
1706eModuleUUIDCompletion = _lldb.eModuleUUIDCompletion
1707
1708eStopHookIDCompletion = _lldb.eStopHookIDCompletion
1709
1710eThreadIndexCompletion = _lldb.eThreadIndexCompletion
1711
1712eWatchpointIDCompletion = _lldb.eWatchpointIDCompletion
1713
1714eBreakpointNameCompletion = _lldb.eBreakpointNameCompletion
1715
1716eProcessIDCompletion = _lldb.eProcessIDCompletion
1717
1718eProcessNameCompletion = _lldb.eProcessNameCompletion
1719
1720eRemoteDiskFileCompletion = _lldb.eRemoteDiskFileCompletion
1721
1722eRemoteDiskDirectoryCompletion = _lldb.eRemoteDiskDirectoryCompletion
1723
1724eTypeCategoryNameCompletion = _lldb.eTypeCategoryNameCompletion
1725
1726eCustomCompletion = _lldb.eCustomCompletion
1727
1728eThreadIDCompletion = _lldb.eThreadIDCompletion
1729
1730eTerminatorCompletion = _lldb.eTerminatorCompletion
1731
1732eRefetch = _lldb.eRefetch
1733
1734eReuse = _lldb.eReuse
1735
1736eSymbolDownloadOff = _lldb.eSymbolDownloadOff
1737
1738eSymbolDownloadBackground = _lldb.eSymbolDownloadBackground
1739
1740eSymbolDownloadForeground = _lldb.eSymbolDownloadForeground
1741
1742eAddressMaskTypeCode = _lldb.eAddressMaskTypeCode
1743
1744eAddressMaskTypeData = _lldb.eAddressMaskTypeData
1745
1746eAddressMaskTypeAny = _lldb.eAddressMaskTypeAny
1747
1748eAddressMaskTypeAll = _lldb.eAddressMaskTypeAll
1749
1750eAddressMaskRangeLow = _lldb.eAddressMaskRangeLow
1751
1752eAddressMaskRangeHigh = _lldb.eAddressMaskRangeHigh
1753
1754eAddressMaskRangeAny = _lldb.eAddressMaskRangeAny
1755
1756eAddressMaskRangeAll = _lldb.eAddressMaskRangeAll
1757
1758eBroadcastBitProgress = _lldb.eBroadcastBitProgress
1759
1760eBroadcastBitWarning = _lldb.eBroadcastBitWarning
1761
1762eBroadcastBitError = _lldb.eBroadcastBitError
1763
1764eBroadcastSymbolChange = _lldb.eBroadcastSymbolChange
1765
1766eBroadcastBitProgressCategory = _lldb.eBroadcastBitProgressCategory
1767
1768eSeverityError = _lldb.eSeverityError
1769
1770eSeverityWarning = _lldb.eSeverityWarning
1771
1772eSeverityInfo = _lldb.eSeverityInfo
1773
1774class SBAddress(object):
1775    r"""
1776    A section + offset based address class.
1777
1778    The SBAddress class allows addresses to be relative to a section
1779    that can move during runtime due to images (executables, shared
1780    libraries, bundles, frameworks) being loaded at different
1781    addresses than the addresses found in the object file that
1782    represents them on disk. There are currently two types of addresses
1783    for a section:
1784
1785    * file addresses
1786    * load addresses
1787
1788    File addresses represents the virtual addresses that are in the 'on
1789    disk' object files. These virtual addresses are converted to be
1790    relative to unique sections scoped to the object file so that
1791    when/if the addresses slide when the images are loaded/unloaded
1792    in memory, we can easily track these changes without having to
1793    update every object (compile unit ranges, line tables, function
1794    address ranges, lexical block and inlined subroutine address
1795    ranges, global and static variables) each time an image is loaded or
1796    unloaded.
1797
1798    Load addresses represents the virtual addresses where each section
1799    ends up getting loaded at runtime. Before executing a program, it
1800    is common for all of the load addresses to be unresolved. When a
1801    DynamicLoader plug-in receives notification that shared libraries
1802    have been loaded/unloaded, the load addresses of the main executable
1803    and any images (shared libraries) will be  resolved/unresolved. When
1804    this happens, breakpoints that are in one of these sections can be
1805    set/cleared.
1806
1807    See docstring of SBFunction for example usage of SBAddress.
1808    """
1809
1810    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1811
1812    def __init__(self, *args):
1813        r"""
1814        __init__(SBAddress self) -> SBAddress
1815        __init__(SBAddress self, SBAddress rhs) -> SBAddress
1816        __init__(SBAddress self, SBSection section, lldb::addr_t offset) -> SBAddress
1817        __init__(SBAddress self, lldb::addr_t load_addr, SBTarget target) -> SBAddress
1818
1819            Create an address by resolving a load address using the supplied target.
1820        """
1821        _lldb.SBAddress_swiginit(self, _lldb.new_SBAddress(*args))
1822    __swig_destroy__ = _lldb.delete_SBAddress
1823
1824    def __nonzero__(self):
1825        return _lldb.SBAddress___nonzero__(self)
1826    __bool__ = __nonzero__
1827
1828
1829
1830    def __ne__(self, rhs):
1831        r"""__ne__(SBAddress self, SBAddress rhs) -> bool"""
1832        return _lldb.SBAddress___ne__(self, rhs)
1833
1834    def IsValid(self):
1835        r"""IsValid(SBAddress self) -> bool"""
1836        return _lldb.SBAddress_IsValid(self)
1837
1838    def Clear(self):
1839        r"""Clear(SBAddress self)"""
1840        return _lldb.SBAddress_Clear(self)
1841
1842    def GetFileAddress(self):
1843        r"""GetFileAddress(SBAddress self) -> lldb::addr_t"""
1844        return _lldb.SBAddress_GetFileAddress(self)
1845
1846    def GetLoadAddress(self, target):
1847        r"""GetLoadAddress(SBAddress self, SBTarget target) -> lldb::addr_t"""
1848        return _lldb.SBAddress_GetLoadAddress(self, target)
1849
1850    def SetAddress(self, section, offset):
1851        r"""SetAddress(SBAddress self, SBSection section, lldb::addr_t offset)"""
1852        return _lldb.SBAddress_SetAddress(self, section, offset)
1853
1854    def SetLoadAddress(self, load_addr, target):
1855        r"""SetLoadAddress(SBAddress self, lldb::addr_t load_addr, SBTarget target)"""
1856        return _lldb.SBAddress_SetLoadAddress(self, load_addr, target)
1857
1858    def OffsetAddress(self, offset):
1859        r"""OffsetAddress(SBAddress self, lldb::addr_t offset) -> bool"""
1860        return _lldb.SBAddress_OffsetAddress(self, offset)
1861
1862    def GetDescription(self, description):
1863        r"""GetDescription(SBAddress self, SBStream description) -> bool"""
1864        return _lldb.SBAddress_GetDescription(self, description)
1865
1866    def GetSymbolContext(self, resolve_scope):
1867        r"""
1868        GetSymbolContext(SBAddress self, uint32_t resolve_scope) -> SBSymbolContext
1869
1870            GetSymbolContext() and the following can lookup symbol information for a given address.
1871            An address might refer to code or data from an existing module, or it
1872            might refer to something on the stack or heap. The following functions
1873            will only return valid values if the address has been resolved to a code
1874            or data address using :py:class:`SBAddress.SetLoadAddress' or
1875            :py:class:`SBTarget.ResolveLoadAddress`.
1876        """
1877        return _lldb.SBAddress_GetSymbolContext(self, resolve_scope)
1878
1879    def GetSection(self):
1880        r"""GetSection(SBAddress self) -> SBSection"""
1881        return _lldb.SBAddress_GetSection(self)
1882
1883    def GetOffset(self):
1884        r"""GetOffset(SBAddress self) -> lldb::addr_t"""
1885        return _lldb.SBAddress_GetOffset(self)
1886
1887    def GetModule(self):
1888        r"""
1889        GetModule(SBAddress self) -> SBModule
1890
1891            GetModule() and the following grab individual objects for a given address and
1892            are less efficient if you want more than one symbol related objects.
1893            Use :py:class:`SBAddress.GetSymbolContext` or
1894            :py:class:`SBTarget.ResolveSymbolContextForAddress` when you want multiple
1895            debug symbol related objects for an address.
1896            One or more bits from the SymbolContextItem enumerations can be logically
1897            OR'ed together to more efficiently retrieve multiple symbol objects.
1898        """
1899        return _lldb.SBAddress_GetModule(self)
1900
1901    def GetCompileUnit(self):
1902        r"""GetCompileUnit(SBAddress self) -> SBCompileUnit"""
1903        return _lldb.SBAddress_GetCompileUnit(self)
1904
1905    def GetFunction(self):
1906        r"""GetFunction(SBAddress self) -> SBFunction"""
1907        return _lldb.SBAddress_GetFunction(self)
1908
1909    def GetBlock(self):
1910        r"""GetBlock(SBAddress self) -> SBBlock"""
1911        return _lldb.SBAddress_GetBlock(self)
1912
1913    def GetSymbol(self):
1914        r"""GetSymbol(SBAddress self) -> SBSymbol"""
1915        return _lldb.SBAddress_GetSymbol(self)
1916
1917    def GetLineEntry(self):
1918        r"""GetLineEntry(SBAddress self) -> SBLineEntry"""
1919        return _lldb.SBAddress_GetLineEntry(self)
1920
1921    def __repr__(self):
1922        r"""__repr__(SBAddress self) -> std::string"""
1923        return _lldb.SBAddress___repr__(self)
1924
1925        # operator== is a free function, which swig does not handle, so we inject
1926        # our own equality operator here
1927    def __eq__(self, other):
1928      return not self.__ne__(other)
1929
1930
1931    __runtime_error_str = 'This resolves the SBAddress using the SBTarget from lldb.target so this property can ONLY be used in the interactive script interpreter (i.e. under the lldb script command). For things like Python based commands and breakpoint callbacks use GetLoadAddress instead.'
1932
1933    def __get_load_addr_property__ (self):
1934        '''Get the load address for a lldb.SBAddress using the current target. This resolves the SBAddress using the SBTarget from lldb.target so this property can ONLY be used in the interactive script interpreter (i.e. under the lldb script command). For things like Python based commands and breakpoint callbacks use GetLoadAddress instead.'''
1935        if not target:
1936            raise RuntimeError(self.__runtime_error_str)
1937        return self.GetLoadAddress (target)
1938
1939    def __set_load_addr_property__ (self, load_addr):
1940        '''Set the load address for a lldb.SBAddress using the current target. This resolves the SBAddress using the SBTarget from lldb.target so this property can ONLY be used in the interactive script interpreter (i.e. under the lldb script command). For things like Python based commands and breakpoint callbacks use GetLoadAddress instead.'''
1941        if not target:
1942            raise RuntimeError(self.__runtime_error_str)
1943        return self.SetLoadAddress (load_addr, target)
1944
1945    def __int__(self):
1946        '''Convert an address to a load address if there is a process and that process is alive, or to a file address otherwise. This resolves the SBAddress using the SBTarget from lldb.target so this property can ONLY be used in the interactive script interpreter (i.e. under the lldb script command). For things like Python based commands and breakpoint callbacks use GetLoadAddress instead.'''
1947        if not process or not target:
1948            raise RuntimeError(self.__runtime_error_str)
1949        if process.is_alive:
1950            return self.GetLoadAddress (target)
1951        return self.GetFileAddress ()
1952
1953    def __oct__(self):
1954        '''Convert the address to an octal string. This resolves the SBAddress using the SBTarget from lldb.target so this property can ONLY be used in the interactive script interpreter (i.e. under the lldb script command). For things like Python based commands and breakpoint callbacks use GetLoadAddress instead.'''
1955        return '%o' % int(self)
1956
1957    def __hex__(self):
1958        '''Convert the address to an hex string. This resolves the SBAddress using the SBTarget from lldb.target so this property can ONLY be used in the interactive script interpreter (i.e. under the lldb script command). For things like Python based commands and breakpoint callbacks use GetLoadAddress instead.'''
1959        return '0x%x' % int(self)
1960
1961    module = property(GetModule, None, doc='''A read only property that returns an lldb object that represents the module (lldb.SBModule) that this address resides within.''')
1962    compile_unit = property(GetCompileUnit, None, doc='''A read only property that returns an lldb object that represents the compile unit (lldb.SBCompileUnit) that this address resides within.''')
1963    line_entry = property(GetLineEntry, None, doc='''A read only property that returns an lldb object that represents the line entry (lldb.SBLineEntry) that this address resides within.''')
1964    function = property(GetFunction, None, doc='''A read only property that returns an lldb object that represents the function (lldb.SBFunction) that this address resides within.''')
1965    block = property(GetBlock, None, doc='''A read only property that returns an lldb object that represents the block (lldb.SBBlock) that this address resides within.''')
1966    symbol = property(GetSymbol, None, doc='''A read only property that returns an lldb object that represents the symbol (lldb.SBSymbol) that this address resides within.''')
1967    offset = property(GetOffset, None, doc='''A read only property that returns the section offset in bytes as an integer.''')
1968    section = property(GetSection, None, doc='''A read only property that returns an lldb object that represents the section (lldb.SBSection) that this address resides within.''')
1969    file_addr = property(GetFileAddress, None, doc='''A read only property that returns file address for the section as an integer. This is the address that represents the address as it is found in the object file that defines it.''')
1970    load_addr = property(__get_load_addr_property__, __set_load_addr_property__, doc='''A read/write property that gets/sets the SBAddress using load address. This resolves the SBAddress using the SBTarget from lldb.target so this property can ONLY be used in the interactive script interpreter (i.e. under the lldb script command). For things like Python based commands and breakpoint callbacks use GetLoadAddress instead.''')
1971
1972
1973# Register SBAddress in _lldb:
1974_lldb.SBAddress_swigregister(SBAddress)
1975class SBAttachInfo(object):
1976    r"""Describes how to attach when calling :py:class:`SBTarget.Attach`."""
1977
1978    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1979    __repr__ = _swig_repr
1980
1981    def __init__(self, *args):
1982        r"""
1983        __init__(SBAttachInfo self) -> SBAttachInfo
1984        __init__(SBAttachInfo self, lldb::pid_t pid) -> SBAttachInfo
1985        __init__(SBAttachInfo self, char const * path, bool wait_for) -> SBAttachInfo
1986        __init__(SBAttachInfo self, char const * path, bool wait_for, bool _async) -> SBAttachInfo
1987        __init__(SBAttachInfo self, SBAttachInfo rhs) -> SBAttachInfo
1988        """
1989        _lldb.SBAttachInfo_swiginit(self, _lldb.new_SBAttachInfo(*args))
1990    __swig_destroy__ = _lldb.delete_SBAttachInfo
1991
1992    def GetProcessID(self):
1993        r"""GetProcessID(SBAttachInfo self) -> lldb::pid_t"""
1994        return _lldb.SBAttachInfo_GetProcessID(self)
1995
1996    def SetProcessID(self, pid):
1997        r"""SetProcessID(SBAttachInfo self, lldb::pid_t pid)"""
1998        return _lldb.SBAttachInfo_SetProcessID(self, pid)
1999
2000    def SetExecutable(self, *args):
2001        r"""
2002        SetExecutable(SBAttachInfo self, char const * path)
2003        SetExecutable(SBAttachInfo self, SBFileSpec exe_file)
2004        """
2005        return _lldb.SBAttachInfo_SetExecutable(self, *args)
2006
2007    def GetWaitForLaunch(self):
2008        r"""GetWaitForLaunch(SBAttachInfo self) -> bool"""
2009        return _lldb.SBAttachInfo_GetWaitForLaunch(self)
2010
2011    def SetWaitForLaunch(self, *args):
2012        r"""
2013        SetWaitForLaunch(SBAttachInfo self, bool b)
2014        SetWaitForLaunch(SBAttachInfo self, bool b, bool _async)
2015        """
2016        return _lldb.SBAttachInfo_SetWaitForLaunch(self, *args)
2017
2018    def GetIgnoreExisting(self):
2019        r"""GetIgnoreExisting(SBAttachInfo self) -> bool"""
2020        return _lldb.SBAttachInfo_GetIgnoreExisting(self)
2021
2022    def SetIgnoreExisting(self, b):
2023        r"""SetIgnoreExisting(SBAttachInfo self, bool b)"""
2024        return _lldb.SBAttachInfo_SetIgnoreExisting(self, b)
2025
2026    def GetResumeCount(self):
2027        r"""GetResumeCount(SBAttachInfo self) -> uint32_t"""
2028        return _lldb.SBAttachInfo_GetResumeCount(self)
2029
2030    def SetResumeCount(self, c):
2031        r"""SetResumeCount(SBAttachInfo self, uint32_t c)"""
2032        return _lldb.SBAttachInfo_SetResumeCount(self, c)
2033
2034    def GetProcessPluginName(self):
2035        r"""GetProcessPluginName(SBAttachInfo self) -> char const *"""
2036        return _lldb.SBAttachInfo_GetProcessPluginName(self)
2037
2038    def SetProcessPluginName(self, plugin_name):
2039        r"""SetProcessPluginName(SBAttachInfo self, char const * plugin_name)"""
2040        return _lldb.SBAttachInfo_SetProcessPluginName(self, plugin_name)
2041
2042    def GetUserID(self):
2043        r"""GetUserID(SBAttachInfo self) -> uint32_t"""
2044        return _lldb.SBAttachInfo_GetUserID(self)
2045
2046    def GetGroupID(self):
2047        r"""GetGroupID(SBAttachInfo self) -> uint32_t"""
2048        return _lldb.SBAttachInfo_GetGroupID(self)
2049
2050    def UserIDIsValid(self):
2051        r"""UserIDIsValid(SBAttachInfo self) -> bool"""
2052        return _lldb.SBAttachInfo_UserIDIsValid(self)
2053
2054    def GroupIDIsValid(self):
2055        r"""GroupIDIsValid(SBAttachInfo self) -> bool"""
2056        return _lldb.SBAttachInfo_GroupIDIsValid(self)
2057
2058    def SetUserID(self, uid):
2059        r"""SetUserID(SBAttachInfo self, uint32_t uid)"""
2060        return _lldb.SBAttachInfo_SetUserID(self, uid)
2061
2062    def SetGroupID(self, gid):
2063        r"""SetGroupID(SBAttachInfo self, uint32_t gid)"""
2064        return _lldb.SBAttachInfo_SetGroupID(self, gid)
2065
2066    def GetEffectiveUserID(self):
2067        r"""GetEffectiveUserID(SBAttachInfo self) -> uint32_t"""
2068        return _lldb.SBAttachInfo_GetEffectiveUserID(self)
2069
2070    def GetEffectiveGroupID(self):
2071        r"""GetEffectiveGroupID(SBAttachInfo self) -> uint32_t"""
2072        return _lldb.SBAttachInfo_GetEffectiveGroupID(self)
2073
2074    def EffectiveUserIDIsValid(self):
2075        r"""EffectiveUserIDIsValid(SBAttachInfo self) -> bool"""
2076        return _lldb.SBAttachInfo_EffectiveUserIDIsValid(self)
2077
2078    def EffectiveGroupIDIsValid(self):
2079        r"""EffectiveGroupIDIsValid(SBAttachInfo self) -> bool"""
2080        return _lldb.SBAttachInfo_EffectiveGroupIDIsValid(self)
2081
2082    def SetEffectiveUserID(self, uid):
2083        r"""SetEffectiveUserID(SBAttachInfo self, uint32_t uid)"""
2084        return _lldb.SBAttachInfo_SetEffectiveUserID(self, uid)
2085
2086    def SetEffectiveGroupID(self, gid):
2087        r"""SetEffectiveGroupID(SBAttachInfo self, uint32_t gid)"""
2088        return _lldb.SBAttachInfo_SetEffectiveGroupID(self, gid)
2089
2090    def GetParentProcessID(self):
2091        r"""GetParentProcessID(SBAttachInfo self) -> lldb::pid_t"""
2092        return _lldb.SBAttachInfo_GetParentProcessID(self)
2093
2094    def SetParentProcessID(self, pid):
2095        r"""SetParentProcessID(SBAttachInfo self, lldb::pid_t pid)"""
2096        return _lldb.SBAttachInfo_SetParentProcessID(self, pid)
2097
2098    def ParentProcessIDIsValid(self):
2099        r"""ParentProcessIDIsValid(SBAttachInfo self) -> bool"""
2100        return _lldb.SBAttachInfo_ParentProcessIDIsValid(self)
2101
2102    def GetListener(self):
2103        r"""GetListener(SBAttachInfo self) -> SBListener"""
2104        return _lldb.SBAttachInfo_GetListener(self)
2105
2106    def SetListener(self, listener):
2107        r"""SetListener(SBAttachInfo self, SBListener listener)"""
2108        return _lldb.SBAttachInfo_SetListener(self, listener)
2109
2110    def GetShadowListener(self):
2111        r"""GetShadowListener(SBAttachInfo self) -> SBListener"""
2112        return _lldb.SBAttachInfo_GetShadowListener(self)
2113
2114    def SetShadowListener(self, listener):
2115        r"""SetShadowListener(SBAttachInfo self, SBListener listener)"""
2116        return _lldb.SBAttachInfo_SetShadowListener(self, listener)
2117
2118    def GetScriptedProcessClassName(self):
2119        r"""GetScriptedProcessClassName(SBAttachInfo self) -> char const *"""
2120        return _lldb.SBAttachInfo_GetScriptedProcessClassName(self)
2121
2122    def SetScriptedProcessClassName(self, class_name):
2123        r"""SetScriptedProcessClassName(SBAttachInfo self, char const * class_name)"""
2124        return _lldb.SBAttachInfo_SetScriptedProcessClassName(self, class_name)
2125
2126    def GetScriptedProcessDictionary(self):
2127        r"""GetScriptedProcessDictionary(SBAttachInfo self) -> SBStructuredData"""
2128        return _lldb.SBAttachInfo_GetScriptedProcessDictionary(self)
2129
2130    def SetScriptedProcessDictionary(self, dict):
2131        r"""SetScriptedProcessDictionary(SBAttachInfo self, SBStructuredData dict)"""
2132        return _lldb.SBAttachInfo_SetScriptedProcessDictionary(self, dict)
2133
2134# Register SBAttachInfo in _lldb:
2135_lldb.SBAttachInfo_swigregister(SBAttachInfo)
2136class SBBlock(object):
2137    r"""Represents a lexical block. SBFunction contains SBBlock(s)."""
2138
2139    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2140
2141    def __init__(self, *args):
2142        r"""
2143        __init__(SBBlock self) -> SBBlock
2144        __init__(SBBlock self, SBBlock rhs) -> SBBlock
2145        """
2146        _lldb.SBBlock_swiginit(self, _lldb.new_SBBlock(*args))
2147    __swig_destroy__ = _lldb.delete_SBBlock
2148
2149    def IsInlined(self):
2150        r"""
2151        IsInlined(SBBlock self) -> bool
2152        Is this block contained within an inlined function?
2153        """
2154        return _lldb.SBBlock_IsInlined(self)
2155
2156    def __nonzero__(self):
2157        return _lldb.SBBlock___nonzero__(self)
2158    __bool__ = __nonzero__
2159
2160
2161
2162    def IsValid(self):
2163        r"""IsValid(SBBlock self) -> bool"""
2164        return _lldb.SBBlock_IsValid(self)
2165
2166    def GetInlinedName(self):
2167        r"""
2168        GetInlinedName(SBBlock self) -> char const *
2169
2170            Get the function name if this block represents an inlined function;
2171            otherwise, return None.
2172        """
2173        return _lldb.SBBlock_GetInlinedName(self)
2174
2175    def GetInlinedCallSiteFile(self):
2176        r"""
2177        GetInlinedCallSiteFile(SBBlock self) -> SBFileSpec
2178
2179            Get the call site file if this block represents an inlined function;
2180            otherwise, return an invalid file spec.
2181        """
2182        return _lldb.SBBlock_GetInlinedCallSiteFile(self)
2183
2184    def GetInlinedCallSiteLine(self):
2185        r"""
2186        GetInlinedCallSiteLine(SBBlock self) -> uint32_t
2187
2188            Get the call site line if this block represents an inlined function;
2189            otherwise, return 0.
2190        """
2191        return _lldb.SBBlock_GetInlinedCallSiteLine(self)
2192
2193    def GetInlinedCallSiteColumn(self):
2194        r"""
2195        GetInlinedCallSiteColumn(SBBlock self) -> uint32_t
2196
2197            Get the call site column if this block represents an inlined function;
2198            otherwise, return 0.
2199        """
2200        return _lldb.SBBlock_GetInlinedCallSiteColumn(self)
2201
2202    def GetParent(self):
2203        r"""
2204        GetParent(SBBlock self) -> SBBlock
2205        Get the parent block.
2206        """
2207        return _lldb.SBBlock_GetParent(self)
2208
2209    def GetSibling(self):
2210        r"""
2211        GetSibling(SBBlock self) -> SBBlock
2212        Get the sibling block for this block.
2213        """
2214        return _lldb.SBBlock_GetSibling(self)
2215
2216    def GetFirstChild(self):
2217        r"""
2218        GetFirstChild(SBBlock self) -> SBBlock
2219        Get the first child block.
2220        """
2221        return _lldb.SBBlock_GetFirstChild(self)
2222
2223    def GetNumRanges(self):
2224        r"""GetNumRanges(SBBlock self) -> uint32_t"""
2225        return _lldb.SBBlock_GetNumRanges(self)
2226
2227    def GetRangeStartAddress(self, idx):
2228        r"""GetRangeStartAddress(SBBlock self, uint32_t idx) -> SBAddress"""
2229        return _lldb.SBBlock_GetRangeStartAddress(self, idx)
2230
2231    def GetRangeEndAddress(self, idx):
2232        r"""GetRangeEndAddress(SBBlock self, uint32_t idx) -> SBAddress"""
2233        return _lldb.SBBlock_GetRangeEndAddress(self, idx)
2234
2235    def GetRangeIndexForBlockAddress(self, block_addr):
2236        r"""GetRangeIndexForBlockAddress(SBBlock self, SBAddress block_addr) -> uint32_t"""
2237        return _lldb.SBBlock_GetRangeIndexForBlockAddress(self, block_addr)
2238
2239    def GetVariables(self, *args):
2240        r"""
2241        GetVariables(SBBlock self, SBFrame frame, bool arguments, bool locals, bool statics, lldb::DynamicValueType use_dynamic) -> SBValueList
2242        GetVariables(SBBlock self, SBTarget target, bool arguments, bool locals, bool statics) -> SBValueList
2243        """
2244        return _lldb.SBBlock_GetVariables(self, *args)
2245
2246    def GetContainingInlinedBlock(self):
2247        r"""
2248        GetContainingInlinedBlock(SBBlock self) -> SBBlock
2249        Get the inlined block that is or contains this block.
2250        """
2251        return _lldb.SBBlock_GetContainingInlinedBlock(self)
2252
2253    def GetDescription(self, description):
2254        r"""GetDescription(SBBlock self, SBStream description) -> bool"""
2255        return _lldb.SBBlock_GetDescription(self, description)
2256
2257    def __repr__(self):
2258        r"""__repr__(SBBlock self) -> std::string"""
2259        return _lldb.SBBlock___repr__(self)
2260
2261    def get_range_at_index(self, idx):
2262        if idx < self.GetNumRanges():
2263            return [self.GetRangeStartAddress(idx), self.GetRangeEndAddress(idx)]
2264        return []
2265
2266    class ranges_access(object):
2267        '''A helper object that will lazily hand out an array of lldb.SBAddress that represent address ranges for a block.'''
2268        def __init__(self, sbblock):
2269            self.sbblock = sbblock
2270
2271        def __len__(self):
2272            if self.sbblock:
2273                return int(self.sbblock.GetNumRanges())
2274            return 0
2275
2276        def __getitem__(self, key):
2277            count = len(self)
2278            if type(key) is int:
2279                return self.sbblock.get_range_at_index (key);
2280            if isinstance(key, SBAddress):
2281                range_idx = self.sbblock.GetRangeIndexForBlockAddress(key);
2282                if range_idx < len(self):
2283                    return [self.sbblock.GetRangeStartAddress(range_idx), self.sbblock.GetRangeEndAddress(range_idx)]
2284            else:
2285                print("error: unsupported item type: %s" % type(key))
2286            return None
2287
2288    def get_ranges_access_object(self):
2289        '''An accessor function that returns a ranges_access() object which allows lazy block address ranges access.'''
2290        return self.ranges_access (self)
2291
2292    def get_ranges_array(self):
2293        '''An accessor function that returns an array object that contains all ranges in this block object.'''
2294        if not hasattr(self, 'ranges_array'):
2295            self.ranges_array = []
2296            for idx in range(self.num_ranges):
2297                self.ranges_array.append ([self.GetRangeStartAddress(idx), self.GetRangeEndAddress(idx)])
2298        return self.ranges_array
2299
2300    def get_call_site(self):
2301        return declaration(self.GetInlinedCallSiteFile(), self.GetInlinedCallSiteLine(), self.GetInlinedCallSiteColumn())
2302
2303    parent = property(GetParent, None, doc='''A read only property that returns the same result as GetParent().''')
2304    first_child = property(GetFirstChild, None, doc='''A read only property that returns the same result as GetFirstChild().''')
2305    call_site = property(get_call_site, None, doc='''A read only property that returns a lldb.declaration object that contains the inlined call site file, line and column.''')
2306    sibling = property(GetSibling, None, doc='''A read only property that returns the same result as GetSibling().''')
2307    name = property(GetInlinedName, None, doc='''A read only property that returns the same result as GetInlinedName().''')
2308    inlined_block = property(GetContainingInlinedBlock, None, doc='''A read only property that returns the same result as GetContainingInlinedBlock().''')
2309    range = property(get_ranges_access_object, None, doc='''A read only property that allows item access to the address ranges for a block by integer (range = block.range[0]) and by lldb.SBAddress (find the range that contains the specified lldb.SBAddress like "pc_range = lldb.frame.block.range[frame.addr]").''')
2310    ranges = property(get_ranges_array, None, doc='''A read only property that returns a list() object that contains all of the address ranges for the block.''')
2311    num_ranges = property(GetNumRanges, None, doc='''A read only property that returns the same result as GetNumRanges().''')
2312
2313
2314# Register SBBlock in _lldb:
2315_lldb.SBBlock_swigregister(SBBlock)
2316class SBBreakpoint(object):
2317    r"""
2318    Represents a logical breakpoint and its associated settings.
2319
2320    For example (from test/functionalities/breakpoint/breakpoint_ignore_count/
2321    TestBreakpointIgnoreCount.py),::
2322
2323        def breakpoint_ignore_count_python(self):
2324            '''Use Python APIs to set breakpoint ignore count.'''
2325            exe = os.path.join(os.getcwd(), 'a.out')
2326
2327            # Create a target by the debugger.
2328            target = self.dbg.CreateTarget(exe)
2329            self.assertTrue(target, VALID_TARGET)
2330
2331            # Now create a breakpoint on main.c by name 'c'.
2332            breakpoint = target.BreakpointCreateByName('c', 'a.out')
2333            self.assertTrue(breakpoint and
2334                            breakpoint.GetNumLocations() == 1,
2335                            VALID_BREAKPOINT)
2336
2337            # Get the breakpoint location from breakpoint after we verified that,
2338            # indeed, it has one location.
2339            location = breakpoint.GetLocationAtIndex(0)
2340            self.assertTrue(location and
2341                            location.IsEnabled(),
2342                            VALID_BREAKPOINT_LOCATION)
2343
2344            # Set the ignore count on the breakpoint location.
2345            location.SetIgnoreCount(2)
2346            self.assertTrue(location.GetIgnoreCount() == 2,
2347                            'SetIgnoreCount() works correctly')
2348
2349            # Now launch the process, and do not stop at entry point.
2350            process = target.LaunchSimple(None, None, os.getcwd())
2351            self.assertTrue(process, PROCESS_IS_VALID)
2352
2353            # Frame#0 should be on main.c:37, frame#1 should be on main.c:25, and
2354            # frame#2 should be on main.c:48.
2355            #lldbutil.print_stacktraces(process)
2356            from lldbutil import get_stopped_thread
2357            thread = get_stopped_thread(process, lldb.eStopReasonBreakpoint)
2358            self.assertTrue(thread != None, 'There should be a thread stopped due to breakpoint')
2359            frame0 = thread.GetFrameAtIndex(0)
2360            frame1 = thread.GetFrameAtIndex(1)
2361            frame2 = thread.GetFrameAtIndex(2)
2362            self.assertTrue(frame0.GetLineEntry().GetLine() == self.line1 and
2363                            frame1.GetLineEntry().GetLine() == self.line3 and
2364                            frame2.GetLineEntry().GetLine() == self.line4,
2365                            STOPPED_DUE_TO_BREAKPOINT_IGNORE_COUNT)
2366
2367            # The hit count for the breakpoint should be 3.
2368            self.assertTrue(breakpoint.GetHitCount() == 3)
2369
2370            process.Continue()
2371
2372    SBBreakpoint supports breakpoint location iteration, for example,::
2373
2374        for bl in breakpoint:
2375            print('breakpoint location load addr: %s' % hex(bl.GetLoadAddress()))
2376            print('breakpoint location condition: %s' % hex(bl.GetCondition()))
2377
2378    and rich comparison methods which allow the API program to use,::
2379
2380        if aBreakpoint == bBreakpoint:
2381            ...
2382
2383    to compare two breakpoints for equality.
2384    """
2385
2386    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2387
2388    def __init__(self, *args):
2389        r"""
2390        __init__(SBBreakpoint self) -> SBBreakpoint
2391        __init__(SBBreakpoint self, SBBreakpoint rhs) -> SBBreakpoint
2392        """
2393        _lldb.SBBreakpoint_swiginit(self, _lldb.new_SBBreakpoint(*args))
2394    __swig_destroy__ = _lldb.delete_SBBreakpoint
2395
2396    def __eq__(self, rhs):
2397        r"""__eq__(SBBreakpoint self, SBBreakpoint rhs) -> bool"""
2398        return _lldb.SBBreakpoint___eq__(self, rhs)
2399
2400    def __ne__(self, rhs):
2401        r"""__ne__(SBBreakpoint self, SBBreakpoint rhs) -> bool"""
2402        return _lldb.SBBreakpoint___ne__(self, rhs)
2403
2404    def GetID(self):
2405        r"""GetID(SBBreakpoint self) -> lldb::break_id_t"""
2406        return _lldb.SBBreakpoint_GetID(self)
2407
2408    def __nonzero__(self):
2409        return _lldb.SBBreakpoint___nonzero__(self)
2410    __bool__ = __nonzero__
2411
2412
2413
2414    def IsValid(self):
2415        r"""IsValid(SBBreakpoint self) -> bool"""
2416        return _lldb.SBBreakpoint_IsValid(self)
2417
2418    def ClearAllBreakpointSites(self):
2419        r"""ClearAllBreakpointSites(SBBreakpoint self)"""
2420        return _lldb.SBBreakpoint_ClearAllBreakpointSites(self)
2421
2422    def GetTarget(self):
2423        r"""GetTarget(SBBreakpoint self) -> SBTarget"""
2424        return _lldb.SBBreakpoint_GetTarget(self)
2425
2426    def FindLocationByAddress(self, vm_addr):
2427        r"""FindLocationByAddress(SBBreakpoint self, lldb::addr_t vm_addr) -> SBBreakpointLocation"""
2428        return _lldb.SBBreakpoint_FindLocationByAddress(self, vm_addr)
2429
2430    def FindLocationIDByAddress(self, vm_addr):
2431        r"""FindLocationIDByAddress(SBBreakpoint self, lldb::addr_t vm_addr) -> lldb::break_id_t"""
2432        return _lldb.SBBreakpoint_FindLocationIDByAddress(self, vm_addr)
2433
2434    def FindLocationByID(self, bp_loc_id):
2435        r"""FindLocationByID(SBBreakpoint self, lldb::break_id_t bp_loc_id) -> SBBreakpointLocation"""
2436        return _lldb.SBBreakpoint_FindLocationByID(self, bp_loc_id)
2437
2438    def GetLocationAtIndex(self, index):
2439        r"""GetLocationAtIndex(SBBreakpoint self, uint32_t index) -> SBBreakpointLocation"""
2440        return _lldb.SBBreakpoint_GetLocationAtIndex(self, index)
2441
2442    def SetEnabled(self, enable):
2443        r"""SetEnabled(SBBreakpoint self, bool enable)"""
2444        return _lldb.SBBreakpoint_SetEnabled(self, enable)
2445
2446    def IsEnabled(self):
2447        r"""IsEnabled(SBBreakpoint self) -> bool"""
2448        return _lldb.SBBreakpoint_IsEnabled(self)
2449
2450    def SetOneShot(self, one_shot):
2451        r"""SetOneShot(SBBreakpoint self, bool one_shot)"""
2452        return _lldb.SBBreakpoint_SetOneShot(self, one_shot)
2453
2454    def IsOneShot(self):
2455        r"""IsOneShot(SBBreakpoint self) -> bool"""
2456        return _lldb.SBBreakpoint_IsOneShot(self)
2457
2458    def IsInternal(self):
2459        r"""IsInternal(SBBreakpoint self) -> bool"""
2460        return _lldb.SBBreakpoint_IsInternal(self)
2461
2462    def GetHitCount(self):
2463        r"""GetHitCount(SBBreakpoint self) -> uint32_t"""
2464        return _lldb.SBBreakpoint_GetHitCount(self)
2465
2466    def SetIgnoreCount(self, count):
2467        r"""SetIgnoreCount(SBBreakpoint self, uint32_t count)"""
2468        return _lldb.SBBreakpoint_SetIgnoreCount(self, count)
2469
2470    def GetIgnoreCount(self):
2471        r"""GetIgnoreCount(SBBreakpoint self) -> uint32_t"""
2472        return _lldb.SBBreakpoint_GetIgnoreCount(self)
2473
2474    def SetCondition(self, condition):
2475        r"""
2476        SetCondition(SBBreakpoint self, char const * condition)
2477
2478            The breakpoint stops only if the condition expression evaluates to true.
2479        """
2480        return _lldb.SBBreakpoint_SetCondition(self, condition)
2481
2482    def GetCondition(self):
2483        r"""
2484        GetCondition(SBBreakpoint self) -> char const *
2485
2486            Get the condition expression for the breakpoint.
2487        """
2488        return _lldb.SBBreakpoint_GetCondition(self)
2489
2490    def SetAutoContinue(self, auto_continue):
2491        r"""SetAutoContinue(SBBreakpoint self, bool auto_continue)"""
2492        return _lldb.SBBreakpoint_SetAutoContinue(self, auto_continue)
2493
2494    def GetAutoContinue(self):
2495        r"""GetAutoContinue(SBBreakpoint self) -> bool"""
2496        return _lldb.SBBreakpoint_GetAutoContinue(self)
2497
2498    def SetThreadID(self, sb_thread_id):
2499        r"""SetThreadID(SBBreakpoint self, lldb::tid_t sb_thread_id)"""
2500        return _lldb.SBBreakpoint_SetThreadID(self, sb_thread_id)
2501
2502    def GetThreadID(self):
2503        r"""GetThreadID(SBBreakpoint self) -> lldb::tid_t"""
2504        return _lldb.SBBreakpoint_GetThreadID(self)
2505
2506    def SetThreadIndex(self, index):
2507        r"""SetThreadIndex(SBBreakpoint self, uint32_t index)"""
2508        return _lldb.SBBreakpoint_SetThreadIndex(self, index)
2509
2510    def GetThreadIndex(self):
2511        r"""GetThreadIndex(SBBreakpoint self) -> uint32_t"""
2512        return _lldb.SBBreakpoint_GetThreadIndex(self)
2513
2514    def SetThreadName(self, thread_name):
2515        r"""SetThreadName(SBBreakpoint self, char const * thread_name)"""
2516        return _lldb.SBBreakpoint_SetThreadName(self, thread_name)
2517
2518    def GetThreadName(self):
2519        r"""GetThreadName(SBBreakpoint self) -> char const *"""
2520        return _lldb.SBBreakpoint_GetThreadName(self)
2521
2522    def SetQueueName(self, queue_name):
2523        r"""SetQueueName(SBBreakpoint self, char const * queue_name)"""
2524        return _lldb.SBBreakpoint_SetQueueName(self, queue_name)
2525
2526    def GetQueueName(self):
2527        r"""GetQueueName(SBBreakpoint self) -> char const *"""
2528        return _lldb.SBBreakpoint_GetQueueName(self)
2529
2530    def SetScriptCallbackFunction(self, *args):
2531        r"""
2532        SetScriptCallbackFunction(SBBreakpoint self, char const * callback_function_name)
2533        SetScriptCallbackFunction(SBBreakpoint self, char const * callback_function_name, SBStructuredData extra_args) -> SBError
2534
2535            Set the name of the script function to be called when the breakpoint is hit.
2536            To use this variant, the function should take (frame, bp_loc, extra_args, internal_dict) and
2537            when the breakpoint is hit the extra_args will be passed to the callback function.
2538        """
2539        return _lldb.SBBreakpoint_SetScriptCallbackFunction(self, *args)
2540
2541    def SetCommandLineCommands(self, commands):
2542        r"""SetCommandLineCommands(SBBreakpoint self, SBStringList commands)"""
2543        return _lldb.SBBreakpoint_SetCommandLineCommands(self, commands)
2544
2545    def GetCommandLineCommands(self, commands):
2546        r"""GetCommandLineCommands(SBBreakpoint self, SBStringList commands) -> bool"""
2547        return _lldb.SBBreakpoint_GetCommandLineCommands(self, commands)
2548
2549    def SetScriptCallbackBody(self, script_body_text):
2550        r"""
2551        SetScriptCallbackBody(SBBreakpoint self, char const * script_body_text) -> SBError
2552
2553            Provide the body for the script function to be called when the breakpoint is hit.
2554            The body will be wrapped in a function, which be passed two arguments:
2555            'frame' - which holds the bottom-most SBFrame of the thread that hit the breakpoint
2556            'bpno'  - which is the SBBreakpointLocation to which the callback was attached.
2557
2558            The error parameter is currently ignored, but will at some point hold the Python
2559            compilation diagnostics.
2560            Returns true if the body compiles successfully, false if not.
2561        """
2562        return _lldb.SBBreakpoint_SetScriptCallbackBody(self, script_body_text)
2563
2564    def AddName(self, new_name):
2565        r"""AddName(SBBreakpoint self, char const * new_name) -> bool"""
2566        return _lldb.SBBreakpoint_AddName(self, new_name)
2567
2568    def AddNameWithErrorHandling(self, new_name):
2569        r"""AddNameWithErrorHandling(SBBreakpoint self, char const * new_name) -> SBError"""
2570        return _lldb.SBBreakpoint_AddNameWithErrorHandling(self, new_name)
2571
2572    def RemoveName(self, name_to_remove):
2573        r"""RemoveName(SBBreakpoint self, char const * name_to_remove)"""
2574        return _lldb.SBBreakpoint_RemoveName(self, name_to_remove)
2575
2576    def MatchesName(self, name):
2577        r"""MatchesName(SBBreakpoint self, char const * name) -> bool"""
2578        return _lldb.SBBreakpoint_MatchesName(self, name)
2579
2580    def GetNames(self, names):
2581        r"""GetNames(SBBreakpoint self, SBStringList names)"""
2582        return _lldb.SBBreakpoint_GetNames(self, names)
2583
2584    def GetNumResolvedLocations(self):
2585        r"""GetNumResolvedLocations(SBBreakpoint self) -> size_t"""
2586        return _lldb.SBBreakpoint_GetNumResolvedLocations(self)
2587
2588    def GetNumLocations(self):
2589        r"""GetNumLocations(SBBreakpoint self) -> size_t"""
2590        return _lldb.SBBreakpoint_GetNumLocations(self)
2591
2592    def GetDescription(self, *args):
2593        r"""
2594        GetDescription(SBBreakpoint self, SBStream description) -> bool
2595        GetDescription(SBBreakpoint self, SBStream description, bool include_locations) -> bool
2596        """
2597        return _lldb.SBBreakpoint_GetDescription(self, *args)
2598
2599    @staticmethod
2600    def EventIsBreakpointEvent(event):
2601        r"""EventIsBreakpointEvent(SBEvent event) -> bool"""
2602        return _lldb.SBBreakpoint_EventIsBreakpointEvent(event)
2603
2604    @staticmethod
2605    def GetBreakpointEventTypeFromEvent(event):
2606        r"""GetBreakpointEventTypeFromEvent(SBEvent event) -> lldb::BreakpointEventType"""
2607        return _lldb.SBBreakpoint_GetBreakpointEventTypeFromEvent(event)
2608
2609    @staticmethod
2610    def GetBreakpointFromEvent(event):
2611        r"""GetBreakpointFromEvent(SBEvent event) -> SBBreakpoint"""
2612        return _lldb.SBBreakpoint_GetBreakpointFromEvent(event)
2613
2614    @staticmethod
2615    def GetBreakpointLocationAtIndexFromEvent(event, loc_idx):
2616        r"""GetBreakpointLocationAtIndexFromEvent(SBEvent event, uint32_t loc_idx) -> SBBreakpointLocation"""
2617        return _lldb.SBBreakpoint_GetBreakpointLocationAtIndexFromEvent(event, loc_idx)
2618
2619    @staticmethod
2620    def GetNumBreakpointLocationsFromEvent(event_sp):
2621        r"""GetNumBreakpointLocationsFromEvent(SBEvent event_sp) -> uint32_t"""
2622        return _lldb.SBBreakpoint_GetNumBreakpointLocationsFromEvent(event_sp)
2623
2624    def IsHardware(self):
2625        r"""IsHardware(SBBreakpoint self) -> bool"""
2626        return _lldb.SBBreakpoint_IsHardware(self)
2627
2628    def AddLocation(self, address):
2629        r"""AddLocation(SBBreakpoint self, SBAddress address) -> SBError"""
2630        return _lldb.SBBreakpoint_AddLocation(self, address)
2631
2632    def SerializeToStructuredData(self):
2633        r"""SerializeToStructuredData(SBBreakpoint self) -> SBStructuredData"""
2634        return _lldb.SBBreakpoint_SerializeToStructuredData(self)
2635
2636    def __repr__(self):
2637        r"""__repr__(SBBreakpoint self) -> std::string"""
2638        return _lldb.SBBreakpoint___repr__(self)
2639
2640
2641    class locations_access(object):
2642        '''A helper object that will lazily hand out locations for a breakpoint when supplied an index.'''
2643        def __init__(self, sbbreakpoint):
2644            self.sbbreakpoint = sbbreakpoint
2645
2646        def __len__(self):
2647            if self.sbbreakpoint:
2648                return int(self.sbbreakpoint.GetNumLocations())
2649            return 0
2650
2651        def __getitem__(self, key):
2652            if isinstance(key, int):
2653                count = len(self)
2654                if -count <= key < count:
2655                    key %= count
2656                    return self.sbbreakpoint.GetLocationAtIndex(key)
2657            return None
2658
2659    def get_locations_access_object(self):
2660        '''An accessor function that returns a locations_access() object which allows lazy location access from a lldb.SBBreakpoint object.'''
2661        return self.locations_access (self)
2662
2663    def get_breakpoint_location_list(self):
2664        '''An accessor function that returns a list() that contains all locations in a lldb.SBBreakpoint object.'''
2665        locations = []
2666        accessor = self.get_locations_access_object()
2667        for idx in range(len(accessor)):
2668            locations.append(accessor[idx])
2669        return locations
2670
2671    def __iter__(self):
2672        '''Iterate over all breakpoint locations in a lldb.SBBreakpoint
2673        object.'''
2674        return lldb_iter(self, 'GetNumLocations', 'GetLocationAtIndex')
2675
2676    def __len__(self):
2677        '''Return the number of breakpoint locations in a lldb.SBBreakpoint
2678        object.'''
2679        return self.GetNumLocations()
2680
2681    locations = property(get_breakpoint_location_list, None, doc='''A read only property that returns a list() of lldb.SBBreakpointLocation objects for this breakpoint.''')
2682    location = property(get_locations_access_object, None, doc='''A read only property that returns an object that can access locations by index (not location ID) (location = bkpt.location[12]).''')
2683    id = property(GetID, None, doc='''A read only property that returns the ID of this breakpoint.''')
2684    enabled = property(IsEnabled, SetEnabled, doc='''A read/write property that configures whether this breakpoint is enabled or not.''')
2685    one_shot = property(IsOneShot, SetOneShot, doc='''A read/write property that configures whether this breakpoint is one-shot (deleted when hit) or not.''')
2686    num_locations = property(GetNumLocations, None, doc='''A read only property that returns the count of locations of this breakpoint.''')
2687
2688
2689    def __eq__(self, rhs):
2690        if not isinstance(rhs, type(self)):
2691            return False
2692
2693        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
2694
2695    def __ne__(self, rhs):
2696        if not isinstance(rhs, type(self)):
2697            return True
2698
2699        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
2700
2701
2702# Register SBBreakpoint in _lldb:
2703_lldb.SBBreakpoint_swigregister(SBBreakpoint)
2704class SBBreakpointList(object):
2705    r"""Represents a list of :py:class:`SBBreakpoint`."""
2706
2707    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2708    __repr__ = _swig_repr
2709
2710    def __init__(self, target):
2711        r"""__init__(SBBreakpointList self, SBTarget target) -> SBBreakpointList"""
2712        _lldb.SBBreakpointList_swiginit(self, _lldb.new_SBBreakpointList(target))
2713    __swig_destroy__ = _lldb.delete_SBBreakpointList
2714
2715    def GetSize(self):
2716        r"""GetSize(SBBreakpointList self) -> size_t"""
2717        return _lldb.SBBreakpointList_GetSize(self)
2718
2719    def GetBreakpointAtIndex(self, idx):
2720        r"""GetBreakpointAtIndex(SBBreakpointList self, size_t idx) -> SBBreakpoint"""
2721        return _lldb.SBBreakpointList_GetBreakpointAtIndex(self, idx)
2722
2723    def FindBreakpointByID(self, arg2):
2724        r"""FindBreakpointByID(SBBreakpointList self, lldb::break_id_t arg2) -> SBBreakpoint"""
2725        return _lldb.SBBreakpointList_FindBreakpointByID(self, arg2)
2726
2727    def Append(self, sb_bkpt):
2728        r"""Append(SBBreakpointList self, SBBreakpoint sb_bkpt)"""
2729        return _lldb.SBBreakpointList_Append(self, sb_bkpt)
2730
2731    def AppendIfUnique(self, sb_bkpt):
2732        r"""AppendIfUnique(SBBreakpointList self, SBBreakpoint sb_bkpt) -> bool"""
2733        return _lldb.SBBreakpointList_AppendIfUnique(self, sb_bkpt)
2734
2735    def AppendByID(self, id):
2736        r"""AppendByID(SBBreakpointList self, lldb::break_id_t id)"""
2737        return _lldb.SBBreakpointList_AppendByID(self, id)
2738
2739    def Clear(self):
2740        r"""Clear(SBBreakpointList self)"""
2741        return _lldb.SBBreakpointList_Clear(self)
2742
2743    def __len__(self):
2744        '''Return the number of breakpoints in a lldb.SBBreakpointList object.'''
2745        return self.GetSize()
2746
2747    def __iter__(self):
2748        '''Iterate over all breakpoints in a lldb.SBBreakpointList object.'''
2749        return lldb_iter(self, 'GetSize', 'GetBreakpointAtIndex')
2750
2751
2752# Register SBBreakpointList in _lldb:
2753_lldb.SBBreakpointList_swigregister(SBBreakpointList)
2754class SBBreakpointLocation(object):
2755    r"""
2756    Represents one unique instance (by address) of a logical breakpoint.
2757
2758    A breakpoint location is defined by the breakpoint that produces it,
2759    and the address that resulted in this particular instantiation.
2760    Each breakpoint location has its settable options.
2761
2762    :py:class:`SBBreakpoint` contains SBBreakpointLocation(s). See docstring of SBBreakpoint
2763    for retrieval of an SBBreakpointLocation from an SBBreakpoint.
2764    """
2765
2766    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2767
2768    def __init__(self, *args):
2769        r"""
2770        __init__(SBBreakpointLocation self) -> SBBreakpointLocation
2771        __init__(SBBreakpointLocation self, SBBreakpointLocation rhs) -> SBBreakpointLocation
2772        """
2773        _lldb.SBBreakpointLocation_swiginit(self, _lldb.new_SBBreakpointLocation(*args))
2774    __swig_destroy__ = _lldb.delete_SBBreakpointLocation
2775
2776    def GetID(self):
2777        r"""GetID(SBBreakpointLocation self) -> lldb::break_id_t"""
2778        return _lldb.SBBreakpointLocation_GetID(self)
2779
2780    def __nonzero__(self):
2781        return _lldb.SBBreakpointLocation___nonzero__(self)
2782    __bool__ = __nonzero__
2783
2784
2785
2786    def IsValid(self):
2787        r"""IsValid(SBBreakpointLocation self) -> bool"""
2788        return _lldb.SBBreakpointLocation_IsValid(self)
2789
2790    def GetAddress(self):
2791        r"""GetAddress(SBBreakpointLocation self) -> SBAddress"""
2792        return _lldb.SBBreakpointLocation_GetAddress(self)
2793
2794    def GetLoadAddress(self):
2795        r"""GetLoadAddress(SBBreakpointLocation self) -> lldb::addr_t"""
2796        return _lldb.SBBreakpointLocation_GetLoadAddress(self)
2797
2798    def SetEnabled(self, enabled):
2799        r"""SetEnabled(SBBreakpointLocation self, bool enabled)"""
2800        return _lldb.SBBreakpointLocation_SetEnabled(self, enabled)
2801
2802    def IsEnabled(self):
2803        r"""IsEnabled(SBBreakpointLocation self) -> bool"""
2804        return _lldb.SBBreakpointLocation_IsEnabled(self)
2805
2806    def GetHitCount(self):
2807        r"""GetHitCount(SBBreakpointLocation self) -> uint32_t"""
2808        return _lldb.SBBreakpointLocation_GetHitCount(self)
2809
2810    def GetIgnoreCount(self):
2811        r"""GetIgnoreCount(SBBreakpointLocation self) -> uint32_t"""
2812        return _lldb.SBBreakpointLocation_GetIgnoreCount(self)
2813
2814    def SetIgnoreCount(self, n):
2815        r"""SetIgnoreCount(SBBreakpointLocation self, uint32_t n)"""
2816        return _lldb.SBBreakpointLocation_SetIgnoreCount(self, n)
2817
2818    def SetCondition(self, condition):
2819        r"""
2820        SetCondition(SBBreakpointLocation self, char const * condition)
2821
2822            The breakpoint location stops only if the condition expression evaluates
2823            to true.
2824        """
2825        return _lldb.SBBreakpointLocation_SetCondition(self, condition)
2826
2827    def GetCondition(self):
2828        r"""
2829        GetCondition(SBBreakpointLocation self) -> char const *
2830
2831            Get the condition expression for the breakpoint location.
2832        """
2833        return _lldb.SBBreakpointLocation_GetCondition(self)
2834
2835    def SetAutoContinue(self, auto_continue):
2836        r"""SetAutoContinue(SBBreakpointLocation self, bool auto_continue)"""
2837        return _lldb.SBBreakpointLocation_SetAutoContinue(self, auto_continue)
2838
2839    def GetAutoContinue(self):
2840        r"""GetAutoContinue(SBBreakpointLocation self) -> bool"""
2841        return _lldb.SBBreakpointLocation_GetAutoContinue(self)
2842
2843    def SetScriptCallbackFunction(self, *args):
2844        r"""
2845        SetScriptCallbackFunction(SBBreakpointLocation self, char const * callback_function_name)
2846        SetScriptCallbackFunction(SBBreakpointLocation self, char const * callback_function_name, SBStructuredData extra_args) -> SBError
2847
2848            Set the name of the script function to be called when the breakpoint is hit.
2849            To use this variant, the function should take (frame, bp_loc, extra_args, internal_dict) and
2850            when the breakpoint is hit the extra_args will be passed to the callback function.
2851        """
2852        return _lldb.SBBreakpointLocation_SetScriptCallbackFunction(self, *args)
2853
2854    def SetScriptCallbackBody(self, script_body_text):
2855        r"""
2856        SetScriptCallbackBody(SBBreakpointLocation self, char const * script_body_text) -> SBError
2857
2858            Provide the body for the script function to be called when the breakpoint location is hit.
2859            The body will be wrapped in a function, which be passed two arguments:
2860            'frame' - which holds the bottom-most SBFrame of the thread that hit the breakpoint
2861            'bpno'  - which is the SBBreakpointLocation to which the callback was attached.
2862
2863            The error parameter is currently ignored, but will at some point hold the Python
2864            compilation diagnostics.
2865            Returns true if the body compiles successfully, false if not.
2866        """
2867        return _lldb.SBBreakpointLocation_SetScriptCallbackBody(self, script_body_text)
2868
2869    def SetCommandLineCommands(self, commands):
2870        r"""SetCommandLineCommands(SBBreakpointLocation self, SBStringList commands)"""
2871        return _lldb.SBBreakpointLocation_SetCommandLineCommands(self, commands)
2872
2873    def GetCommandLineCommands(self, commands):
2874        r"""GetCommandLineCommands(SBBreakpointLocation self, SBStringList commands) -> bool"""
2875        return _lldb.SBBreakpointLocation_GetCommandLineCommands(self, commands)
2876
2877    def SetThreadID(self, sb_thread_id):
2878        r"""SetThreadID(SBBreakpointLocation self, lldb::tid_t sb_thread_id)"""
2879        return _lldb.SBBreakpointLocation_SetThreadID(self, sb_thread_id)
2880
2881    def GetThreadID(self):
2882        r"""GetThreadID(SBBreakpointLocation self) -> lldb::tid_t"""
2883        return _lldb.SBBreakpointLocation_GetThreadID(self)
2884
2885    def SetThreadIndex(self, index):
2886        r"""SetThreadIndex(SBBreakpointLocation self, uint32_t index)"""
2887        return _lldb.SBBreakpointLocation_SetThreadIndex(self, index)
2888
2889    def GetThreadIndex(self):
2890        r"""GetThreadIndex(SBBreakpointLocation self) -> uint32_t"""
2891        return _lldb.SBBreakpointLocation_GetThreadIndex(self)
2892
2893    def SetThreadName(self, thread_name):
2894        r"""SetThreadName(SBBreakpointLocation self, char const * thread_name)"""
2895        return _lldb.SBBreakpointLocation_SetThreadName(self, thread_name)
2896
2897    def GetThreadName(self):
2898        r"""GetThreadName(SBBreakpointLocation self) -> char const *"""
2899        return _lldb.SBBreakpointLocation_GetThreadName(self)
2900
2901    def SetQueueName(self, queue_name):
2902        r"""SetQueueName(SBBreakpointLocation self, char const * queue_name)"""
2903        return _lldb.SBBreakpointLocation_SetQueueName(self, queue_name)
2904
2905    def GetQueueName(self):
2906        r"""GetQueueName(SBBreakpointLocation self) -> char const *"""
2907        return _lldb.SBBreakpointLocation_GetQueueName(self)
2908
2909    def IsResolved(self):
2910        r"""IsResolved(SBBreakpointLocation self) -> bool"""
2911        return _lldb.SBBreakpointLocation_IsResolved(self)
2912
2913    def GetDescription(self, description, level):
2914        r"""GetDescription(SBBreakpointLocation self, SBStream description, lldb::DescriptionLevel level) -> bool"""
2915        return _lldb.SBBreakpointLocation_GetDescription(self, description, level)
2916
2917    def GetBreakpoint(self):
2918        r"""GetBreakpoint(SBBreakpointLocation self) -> SBBreakpoint"""
2919        return _lldb.SBBreakpointLocation_GetBreakpoint(self)
2920
2921    def __repr__(self):
2922        r"""__repr__(SBBreakpointLocation self) -> std::string"""
2923        return _lldb.SBBreakpointLocation___repr__(self)
2924
2925        # operator== is a free function, which swig does not handle, so we inject
2926        # our own equality operator here
2927    def __eq__(self, other):
2928      return not self.__ne__(other)
2929
2930
2931# Register SBBreakpointLocation in _lldb:
2932_lldb.SBBreakpointLocation_swigregister(SBBreakpointLocation)
2933class SBBreakpointName(object):
2934    r"""
2935    Represents a breakpoint name registered in a given :py:class:`SBTarget`.
2936
2937    Breakpoint names provide a way to act on groups of breakpoints.  When you add a
2938    name to a group of breakpoints, you can then use the name in all the command
2939    line lldb commands for that name.  You can also configure the SBBreakpointName
2940    options and those options will be propagated to any :py:class:`SBBreakpoint` s currently
2941    using that name.  Adding a name to a breakpoint will also apply any of the
2942    set options to that breakpoint.
2943
2944    You can also set permissions on a breakpoint name to disable listing, deleting
2945    and disabling breakpoints.  That will disallow the given operation for breakpoints
2946    except when the breakpoint is mentioned by ID.  So for instance deleting all the
2947    breakpoints won't delete breakpoints so marked.
2948    """
2949
2950    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2951
2952    def __init__(self, *args):
2953        r"""
2954        __init__(SBBreakpointName self) -> SBBreakpointName
2955        __init__(SBBreakpointName self, SBTarget target, char const * name) -> SBBreakpointName
2956        __init__(SBBreakpointName self, SBBreakpoint bkpt, char const * name) -> SBBreakpointName
2957        __init__(SBBreakpointName self, SBBreakpointName rhs) -> SBBreakpointName
2958        """
2959        _lldb.SBBreakpointName_swiginit(self, _lldb.new_SBBreakpointName(*args))
2960    __swig_destroy__ = _lldb.delete_SBBreakpointName
2961
2962    def __eq__(self, rhs):
2963        r"""__eq__(SBBreakpointName self, SBBreakpointName rhs) -> bool"""
2964        return _lldb.SBBreakpointName___eq__(self, rhs)
2965
2966    def __ne__(self, rhs):
2967        r"""__ne__(SBBreakpointName self, SBBreakpointName rhs) -> bool"""
2968        return _lldb.SBBreakpointName___ne__(self, rhs)
2969
2970    def __nonzero__(self):
2971        return _lldb.SBBreakpointName___nonzero__(self)
2972    __bool__ = __nonzero__
2973
2974
2975
2976    def IsValid(self):
2977        r"""IsValid(SBBreakpointName self) -> bool"""
2978        return _lldb.SBBreakpointName_IsValid(self)
2979
2980    def GetName(self):
2981        r"""GetName(SBBreakpointName self) -> char const *"""
2982        return _lldb.SBBreakpointName_GetName(self)
2983
2984    def SetEnabled(self, enable):
2985        r"""SetEnabled(SBBreakpointName self, bool enable)"""
2986        return _lldb.SBBreakpointName_SetEnabled(self, enable)
2987
2988    def IsEnabled(self):
2989        r"""IsEnabled(SBBreakpointName self) -> bool"""
2990        return _lldb.SBBreakpointName_IsEnabled(self)
2991
2992    def SetOneShot(self, one_shot):
2993        r"""SetOneShot(SBBreakpointName self, bool one_shot)"""
2994        return _lldb.SBBreakpointName_SetOneShot(self, one_shot)
2995
2996    def IsOneShot(self):
2997        r"""IsOneShot(SBBreakpointName self) -> bool"""
2998        return _lldb.SBBreakpointName_IsOneShot(self)
2999
3000    def SetIgnoreCount(self, count):
3001        r"""SetIgnoreCount(SBBreakpointName self, uint32_t count)"""
3002        return _lldb.SBBreakpointName_SetIgnoreCount(self, count)
3003
3004    def GetIgnoreCount(self):
3005        r"""GetIgnoreCount(SBBreakpointName self) -> uint32_t"""
3006        return _lldb.SBBreakpointName_GetIgnoreCount(self)
3007
3008    def SetCondition(self, condition):
3009        r"""SetCondition(SBBreakpointName self, char const * condition)"""
3010        return _lldb.SBBreakpointName_SetCondition(self, condition)
3011
3012    def GetCondition(self):
3013        r"""GetCondition(SBBreakpointName self) -> char const *"""
3014        return _lldb.SBBreakpointName_GetCondition(self)
3015
3016    def SetAutoContinue(self, auto_continue):
3017        r"""SetAutoContinue(SBBreakpointName self, bool auto_continue)"""
3018        return _lldb.SBBreakpointName_SetAutoContinue(self, auto_continue)
3019
3020    def GetAutoContinue(self):
3021        r"""GetAutoContinue(SBBreakpointName self) -> bool"""
3022        return _lldb.SBBreakpointName_GetAutoContinue(self)
3023
3024    def SetThreadID(self, sb_thread_id):
3025        r"""SetThreadID(SBBreakpointName self, lldb::tid_t sb_thread_id)"""
3026        return _lldb.SBBreakpointName_SetThreadID(self, sb_thread_id)
3027
3028    def GetThreadID(self):
3029        r"""GetThreadID(SBBreakpointName self) -> lldb::tid_t"""
3030        return _lldb.SBBreakpointName_GetThreadID(self)
3031
3032    def SetThreadIndex(self, index):
3033        r"""SetThreadIndex(SBBreakpointName self, uint32_t index)"""
3034        return _lldb.SBBreakpointName_SetThreadIndex(self, index)
3035
3036    def GetThreadIndex(self):
3037        r"""GetThreadIndex(SBBreakpointName self) -> uint32_t"""
3038        return _lldb.SBBreakpointName_GetThreadIndex(self)
3039
3040    def SetThreadName(self, thread_name):
3041        r"""SetThreadName(SBBreakpointName self, char const * thread_name)"""
3042        return _lldb.SBBreakpointName_SetThreadName(self, thread_name)
3043
3044    def GetThreadName(self):
3045        r"""GetThreadName(SBBreakpointName self) -> char const *"""
3046        return _lldb.SBBreakpointName_GetThreadName(self)
3047
3048    def SetQueueName(self, queue_name):
3049        r"""SetQueueName(SBBreakpointName self, char const * queue_name)"""
3050        return _lldb.SBBreakpointName_SetQueueName(self, queue_name)
3051
3052    def GetQueueName(self):
3053        r"""GetQueueName(SBBreakpointName self) -> char const *"""
3054        return _lldb.SBBreakpointName_GetQueueName(self)
3055
3056    def SetScriptCallbackFunction(self, *args):
3057        r"""
3058        SetScriptCallbackFunction(SBBreakpointName self, char const * callback_function_name)
3059        SetScriptCallbackFunction(SBBreakpointName self, char const * callback_function_name, SBStructuredData extra_args) -> SBError
3060        """
3061        return _lldb.SBBreakpointName_SetScriptCallbackFunction(self, *args)
3062
3063    def SetCommandLineCommands(self, commands):
3064        r"""SetCommandLineCommands(SBBreakpointName self, SBStringList commands)"""
3065        return _lldb.SBBreakpointName_SetCommandLineCommands(self, commands)
3066
3067    def GetCommandLineCommands(self, commands):
3068        r"""GetCommandLineCommands(SBBreakpointName self, SBStringList commands) -> bool"""
3069        return _lldb.SBBreakpointName_GetCommandLineCommands(self, commands)
3070
3071    def SetScriptCallbackBody(self, script_body_text):
3072        r"""SetScriptCallbackBody(SBBreakpointName self, char const * script_body_text) -> SBError"""
3073        return _lldb.SBBreakpointName_SetScriptCallbackBody(self, script_body_text)
3074
3075    def GetHelpString(self):
3076        r"""GetHelpString(SBBreakpointName self) -> char const *"""
3077        return _lldb.SBBreakpointName_GetHelpString(self)
3078
3079    def SetHelpString(self, help_string):
3080        r"""SetHelpString(SBBreakpointName self, char const * help_string)"""
3081        return _lldb.SBBreakpointName_SetHelpString(self, help_string)
3082
3083    def GetAllowList(self):
3084        r"""GetAllowList(SBBreakpointName self) -> bool"""
3085        return _lldb.SBBreakpointName_GetAllowList(self)
3086
3087    def SetAllowList(self, value):
3088        r"""SetAllowList(SBBreakpointName self, bool value)"""
3089        return _lldb.SBBreakpointName_SetAllowList(self, value)
3090
3091    def GetAllowDelete(self):
3092        r"""GetAllowDelete(SBBreakpointName self) -> bool"""
3093        return _lldb.SBBreakpointName_GetAllowDelete(self)
3094
3095    def SetAllowDelete(self, value):
3096        r"""SetAllowDelete(SBBreakpointName self, bool value)"""
3097        return _lldb.SBBreakpointName_SetAllowDelete(self, value)
3098
3099    def GetAllowDisable(self):
3100        r"""GetAllowDisable(SBBreakpointName self) -> bool"""
3101        return _lldb.SBBreakpointName_GetAllowDisable(self)
3102
3103    def SetAllowDisable(self, value):
3104        r"""SetAllowDisable(SBBreakpointName self, bool value)"""
3105        return _lldb.SBBreakpointName_SetAllowDisable(self, value)
3106
3107    def GetDescription(self, description):
3108        r"""GetDescription(SBBreakpointName self, SBStream description) -> bool"""
3109        return _lldb.SBBreakpointName_GetDescription(self, description)
3110
3111    def __repr__(self):
3112        r"""__repr__(SBBreakpointName self) -> std::string"""
3113        return _lldb.SBBreakpointName___repr__(self)
3114
3115        # operator== is a free function, which swig does not handle, so we inject
3116        # our own equality operator here
3117    def __eq__(self, other):
3118      return not self.__ne__(other)
3119
3120
3121# Register SBBreakpointName in _lldb:
3122_lldb.SBBreakpointName_swigregister(SBBreakpointName)
3123class SBBroadcaster(object):
3124    r"""
3125    Represents an entity which can broadcast events.
3126
3127    A default broadcaster is
3128    associated with an SBCommandInterpreter, SBProcess, and SBTarget.  For
3129    example, use ::
3130
3131        broadcaster = process.GetBroadcaster()
3132
3133    to retrieve the process's broadcaster.
3134
3135    See also SBEvent for example usage of interacting with a broadcaster.
3136    """
3137
3138    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3139    __repr__ = _swig_repr
3140
3141    def __init__(self, *args):
3142        r"""
3143        __init__(SBBroadcaster self) -> SBBroadcaster
3144        __init__(SBBroadcaster self, char const * name) -> SBBroadcaster
3145        __init__(SBBroadcaster self, SBBroadcaster rhs) -> SBBroadcaster
3146        """
3147        _lldb.SBBroadcaster_swiginit(self, _lldb.new_SBBroadcaster(*args))
3148    __swig_destroy__ = _lldb.delete_SBBroadcaster
3149
3150    def __nonzero__(self):
3151        return _lldb.SBBroadcaster___nonzero__(self)
3152    __bool__ = __nonzero__
3153
3154
3155
3156    def IsValid(self):
3157        r"""IsValid(SBBroadcaster self) -> bool"""
3158        return _lldb.SBBroadcaster_IsValid(self)
3159
3160    def Clear(self):
3161        r"""Clear(SBBroadcaster self)"""
3162        return _lldb.SBBroadcaster_Clear(self)
3163
3164    def BroadcastEventByType(self, event_type, unique=False):
3165        r"""BroadcastEventByType(SBBroadcaster self, uint32_t event_type, bool unique=False)"""
3166        return _lldb.SBBroadcaster_BroadcastEventByType(self, event_type, unique)
3167
3168    def BroadcastEvent(self, event, unique=False):
3169        r"""BroadcastEvent(SBBroadcaster self, SBEvent event, bool unique=False)"""
3170        return _lldb.SBBroadcaster_BroadcastEvent(self, event, unique)
3171
3172    def AddInitialEventsToListener(self, listener, requested_events):
3173        r"""AddInitialEventsToListener(SBBroadcaster self, SBListener listener, uint32_t requested_events)"""
3174        return _lldb.SBBroadcaster_AddInitialEventsToListener(self, listener, requested_events)
3175
3176    def AddListener(self, listener, event_mask):
3177        r"""AddListener(SBBroadcaster self, SBListener listener, uint32_t event_mask) -> uint32_t"""
3178        return _lldb.SBBroadcaster_AddListener(self, listener, event_mask)
3179
3180    def GetName(self):
3181        r"""GetName(SBBroadcaster self) -> char const *"""
3182        return _lldb.SBBroadcaster_GetName(self)
3183
3184    def EventTypeHasListeners(self, event_type):
3185        r"""EventTypeHasListeners(SBBroadcaster self, uint32_t event_type) -> bool"""
3186        return _lldb.SBBroadcaster_EventTypeHasListeners(self, event_type)
3187
3188    def RemoveListener(self, *args):
3189        r"""RemoveListener(SBBroadcaster self, SBListener listener, uint32_t event_mask=4294967295U) -> bool"""
3190        return _lldb.SBBroadcaster_RemoveListener(self, *args)
3191
3192    def __eq__(self, rhs):
3193        r"""__eq__(SBBroadcaster self, SBBroadcaster rhs) -> bool"""
3194        return _lldb.SBBroadcaster___eq__(self, rhs)
3195
3196    def __ne__(self, rhs):
3197        r"""__ne__(SBBroadcaster self, SBBroadcaster rhs) -> bool"""
3198        return _lldb.SBBroadcaster___ne__(self, rhs)
3199
3200    def __lt__(self, rhs):
3201        r"""__lt__(SBBroadcaster self, SBBroadcaster rhs) -> bool"""
3202        return _lldb.SBBroadcaster___lt__(self, rhs)
3203
3204        # operator== is a free function, which swig does not handle, so we inject
3205        # our own equality operator here
3206    def __eq__(self, other):
3207      return not self.__ne__(other)
3208
3209
3210    def __eq__(self, rhs):
3211        if not isinstance(rhs, type(self)):
3212            return False
3213
3214        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
3215
3216    def __ne__(self, rhs):
3217        if not isinstance(rhs, type(self)):
3218            return True
3219
3220        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
3221
3222
3223# Register SBBroadcaster in _lldb:
3224_lldb.SBBroadcaster_swigregister(SBBroadcaster)
3225class SBCommandInterpreter(object):
3226    r"""
3227    SBCommandInterpreter handles/interprets commands for lldb.
3228
3229    You get the command interpreter from the :py:class:`SBDebugger` instance.
3230
3231    For example (from test/ python_api/interpreter/TestCommandInterpreterAPI.py),::
3232
3233        def command_interpreter_api(self):
3234            '''Test the SBCommandInterpreter APIs.'''
3235            exe = os.path.join(os.getcwd(), 'a.out')
3236
3237            # Create a target by the debugger.
3238            target = self.dbg.CreateTarget(exe)
3239            self.assertTrue(target, VALID_TARGET)
3240
3241            # Retrieve the associated command interpreter from our debugger.
3242            ci = self.dbg.GetCommandInterpreter()
3243            self.assertTrue(ci, VALID_COMMAND_INTERPRETER)
3244
3245            # Exercise some APIs....
3246
3247            self.assertTrue(ci.HasCommands())
3248            self.assertTrue(ci.HasAliases())
3249            self.assertTrue(ci.HasAliasOptions())
3250            self.assertTrue(ci.CommandExists('breakpoint'))
3251            self.assertTrue(ci.CommandExists('target'))
3252            self.assertTrue(ci.CommandExists('platform'))
3253            self.assertTrue(ci.AliasExists('file'))
3254            self.assertTrue(ci.AliasExists('run'))
3255            self.assertTrue(ci.AliasExists('bt'))
3256
3257            res = lldb.SBCommandReturnObject()
3258            ci.HandleCommand('breakpoint set -f main.c -l %d' % self.line, res)
3259            self.assertTrue(res.Succeeded())
3260            ci.HandleCommand('process launch', res)
3261            self.assertTrue(res.Succeeded())
3262
3263            process = ci.GetProcess()
3264            self.assertTrue(process)
3265
3266            ...
3267
3268    The HandleCommand() instance method takes two args: the command string and
3269    an SBCommandReturnObject instance which encapsulates the result of command
3270    execution.
3271    """
3272
3273    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3274    __repr__ = _swig_repr
3275    eBroadcastBitThreadShouldExit = _lldb.SBCommandInterpreter_eBroadcastBitThreadShouldExit
3276
3277    eBroadcastBitResetPrompt = _lldb.SBCommandInterpreter_eBroadcastBitResetPrompt
3278
3279    eBroadcastBitQuitCommandReceived = _lldb.SBCommandInterpreter_eBroadcastBitQuitCommandReceived
3280
3281    eBroadcastBitAsynchronousOutputData = _lldb.SBCommandInterpreter_eBroadcastBitAsynchronousOutputData
3282
3283    eBroadcastBitAsynchronousErrorData = _lldb.SBCommandInterpreter_eBroadcastBitAsynchronousErrorData
3284
3285
3286    def __init__(self, *args):
3287        r"""
3288        __init__(SBCommandInterpreter self) -> SBCommandInterpreter
3289        __init__(SBCommandInterpreter self, SBCommandInterpreter rhs) -> SBCommandInterpreter
3290        """
3291        _lldb.SBCommandInterpreter_swiginit(self, _lldb.new_SBCommandInterpreter(*args))
3292    __swig_destroy__ = _lldb.delete_SBCommandInterpreter
3293
3294    @staticmethod
3295    def GetArgumentTypeAsCString(arg_type):
3296        r"""GetArgumentTypeAsCString(lldb::CommandArgumentType const arg_type) -> char const *"""
3297        return _lldb.SBCommandInterpreter_GetArgumentTypeAsCString(arg_type)
3298
3299    @staticmethod
3300    def GetArgumentDescriptionAsCString(arg_type):
3301        r"""GetArgumentDescriptionAsCString(lldb::CommandArgumentType const arg_type) -> char const *"""
3302        return _lldb.SBCommandInterpreter_GetArgumentDescriptionAsCString(arg_type)
3303
3304    @staticmethod
3305    def EventIsCommandInterpreterEvent(event):
3306        r"""EventIsCommandInterpreterEvent(SBEvent event) -> bool"""
3307        return _lldb.SBCommandInterpreter_EventIsCommandInterpreterEvent(event)
3308
3309    def __nonzero__(self):
3310        return _lldb.SBCommandInterpreter___nonzero__(self)
3311    __bool__ = __nonzero__
3312
3313
3314
3315    def IsValid(self):
3316        r"""IsValid(SBCommandInterpreter self) -> bool"""
3317        return _lldb.SBCommandInterpreter_IsValid(self)
3318
3319    def CommandExists(self, cmd):
3320        r"""CommandExists(SBCommandInterpreter self, char const * cmd) -> bool"""
3321        return _lldb.SBCommandInterpreter_CommandExists(self, cmd)
3322
3323    def UserCommandExists(self, cmd):
3324        r"""UserCommandExists(SBCommandInterpreter self, char const * cmd) -> bool"""
3325        return _lldb.SBCommandInterpreter_UserCommandExists(self, cmd)
3326
3327    def AliasExists(self, cmd):
3328        r"""AliasExists(SBCommandInterpreter self, char const * cmd) -> bool"""
3329        return _lldb.SBCommandInterpreter_AliasExists(self, cmd)
3330
3331    def GetBroadcaster(self):
3332        r"""GetBroadcaster(SBCommandInterpreter self) -> SBBroadcaster"""
3333        return _lldb.SBCommandInterpreter_GetBroadcaster(self)
3334
3335    @staticmethod
3336    def GetBroadcasterClass():
3337        r"""GetBroadcasterClass() -> char const *"""
3338        return _lldb.SBCommandInterpreter_GetBroadcasterClass()
3339
3340    def HasCommands(self):
3341        r"""HasCommands(SBCommandInterpreter self) -> bool"""
3342        return _lldb.SBCommandInterpreter_HasCommands(self)
3343
3344    def HasAliases(self):
3345        r"""HasAliases(SBCommandInterpreter self) -> bool"""
3346        return _lldb.SBCommandInterpreter_HasAliases(self)
3347
3348    def HasAliasOptions(self):
3349        r"""HasAliasOptions(SBCommandInterpreter self) -> bool"""
3350        return _lldb.SBCommandInterpreter_HasAliasOptions(self)
3351
3352    def IsInteractive(self):
3353        r"""IsInteractive(SBCommandInterpreter self) -> bool"""
3354        return _lldb.SBCommandInterpreter_IsInteractive(self)
3355
3356    def GetProcess(self):
3357        r"""GetProcess(SBCommandInterpreter self) -> SBProcess"""
3358        return _lldb.SBCommandInterpreter_GetProcess(self)
3359
3360    def GetDebugger(self):
3361        r"""GetDebugger(SBCommandInterpreter self) -> SBDebugger"""
3362        return _lldb.SBCommandInterpreter_GetDebugger(self)
3363
3364    def SourceInitFileInHomeDirectory(self, *args):
3365        r"""
3366        SourceInitFileInHomeDirectory(SBCommandInterpreter self, SBCommandReturnObject result)
3367        SourceInitFileInHomeDirectory(SBCommandInterpreter self, SBCommandReturnObject result, bool is_repl)
3368        """
3369        return _lldb.SBCommandInterpreter_SourceInitFileInHomeDirectory(self, *args)
3370
3371    def SourceInitFileInCurrentWorkingDirectory(self, result):
3372        r"""SourceInitFileInCurrentWorkingDirectory(SBCommandInterpreter self, SBCommandReturnObject result)"""
3373        return _lldb.SBCommandInterpreter_SourceInitFileInCurrentWorkingDirectory(self, result)
3374
3375    def HandleCommand(self, *args):
3376        r"""
3377        HandleCommand(SBCommandInterpreter self, char const * command_line, SBCommandReturnObject result, bool add_to_history=False) -> lldb::ReturnStatus
3378        HandleCommand(SBCommandInterpreter self, char const * command_line, SBExecutionContext exe_ctx, SBCommandReturnObject result, bool add_to_history=False) -> lldb::ReturnStatus
3379        """
3380        return _lldb.SBCommandInterpreter_HandleCommand(self, *args)
3381
3382    def HandleCommandsFromFile(self, file, override_context, options, result):
3383        r"""HandleCommandsFromFile(SBCommandInterpreter self, SBFileSpec file, SBExecutionContext override_context, SBCommandInterpreterRunOptions options, SBCommandReturnObject result)"""
3384        return _lldb.SBCommandInterpreter_HandleCommandsFromFile(self, file, override_context, options, result)
3385
3386    def HandleCompletion(self, current_line, cursor_pos, match_start_point, max_return_elements, matches):
3387        r"""HandleCompletion(SBCommandInterpreter self, char const * current_line, uint32_t cursor_pos, int match_start_point, int max_return_elements, SBStringList matches) -> int"""
3388        return _lldb.SBCommandInterpreter_HandleCompletion(self, current_line, cursor_pos, match_start_point, max_return_elements, matches)
3389
3390    def HandleCompletionWithDescriptions(self, current_line, cursor_pos, match_start_point, max_return_elements, matches, descriptions):
3391        r"""HandleCompletionWithDescriptions(SBCommandInterpreter self, char const * current_line, uint32_t cursor_pos, int match_start_point, int max_return_elements, SBStringList matches, SBStringList descriptions) -> int"""
3392        return _lldb.SBCommandInterpreter_HandleCompletionWithDescriptions(self, current_line, cursor_pos, match_start_point, max_return_elements, matches, descriptions)
3393
3394    def WasInterrupted(self):
3395        r"""WasInterrupted(SBCommandInterpreter self) -> bool"""
3396        return _lldb.SBCommandInterpreter_WasInterrupted(self)
3397
3398    def InterruptCommand(self):
3399        r"""InterruptCommand(SBCommandInterpreter self) -> bool"""
3400        return _lldb.SBCommandInterpreter_InterruptCommand(self)
3401
3402    def IsActive(self):
3403        r"""IsActive(SBCommandInterpreter self) -> bool"""
3404        return _lldb.SBCommandInterpreter_IsActive(self)
3405
3406    def GetIOHandlerControlSequence(self, ch):
3407        r"""GetIOHandlerControlSequence(SBCommandInterpreter self, char ch) -> char const *"""
3408        return _lldb.SBCommandInterpreter_GetIOHandlerControlSequence(self, ch)
3409
3410    def GetPromptOnQuit(self):
3411        r"""GetPromptOnQuit(SBCommandInterpreter self) -> bool"""
3412        return _lldb.SBCommandInterpreter_GetPromptOnQuit(self)
3413
3414    def SetPromptOnQuit(self, b):
3415        r"""SetPromptOnQuit(SBCommandInterpreter self, bool b)"""
3416        return _lldb.SBCommandInterpreter_SetPromptOnQuit(self, b)
3417
3418    def AllowExitCodeOnQuit(self, allow):
3419        r"""AllowExitCodeOnQuit(SBCommandInterpreter self, bool allow)"""
3420        return _lldb.SBCommandInterpreter_AllowExitCodeOnQuit(self, allow)
3421
3422    def HasCustomQuitExitCode(self):
3423        r"""HasCustomQuitExitCode(SBCommandInterpreter self) -> bool"""
3424        return _lldb.SBCommandInterpreter_HasCustomQuitExitCode(self)
3425
3426    def GetQuitStatus(self):
3427        r"""GetQuitStatus(SBCommandInterpreter self) -> int"""
3428        return _lldb.SBCommandInterpreter_GetQuitStatus(self)
3429
3430    def ResolveCommand(self, command_line, result):
3431        r"""ResolveCommand(SBCommandInterpreter self, char const * command_line, SBCommandReturnObject result)"""
3432        return _lldb.SBCommandInterpreter_ResolveCommand(self, command_line, result)
3433
3434    def GetStatistics(self):
3435        r"""GetStatistics(SBCommandInterpreter self) -> SBStructuredData"""
3436        return _lldb.SBCommandInterpreter_GetStatistics(self)
3437
3438# Register SBCommandInterpreter in _lldb:
3439_lldb.SBCommandInterpreter_swigregister(SBCommandInterpreter)
3440class SBCommandInterpreterRunOptions(object):
3441    r"""
3442    SBCommandInterpreterRunOptions controls how the RunCommandInterpreter runs the code it is fed.
3443
3444    A default SBCommandInterpreterRunOptions object has:
3445
3446    * StopOnContinue: false
3447    * StopOnError:    false
3448    * StopOnCrash:    false
3449    * EchoCommands:   true
3450    * PrintResults:   true
3451    * PrintErrors:    true
3452    * AddToHistory:   true
3453
3454
3455    """
3456
3457    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3458    __repr__ = _swig_repr
3459
3460    def __init__(self, *args):
3461        r"""
3462        __init__(SBCommandInterpreterRunOptions self) -> SBCommandInterpreterRunOptions
3463        __init__(SBCommandInterpreterRunOptions self, SBCommandInterpreterRunOptions rhs) -> SBCommandInterpreterRunOptions
3464        """
3465        _lldb.SBCommandInterpreterRunOptions_swiginit(self, _lldb.new_SBCommandInterpreterRunOptions(*args))
3466    __swig_destroy__ = _lldb.delete_SBCommandInterpreterRunOptions
3467
3468    def GetStopOnContinue(self):
3469        r"""GetStopOnContinue(SBCommandInterpreterRunOptions self) -> bool"""
3470        return _lldb.SBCommandInterpreterRunOptions_GetStopOnContinue(self)
3471
3472    def SetStopOnContinue(self, arg2):
3473        r"""SetStopOnContinue(SBCommandInterpreterRunOptions self, bool arg2)"""
3474        return _lldb.SBCommandInterpreterRunOptions_SetStopOnContinue(self, arg2)
3475
3476    def GetStopOnError(self):
3477        r"""GetStopOnError(SBCommandInterpreterRunOptions self) -> bool"""
3478        return _lldb.SBCommandInterpreterRunOptions_GetStopOnError(self)
3479
3480    def SetStopOnError(self, arg2):
3481        r"""SetStopOnError(SBCommandInterpreterRunOptions self, bool arg2)"""
3482        return _lldb.SBCommandInterpreterRunOptions_SetStopOnError(self, arg2)
3483
3484    def GetStopOnCrash(self):
3485        r"""GetStopOnCrash(SBCommandInterpreterRunOptions self) -> bool"""
3486        return _lldb.SBCommandInterpreterRunOptions_GetStopOnCrash(self)
3487
3488    def SetStopOnCrash(self, arg2):
3489        r"""SetStopOnCrash(SBCommandInterpreterRunOptions self, bool arg2)"""
3490        return _lldb.SBCommandInterpreterRunOptions_SetStopOnCrash(self, arg2)
3491
3492    def GetEchoCommands(self):
3493        r"""GetEchoCommands(SBCommandInterpreterRunOptions self) -> bool"""
3494        return _lldb.SBCommandInterpreterRunOptions_GetEchoCommands(self)
3495
3496    def SetEchoCommands(self, arg2):
3497        r"""SetEchoCommands(SBCommandInterpreterRunOptions self, bool arg2)"""
3498        return _lldb.SBCommandInterpreterRunOptions_SetEchoCommands(self, arg2)
3499
3500    def GetEchoCommentCommands(self):
3501        r"""GetEchoCommentCommands(SBCommandInterpreterRunOptions self) -> bool"""
3502        return _lldb.SBCommandInterpreterRunOptions_GetEchoCommentCommands(self)
3503
3504    def SetEchoCommentCommands(self, echo):
3505        r"""SetEchoCommentCommands(SBCommandInterpreterRunOptions self, bool echo)"""
3506        return _lldb.SBCommandInterpreterRunOptions_SetEchoCommentCommands(self, echo)
3507
3508    def GetPrintResults(self):
3509        r"""GetPrintResults(SBCommandInterpreterRunOptions self) -> bool"""
3510        return _lldb.SBCommandInterpreterRunOptions_GetPrintResults(self)
3511
3512    def SetPrintResults(self, arg2):
3513        r"""SetPrintResults(SBCommandInterpreterRunOptions self, bool arg2)"""
3514        return _lldb.SBCommandInterpreterRunOptions_SetPrintResults(self, arg2)
3515
3516    def GetPrintErrors(self):
3517        r"""GetPrintErrors(SBCommandInterpreterRunOptions self) -> bool"""
3518        return _lldb.SBCommandInterpreterRunOptions_GetPrintErrors(self)
3519
3520    def SetPrintErrors(self, arg2):
3521        r"""SetPrintErrors(SBCommandInterpreterRunOptions self, bool arg2)"""
3522        return _lldb.SBCommandInterpreterRunOptions_SetPrintErrors(self, arg2)
3523
3524    def GetAddToHistory(self):
3525        r"""GetAddToHistory(SBCommandInterpreterRunOptions self) -> bool"""
3526        return _lldb.SBCommandInterpreterRunOptions_GetAddToHistory(self)
3527
3528    def SetAddToHistory(self, arg2):
3529        r"""SetAddToHistory(SBCommandInterpreterRunOptions self, bool arg2)"""
3530        return _lldb.SBCommandInterpreterRunOptions_SetAddToHistory(self, arg2)
3531
3532    def GetAutoHandleEvents(self):
3533        r"""GetAutoHandleEvents(SBCommandInterpreterRunOptions self) -> bool"""
3534        return _lldb.SBCommandInterpreterRunOptions_GetAutoHandleEvents(self)
3535
3536    def SetAutoHandleEvents(self, arg2):
3537        r"""SetAutoHandleEvents(SBCommandInterpreterRunOptions self, bool arg2)"""
3538        return _lldb.SBCommandInterpreterRunOptions_SetAutoHandleEvents(self, arg2)
3539
3540    def GetSpawnThread(self):
3541        r"""GetSpawnThread(SBCommandInterpreterRunOptions self) -> bool"""
3542        return _lldb.SBCommandInterpreterRunOptions_GetSpawnThread(self)
3543
3544    def SetSpawnThread(self, arg2):
3545        r"""SetSpawnThread(SBCommandInterpreterRunOptions self, bool arg2)"""
3546        return _lldb.SBCommandInterpreterRunOptions_SetSpawnThread(self, arg2)
3547
3548# Register SBCommandInterpreterRunOptions in _lldb:
3549_lldb.SBCommandInterpreterRunOptions_swigregister(SBCommandInterpreterRunOptions)
3550class SBCommandReturnObject(object):
3551    r"""
3552    Represents a container which holds the result from command execution.
3553    It works with :py:class:`SBCommandInterpreter.HandleCommand()` to encapsulate the result
3554    of command execution.
3555
3556    See :py:class:`SBCommandInterpreter` for example usage of SBCommandReturnObject.
3557    """
3558
3559    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3560
3561    def __init__(self, *args):
3562        r"""
3563        __init__(SBCommandReturnObject self) -> SBCommandReturnObject
3564        __init__(SBCommandReturnObject self, SBCommandReturnObject rhs) -> SBCommandReturnObject
3565        """
3566        _lldb.SBCommandReturnObject_swiginit(self, _lldb.new_SBCommandReturnObject(*args))
3567    __swig_destroy__ = _lldb.delete_SBCommandReturnObject
3568
3569    def __nonzero__(self):
3570        return _lldb.SBCommandReturnObject___nonzero__(self)
3571    __bool__ = __nonzero__
3572
3573
3574
3575    def IsValid(self):
3576        r"""IsValid(SBCommandReturnObject self) -> bool"""
3577        return _lldb.SBCommandReturnObject_IsValid(self)
3578
3579    def PutOutput(self, *args):
3580        r"""
3581        PutOutput(SBCommandReturnObject self, SBFile file) -> size_t
3582        PutOutput(SBCommandReturnObject self, lldb::FileSP BORROWED) -> size_t
3583        """
3584        return _lldb.SBCommandReturnObject_PutOutput(self, *args)
3585
3586    def GetOutputSize(self):
3587        r"""GetOutputSize(SBCommandReturnObject self) -> size_t"""
3588        return _lldb.SBCommandReturnObject_GetOutputSize(self)
3589
3590    def GetErrorSize(self):
3591        r"""GetErrorSize(SBCommandReturnObject self) -> size_t"""
3592        return _lldb.SBCommandReturnObject_GetErrorSize(self)
3593
3594    def PutError(self, *args):
3595        r"""
3596        PutError(SBCommandReturnObject self, SBFile file) -> size_t
3597        PutError(SBCommandReturnObject self, lldb::FileSP BORROWED) -> size_t
3598        """
3599        return _lldb.SBCommandReturnObject_PutError(self, *args)
3600
3601    def Clear(self):
3602        r"""Clear(SBCommandReturnObject self)"""
3603        return _lldb.SBCommandReturnObject_Clear(self)
3604
3605    def GetStatus(self):
3606        r"""GetStatus(SBCommandReturnObject self) -> lldb::ReturnStatus"""
3607        return _lldb.SBCommandReturnObject_GetStatus(self)
3608
3609    def SetStatus(self, status):
3610        r"""SetStatus(SBCommandReturnObject self, lldb::ReturnStatus status)"""
3611        return _lldb.SBCommandReturnObject_SetStatus(self, status)
3612
3613    def Succeeded(self):
3614        r"""Succeeded(SBCommandReturnObject self) -> bool"""
3615        return _lldb.SBCommandReturnObject_Succeeded(self)
3616
3617    def HasResult(self):
3618        r"""HasResult(SBCommandReturnObject self) -> bool"""
3619        return _lldb.SBCommandReturnObject_HasResult(self)
3620
3621    def AppendMessage(self, message):
3622        r"""AppendMessage(SBCommandReturnObject self, char const * message)"""
3623        return _lldb.SBCommandReturnObject_AppendMessage(self, message)
3624
3625    def AppendWarning(self, message):
3626        r"""AppendWarning(SBCommandReturnObject self, char const * message)"""
3627        return _lldb.SBCommandReturnObject_AppendWarning(self, message)
3628
3629    def GetDescription(self, description):
3630        r"""GetDescription(SBCommandReturnObject self, SBStream description) -> bool"""
3631        return _lldb.SBCommandReturnObject_GetDescription(self, description)
3632
3633    def PutCString(self, string):
3634        r"""PutCString(SBCommandReturnObject self, char const * string)"""
3635        return _lldb.SBCommandReturnObject_PutCString(self, string)
3636
3637    def GetOutput(self, *args):
3638        r"""
3639        GetOutput(SBCommandReturnObject self) -> char const
3640        GetOutput(SBCommandReturnObject self, bool only_if_no_immediate) -> char const *
3641        """
3642        return _lldb.SBCommandReturnObject_GetOutput(self, *args)
3643
3644    def GetError(self, *args):
3645        r"""
3646        GetError(SBCommandReturnObject self) -> char const
3647        GetError(SBCommandReturnObject self, bool only_if_no_immediate) -> char const *
3648        """
3649        return _lldb.SBCommandReturnObject_GetError(self, *args)
3650
3651    def SetError(self, *args):
3652        r"""
3653        SetError(SBCommandReturnObject self, SBError error, char const * fallback_error_cstr=None)
3654        SetError(SBCommandReturnObject self, char const * error_cstr)
3655        """
3656        return _lldb.SBCommandReturnObject_SetError(self, *args)
3657
3658    def __repr__(self):
3659        r"""__repr__(SBCommandReturnObject self) -> std::string"""
3660        return _lldb.SBCommandReturnObject___repr__(self)
3661
3662    def SetImmediateOutputFile(self, *args):
3663        r"""
3664        SetImmediateOutputFile(SBCommandReturnObject self, SBFile file)
3665        SetImmediateOutputFile(SBCommandReturnObject self, lldb::FileSP BORROWED)
3666        SetImmediateOutputFile(SBCommandReturnObject self, lldb::FileSP BORROWED, bool transfer_ownership)
3667        """
3668        return _lldb.SBCommandReturnObject_SetImmediateOutputFile(self, *args)
3669
3670    def SetImmediateErrorFile(self, *args):
3671        r"""
3672        SetImmediateErrorFile(SBCommandReturnObject self, SBFile file)
3673        SetImmediateErrorFile(SBCommandReturnObject self, lldb::FileSP BORROWED)
3674        SetImmediateErrorFile(SBCommandReturnObject self, lldb::FileSP BORROWED, bool transfer_ownership)
3675        """
3676        return _lldb.SBCommandReturnObject_SetImmediateErrorFile(self, *args)
3677
3678    def Print(self, str):
3679        r"""Print(SBCommandReturnObject self, char const * str)"""
3680        return _lldb.SBCommandReturnObject_Print(self, str)
3681
3682    def write(self, str):
3683        r"""write(SBCommandReturnObject self, char const * str)"""
3684        return _lldb.SBCommandReturnObject_write(self, str)
3685
3686    def flush(self):
3687        r"""flush(SBCommandReturnObject self)"""
3688        return _lldb.SBCommandReturnObject_flush(self)
3689
3690# Register SBCommandReturnObject in _lldb:
3691_lldb.SBCommandReturnObject_swigregister(SBCommandReturnObject)
3692class SBCommunication(object):
3693    r"""Allows sending/receiving data."""
3694
3695    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3696    __repr__ = _swig_repr
3697    eBroadcastBitDisconnected = _lldb.SBCommunication_eBroadcastBitDisconnected
3698
3699    eBroadcastBitReadThreadGotBytes = _lldb.SBCommunication_eBroadcastBitReadThreadGotBytes
3700
3701    eBroadcastBitReadThreadDidExit = _lldb.SBCommunication_eBroadcastBitReadThreadDidExit
3702
3703    eBroadcastBitReadThreadShouldExit = _lldb.SBCommunication_eBroadcastBitReadThreadShouldExit
3704
3705    eBroadcastBitPacketAvailable = _lldb.SBCommunication_eBroadcastBitPacketAvailable
3706
3707    eAllEventBits = _lldb.SBCommunication_eAllEventBits
3708
3709
3710    def __init__(self, *args):
3711        r"""
3712        __init__(SBCommunication self) -> SBCommunication
3713        __init__(SBCommunication self, char const * broadcaster_name) -> SBCommunication
3714        """
3715        _lldb.SBCommunication_swiginit(self, _lldb.new_SBCommunication(*args))
3716    __swig_destroy__ = _lldb.delete_SBCommunication
3717
3718    def __nonzero__(self):
3719        return _lldb.SBCommunication___nonzero__(self)
3720    __bool__ = __nonzero__
3721
3722
3723
3724    def IsValid(self):
3725        r"""IsValid(SBCommunication self) -> bool"""
3726        return _lldb.SBCommunication_IsValid(self)
3727
3728    def GetBroadcaster(self):
3729        r"""GetBroadcaster(SBCommunication self) -> SBBroadcaster"""
3730        return _lldb.SBCommunication_GetBroadcaster(self)
3731
3732    @staticmethod
3733    def GetBroadcasterClass():
3734        r"""GetBroadcasterClass() -> char const *"""
3735        return _lldb.SBCommunication_GetBroadcasterClass()
3736
3737    def AdoptFileDesriptor(self, fd, owns_fd):
3738        r"""AdoptFileDesriptor(SBCommunication self, int fd, bool owns_fd) -> lldb::ConnectionStatus"""
3739        return _lldb.SBCommunication_AdoptFileDesriptor(self, fd, owns_fd)
3740
3741    def Connect(self, url):
3742        r"""Connect(SBCommunication self, char const * url) -> lldb::ConnectionStatus"""
3743        return _lldb.SBCommunication_Connect(self, url)
3744
3745    def Disconnect(self):
3746        r"""Disconnect(SBCommunication self) -> lldb::ConnectionStatus"""
3747        return _lldb.SBCommunication_Disconnect(self)
3748
3749    def IsConnected(self):
3750        r"""IsConnected(SBCommunication self) -> bool"""
3751        return _lldb.SBCommunication_IsConnected(self)
3752
3753    def GetCloseOnEOF(self):
3754        r"""GetCloseOnEOF(SBCommunication self) -> bool"""
3755        return _lldb.SBCommunication_GetCloseOnEOF(self)
3756
3757    def SetCloseOnEOF(self, b):
3758        r"""SetCloseOnEOF(SBCommunication self, bool b)"""
3759        return _lldb.SBCommunication_SetCloseOnEOF(self, b)
3760
3761    def Read(self, dst, dst_len, timeout_usec, status):
3762        r"""Read(SBCommunication self, void * dst, size_t dst_len, uint32_t timeout_usec, lldb::ConnectionStatus & status) -> size_t"""
3763        return _lldb.SBCommunication_Read(self, dst, dst_len, timeout_usec, status)
3764
3765    def Write(self, src, src_len, status):
3766        r"""Write(SBCommunication self, void const * src, size_t src_len, lldb::ConnectionStatus & status) -> size_t"""
3767        return _lldb.SBCommunication_Write(self, src, src_len, status)
3768
3769    def ReadThreadStart(self):
3770        r"""ReadThreadStart(SBCommunication self) -> bool"""
3771        return _lldb.SBCommunication_ReadThreadStart(self)
3772
3773    def ReadThreadStop(self):
3774        r"""ReadThreadStop(SBCommunication self) -> bool"""
3775        return _lldb.SBCommunication_ReadThreadStop(self)
3776
3777    def ReadThreadIsRunning(self):
3778        r"""ReadThreadIsRunning(SBCommunication self) -> bool"""
3779        return _lldb.SBCommunication_ReadThreadIsRunning(self)
3780
3781    def SetReadThreadBytesReceivedCallback(self, callback, callback_baton):
3782        r"""SetReadThreadBytesReceivedCallback(SBCommunication self, lldb::SBCommunication::ReadThreadBytesReceived callback, void * callback_baton) -> bool"""
3783        return _lldb.SBCommunication_SetReadThreadBytesReceivedCallback(self, callback, callback_baton)
3784
3785# Register SBCommunication in _lldb:
3786_lldb.SBCommunication_swigregister(SBCommunication)
3787class SBCompileUnit(object):
3788    r"""
3789    Represents a compilation unit, or compiled source file.
3790
3791    SBCompileUnit supports line entry iteration. For example,::
3792
3793        # Now get the SBSymbolContext from this frame.  We want everything. :-)
3794        context = frame0.GetSymbolContext(lldb.eSymbolContextEverything)
3795        ...
3796
3797        compileUnit = context.GetCompileUnit()
3798
3799        for lineEntry in compileUnit:
3800            print('line entry: %s:%d' % (str(lineEntry.GetFileSpec()),
3801                                        lineEntry.GetLine()))
3802            print('start addr: %s' % str(lineEntry.GetStartAddress()))
3803            print('end   addr: %s' % str(lineEntry.GetEndAddress()))
3804
3805    produces: ::
3806
3807      line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:20
3808      start addr: a.out[0x100000d98]
3809      end   addr: a.out[0x100000da3]
3810      line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:21
3811      start addr: a.out[0x100000da3]
3812      end   addr: a.out[0x100000da9]
3813      line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:22
3814      start addr: a.out[0x100000da9]
3815      end   addr: a.out[0x100000db6]
3816      line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:23
3817      start addr: a.out[0x100000db6]
3818      end   addr: a.out[0x100000dbc]
3819      ...
3820
3821    See also :py:class:`SBSymbolContext` and :py:class:`SBLineEntry`
3822    """
3823
3824    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3825
3826    def __init__(self, *args):
3827        r"""
3828        __init__(SBCompileUnit self) -> SBCompileUnit
3829        __init__(SBCompileUnit self, SBCompileUnit rhs) -> SBCompileUnit
3830        """
3831        _lldb.SBCompileUnit_swiginit(self, _lldb.new_SBCompileUnit(*args))
3832    __swig_destroy__ = _lldb.delete_SBCompileUnit
3833
3834    def __nonzero__(self):
3835        return _lldb.SBCompileUnit___nonzero__(self)
3836    __bool__ = __nonzero__
3837
3838
3839
3840    def IsValid(self):
3841        r"""IsValid(SBCompileUnit self) -> bool"""
3842        return _lldb.SBCompileUnit_IsValid(self)
3843
3844    def GetFileSpec(self):
3845        r"""GetFileSpec(SBCompileUnit self) -> SBFileSpec"""
3846        return _lldb.SBCompileUnit_GetFileSpec(self)
3847
3848    def GetNumLineEntries(self):
3849        r"""GetNumLineEntries(SBCompileUnit self) -> uint32_t"""
3850        return _lldb.SBCompileUnit_GetNumLineEntries(self)
3851
3852    def GetLineEntryAtIndex(self, idx):
3853        r"""GetLineEntryAtIndex(SBCompileUnit self, uint32_t idx) -> SBLineEntry"""
3854        return _lldb.SBCompileUnit_GetLineEntryAtIndex(self, idx)
3855
3856    def FindLineEntryIndex(self, *args):
3857        r"""
3858        FindLineEntryIndex(SBCompileUnit self, SBLineEntry line_entry, bool exact=False) -> uint32_t
3859        FindLineEntryIndex(SBCompileUnit self, uint32_t start_idx, uint32_t line, SBFileSpec inline_file_spec) -> uint32_t
3860        FindLineEntryIndex(SBCompileUnit self, uint32_t start_idx, uint32_t line, SBFileSpec inline_file_spec, bool exact) -> uint32_t
3861
3862             Get the index for a provided line entry in this compile unit.
3863
3864             @param[in] line_entry
3865                The SBLineEntry object for which we are looking for the index.
3866
3867             @param[in] exact
3868                An optional boolean defaulting to false that ensures that the provided
3869                line entry has a perfect match in the compile unit.
3870
3871             @return
3872                The index of the user-provided line entry. UINT32_MAX if the line entry
3873                was not found in the compile unit.
3874        """
3875        return _lldb.SBCompileUnit_FindLineEntryIndex(self, *args)
3876
3877    def GetSupportFileAtIndex(self, idx):
3878        r"""GetSupportFileAtIndex(SBCompileUnit self, uint32_t idx) -> SBFileSpec"""
3879        return _lldb.SBCompileUnit_GetSupportFileAtIndex(self, idx)
3880
3881    def GetNumSupportFiles(self):
3882        r"""GetNumSupportFiles(SBCompileUnit self) -> uint32_t"""
3883        return _lldb.SBCompileUnit_GetNumSupportFiles(self)
3884
3885    def FindSupportFileIndex(self, start_idx, sb_file, full):
3886        r"""FindSupportFileIndex(SBCompileUnit self, uint32_t start_idx, SBFileSpec sb_file, bool full) -> uint32_t"""
3887        return _lldb.SBCompileUnit_FindSupportFileIndex(self, start_idx, sb_file, full)
3888
3889    def GetTypes(self, *args):
3890        r"""
3891        GetTypes(SBCompileUnit self, uint32_t type_mask=eTypeClassAny) -> SBTypeList
3892
3893             Get all types matching type_mask from debug info in this
3894             compile unit.
3895
3896             @param[in] type_mask
3897                A bitfield that consists of one or more bits logically OR'ed
3898                together from the lldb::TypeClass enumeration. This allows
3899                you to request only structure types, or only class, struct
3900                and union types. Passing in lldb::eTypeClassAny will return
3901                all types found in the debug information for this compile
3902                unit.
3903
3904             @return
3905                A list of types in this compile unit that match type_mask
3906        """
3907        return _lldb.SBCompileUnit_GetTypes(self, *args)
3908
3909    def GetLanguage(self):
3910        r"""GetLanguage(SBCompileUnit self) -> lldb::LanguageType"""
3911        return _lldb.SBCompileUnit_GetLanguage(self)
3912
3913    def __eq__(self, rhs):
3914        r"""__eq__(SBCompileUnit self, SBCompileUnit rhs) -> bool"""
3915        return _lldb.SBCompileUnit___eq__(self, rhs)
3916
3917    def __ne__(self, rhs):
3918        r"""__ne__(SBCompileUnit self, SBCompileUnit rhs) -> bool"""
3919        return _lldb.SBCompileUnit___ne__(self, rhs)
3920
3921    def GetDescription(self, description):
3922        r"""GetDescription(SBCompileUnit self, SBStream description) -> bool"""
3923        return _lldb.SBCompileUnit_GetDescription(self, description)
3924
3925    def __repr__(self):
3926        r"""__repr__(SBCompileUnit self) -> std::string"""
3927        return _lldb.SBCompileUnit___repr__(self)
3928
3929            # operator== is a free function, which swig does not handle, so we inject
3930            # our own equality operator here
3931    def __eq__(self, other):
3932        return not self.__ne__(other)
3933
3934    def __iter__(self):
3935        '''Iterate over all line entries in a lldb.SBCompileUnit object.'''
3936        return lldb_iter(self, 'GetNumLineEntries', 'GetLineEntryAtIndex')
3937
3938    def __len__(self):
3939        '''Return the number of line entries in a lldb.SBCompileUnit
3940        object.'''
3941        return self.GetNumLineEntries()
3942
3943    file = property(GetFileSpec, None, doc='''A read only property that returns the same result an lldb object that represents the source file (lldb.SBFileSpec) for the compile unit.''')
3944    num_line_entries = property(GetNumLineEntries, None, doc='''A read only property that returns the number of line entries in a compile unit as an integer.''')
3945
3946
3947    def __eq__(self, rhs):
3948        if not isinstance(rhs, type(self)):
3949            return False
3950
3951        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
3952
3953    def __ne__(self, rhs):
3954        if not isinstance(rhs, type(self)):
3955            return True
3956
3957        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
3958
3959
3960# Register SBCompileUnit in _lldb:
3961_lldb.SBCompileUnit_swigregister(SBCompileUnit)
3962class SBData(object):
3963    r"""Represents a data buffer."""
3964
3965    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3966
3967    def __init__(self, *args):
3968        r"""
3969        __init__(SBData self) -> SBData
3970        __init__(SBData self, SBData rhs) -> SBData
3971        """
3972        _lldb.SBData_swiginit(self, _lldb.new_SBData(*args))
3973    __swig_destroy__ = _lldb.delete_SBData
3974
3975    def GetAddressByteSize(self):
3976        r"""GetAddressByteSize(SBData self) -> uint8_t"""
3977        return _lldb.SBData_GetAddressByteSize(self)
3978
3979    def SetAddressByteSize(self, addr_byte_size):
3980        r"""SetAddressByteSize(SBData self, uint8_t addr_byte_size)"""
3981        return _lldb.SBData_SetAddressByteSize(self, addr_byte_size)
3982
3983    def Clear(self):
3984        r"""Clear(SBData self)"""
3985        return _lldb.SBData_Clear(self)
3986
3987    def __nonzero__(self):
3988        return _lldb.SBData___nonzero__(self)
3989    __bool__ = __nonzero__
3990
3991
3992
3993    def IsValid(self):
3994        r"""IsValid(SBData self) -> bool"""
3995        return _lldb.SBData_IsValid(self)
3996
3997    def GetByteSize(self):
3998        r"""GetByteSize(SBData self) -> size_t"""
3999        return _lldb.SBData_GetByteSize(self)
4000
4001    def GetByteOrder(self):
4002        r"""GetByteOrder(SBData self) -> lldb::ByteOrder"""
4003        return _lldb.SBData_GetByteOrder(self)
4004
4005    def SetByteOrder(self, endian):
4006        r"""SetByteOrder(SBData self, lldb::ByteOrder endian)"""
4007        return _lldb.SBData_SetByteOrder(self, endian)
4008
4009    def GetFloat(self, error, offset):
4010        r"""GetFloat(SBData self, SBError error, lldb::offset_t offset) -> float"""
4011        return _lldb.SBData_GetFloat(self, error, offset)
4012
4013    def GetDouble(self, error, offset):
4014        r"""GetDouble(SBData self, SBError error, lldb::offset_t offset) -> double"""
4015        return _lldb.SBData_GetDouble(self, error, offset)
4016
4017    def GetLongDouble(self, error, offset):
4018        r"""GetLongDouble(SBData self, SBError error, lldb::offset_t offset) -> long double"""
4019        return _lldb.SBData_GetLongDouble(self, error, offset)
4020
4021    def GetAddress(self, error, offset):
4022        r"""GetAddress(SBData self, SBError error, lldb::offset_t offset) -> lldb::addr_t"""
4023        return _lldb.SBData_GetAddress(self, error, offset)
4024
4025    def GetUnsignedInt8(self, error, offset):
4026        r"""GetUnsignedInt8(SBData self, SBError error, lldb::offset_t offset) -> uint8_t"""
4027        return _lldb.SBData_GetUnsignedInt8(self, error, offset)
4028
4029    def GetUnsignedInt16(self, error, offset):
4030        r"""GetUnsignedInt16(SBData self, SBError error, lldb::offset_t offset) -> uint16_t"""
4031        return _lldb.SBData_GetUnsignedInt16(self, error, offset)
4032
4033    def GetUnsignedInt32(self, error, offset):
4034        r"""GetUnsignedInt32(SBData self, SBError error, lldb::offset_t offset) -> uint32_t"""
4035        return _lldb.SBData_GetUnsignedInt32(self, error, offset)
4036
4037    def GetUnsignedInt64(self, error, offset):
4038        r"""GetUnsignedInt64(SBData self, SBError error, lldb::offset_t offset) -> uint64_t"""
4039        return _lldb.SBData_GetUnsignedInt64(self, error, offset)
4040
4041    def GetSignedInt8(self, error, offset):
4042        r"""GetSignedInt8(SBData self, SBError error, lldb::offset_t offset) -> int8_t"""
4043        return _lldb.SBData_GetSignedInt8(self, error, offset)
4044
4045    def GetSignedInt16(self, error, offset):
4046        r"""GetSignedInt16(SBData self, SBError error, lldb::offset_t offset) -> int16_t"""
4047        return _lldb.SBData_GetSignedInt16(self, error, offset)
4048
4049    def GetSignedInt32(self, error, offset):
4050        r"""GetSignedInt32(SBData self, SBError error, lldb::offset_t offset) -> int32_t"""
4051        return _lldb.SBData_GetSignedInt32(self, error, offset)
4052
4053    def GetSignedInt64(self, error, offset):
4054        r"""GetSignedInt64(SBData self, SBError error, lldb::offset_t offset) -> int64_t"""
4055        return _lldb.SBData_GetSignedInt64(self, error, offset)
4056
4057    def GetString(self, error, offset):
4058        r"""GetString(SBData self, SBError error, lldb::offset_t offset) -> char const *"""
4059        return _lldb.SBData_GetString(self, error, offset)
4060
4061    def ReadRawData(self, error, offset, buf):
4062        r"""ReadRawData(SBData self, SBError error, lldb::offset_t offset, void * buf) -> size_t"""
4063        return _lldb.SBData_ReadRawData(self, error, offset, buf)
4064
4065    def GetDescription(self, *args):
4066        r"""GetDescription(SBData self, SBStream description, lldb::addr_t base_addr=18446744073709551615ULL) -> bool"""
4067        return _lldb.SBData_GetDescription(self, *args)
4068
4069    def SetData(self, error, buf, endian, addr_size):
4070        r"""SetData(SBData self, SBError error, void const * buf, lldb::ByteOrder endian, uint8_t addr_size)"""
4071        return _lldb.SBData_SetData(self, error, buf, endian, addr_size)
4072
4073    def SetDataWithOwnership(self, error, buf, endian, addr_size):
4074        r"""SetDataWithOwnership(SBData self, SBError error, void const * buf, lldb::ByteOrder endian, uint8_t addr_size)"""
4075        return _lldb.SBData_SetDataWithOwnership(self, error, buf, endian, addr_size)
4076
4077    def Append(self, rhs):
4078        r"""Append(SBData self, SBData rhs) -> bool"""
4079        return _lldb.SBData_Append(self, rhs)
4080
4081    @staticmethod
4082    def CreateDataFromCString(endian, addr_byte_size, data):
4083        r"""CreateDataFromCString(lldb::ByteOrder endian, uint32_t addr_byte_size, char const * data) -> SBData"""
4084        return _lldb.SBData_CreateDataFromCString(endian, addr_byte_size, data)
4085
4086    @staticmethod
4087    def CreateDataFromUInt64Array(endian, addr_byte_size, array):
4088        r"""CreateDataFromUInt64Array(lldb::ByteOrder endian, uint32_t addr_byte_size, uint64_t * array) -> SBData"""
4089        return _lldb.SBData_CreateDataFromUInt64Array(endian, addr_byte_size, array)
4090
4091    @staticmethod
4092    def CreateDataFromUInt32Array(endian, addr_byte_size, array):
4093        r"""CreateDataFromUInt32Array(lldb::ByteOrder endian, uint32_t addr_byte_size, uint32_t * array) -> SBData"""
4094        return _lldb.SBData_CreateDataFromUInt32Array(endian, addr_byte_size, array)
4095
4096    @staticmethod
4097    def CreateDataFromSInt64Array(endian, addr_byte_size, array):
4098        r"""CreateDataFromSInt64Array(lldb::ByteOrder endian, uint32_t addr_byte_size, int64_t * array) -> SBData"""
4099        return _lldb.SBData_CreateDataFromSInt64Array(endian, addr_byte_size, array)
4100
4101    @staticmethod
4102    def CreateDataFromSInt32Array(endian, addr_byte_size, array):
4103        r"""CreateDataFromSInt32Array(lldb::ByteOrder endian, uint32_t addr_byte_size, int32_t * array) -> SBData"""
4104        return _lldb.SBData_CreateDataFromSInt32Array(endian, addr_byte_size, array)
4105
4106    @staticmethod
4107    def CreateDataFromDoubleArray(endian, addr_byte_size, array):
4108        r"""CreateDataFromDoubleArray(lldb::ByteOrder endian, uint32_t addr_byte_size, double * array) -> SBData"""
4109        return _lldb.SBData_CreateDataFromDoubleArray(endian, addr_byte_size, array)
4110
4111    def SetDataFromCString(self, data):
4112        r"""SetDataFromCString(SBData self, char const * data) -> bool"""
4113        return _lldb.SBData_SetDataFromCString(self, data)
4114
4115    def SetDataFromUInt64Array(self, array):
4116        r"""SetDataFromUInt64Array(SBData self, uint64_t * array) -> bool"""
4117        return _lldb.SBData_SetDataFromUInt64Array(self, array)
4118
4119    def SetDataFromUInt32Array(self, array):
4120        r"""SetDataFromUInt32Array(SBData self, uint32_t * array) -> bool"""
4121        return _lldb.SBData_SetDataFromUInt32Array(self, array)
4122
4123    def SetDataFromSInt64Array(self, array):
4124        r"""SetDataFromSInt64Array(SBData self, int64_t * array) -> bool"""
4125        return _lldb.SBData_SetDataFromSInt64Array(self, array)
4126
4127    def SetDataFromSInt32Array(self, array):
4128        r"""SetDataFromSInt32Array(SBData self, int32_t * array) -> bool"""
4129        return _lldb.SBData_SetDataFromSInt32Array(self, array)
4130
4131    def SetDataFromDoubleArray(self, array):
4132        r"""SetDataFromDoubleArray(SBData self, double * array) -> bool"""
4133        return _lldb.SBData_SetDataFromDoubleArray(self, array)
4134
4135    def __repr__(self):
4136        r"""__repr__(SBData self) -> std::string"""
4137        return _lldb.SBData___repr__(self)
4138
4139    def __len__(self):
4140        return self.GetByteSize()
4141
4142    class read_data_helper:
4143        def __init__(self, sbdata, readerfunc, item_size):
4144            self.sbdata = sbdata
4145            self.readerfunc = readerfunc
4146            self.item_size = item_size
4147        def __getitem__(self,key):
4148            if isinstance(key,slice):
4149                list = []
4150                for x in range(*key.indices(self.__len__())):
4151                    list.append(self.__getitem__(x))
4152                return list
4153            if not (isinstance(key, int)):
4154                raise TypeError('must be int')
4155            key = key * self.item_size # SBData uses byte-based indexes, but we want to use itemsize-based indexes here
4156            error = SBError()
4157            my_data = self.readerfunc(self.sbdata,error,key)
4158            if error.Fail():
4159                raise IndexError(error.GetCString())
4160            else:
4161                return my_data
4162        def __len__(self):
4163            return int(self.sbdata.GetByteSize()/self.item_size)
4164        def all(self):
4165            return self[0:len(self)]
4166
4167    @classmethod
4168    def CreateDataFromInt (cls, value, size = None, target = None, ptr_size = None, endian = None):
4169        import sys
4170        lldbmodule = sys.modules[cls.__module__]
4171        lldbdict = lldbmodule.__dict__
4172        if 'target' in lldbdict:
4173            lldbtarget = lldbdict['target']
4174        else:
4175            lldbtarget = None
4176        if target == None and lldbtarget != None and lldbtarget.IsValid():
4177            target = lldbtarget
4178        if ptr_size == None:
4179            if target and target.IsValid():
4180                ptr_size = target.addr_size
4181            else:
4182                ptr_size = 8
4183        if endian == None:
4184            if target and target.IsValid():
4185                endian = target.byte_order
4186            else:
4187                endian = lldbdict['eByteOrderLittle']
4188        if size == None:
4189            if value > 2147483647:
4190                size = 8
4191            elif value < -2147483648:
4192                size = 8
4193            elif value > 4294967295:
4194                size = 8
4195            else:
4196                size = 4
4197        if size == 4:
4198            if value < 0:
4199                return SBData().CreateDataFromSInt32Array(endian, ptr_size, [value])
4200            return SBData().CreateDataFromUInt32Array(endian, ptr_size, [value])
4201        if size == 8:
4202            if value < 0:
4203                return SBData().CreateDataFromSInt64Array(endian, ptr_size, [value])
4204            return SBData().CreateDataFromUInt64Array(endian, ptr_size, [value])
4205        return None
4206
4207    def _make_helper(self, sbdata, getfunc, itemsize):
4208        return self.read_data_helper(sbdata, getfunc, itemsize)
4209
4210    def _make_helper_uint8(self):
4211        return self._make_helper(self, SBData.GetUnsignedInt8, 1)
4212
4213    def _make_helper_uint16(self):
4214        return self._make_helper(self, SBData.GetUnsignedInt16, 2)
4215
4216    def _make_helper_uint32(self):
4217        return self._make_helper(self, SBData.GetUnsignedInt32, 4)
4218
4219    def _make_helper_uint64(self):
4220        return self._make_helper(self, SBData.GetUnsignedInt64, 8)
4221
4222    def _make_helper_sint8(self):
4223        return self._make_helper(self, SBData.GetSignedInt8, 1)
4224
4225    def _make_helper_sint16(self):
4226        return self._make_helper(self, SBData.GetSignedInt16, 2)
4227
4228    def _make_helper_sint32(self):
4229        return self._make_helper(self, SBData.GetSignedInt32, 4)
4230
4231    def _make_helper_sint64(self):
4232        return self._make_helper(self, SBData.GetSignedInt64, 8)
4233
4234    def _make_helper_float(self):
4235        return self._make_helper(self, SBData.GetFloat, 4)
4236
4237    def _make_helper_double(self):
4238        return self._make_helper(self, SBData.GetDouble, 8)
4239
4240    def _read_all_uint8(self):
4241        return self._make_helper_uint8().all()
4242
4243    def _read_all_uint16(self):
4244        return self._make_helper_uint16().all()
4245
4246    def _read_all_uint32(self):
4247        return self._make_helper_uint32().all()
4248
4249    def _read_all_uint64(self):
4250        return self._make_helper_uint64().all()
4251
4252    def _read_all_sint8(self):
4253        return self._make_helper_sint8().all()
4254
4255    def _read_all_sint16(self):
4256        return self._make_helper_sint16().all()
4257
4258    def _read_all_sint32(self):
4259        return self._make_helper_sint32().all()
4260
4261    def _read_all_sint64(self):
4262        return self._make_helper_sint64().all()
4263
4264    def _read_all_float(self):
4265        return self._make_helper_float().all()
4266
4267    def _read_all_double(self):
4268        return self._make_helper_double().all()
4269
4270    uint8 = property(_make_helper_uint8, None, doc='''A read only property that returns an array-like object out of which you can read uint8 values.''')
4271    uint16 = property(_make_helper_uint16, None, doc='''A read only property that returns an array-like object out of which you can read uint16 values.''')
4272    uint32 = property(_make_helper_uint32, None, doc='''A read only property that returns an array-like object out of which you can read uint32 values.''')
4273    uint64 = property(_make_helper_uint64, None, doc='''A read only property that returns an array-like object out of which you can read uint64 values.''')
4274    sint8 = property(_make_helper_sint8, None, doc='''A read only property that returns an array-like object out of which you can read sint8 values.''')
4275    sint16 = property(_make_helper_sint16, None, doc='''A read only property that returns an array-like object out of which you can read sint16 values.''')
4276    sint32 = property(_make_helper_sint32, None, doc='''A read only property that returns an array-like object out of which you can read sint32 values.''')
4277    sint64 = property(_make_helper_sint64, None, doc='''A read only property that returns an array-like object out of which you can read sint64 values.''')
4278    float = property(_make_helper_float, None, doc='''A read only property that returns an array-like object out of which you can read float values.''')
4279    double = property(_make_helper_double, None, doc='''A read only property that returns an array-like object out of which you can read double values.''')
4280    uint8s = property(_read_all_uint8, None, doc='''A read only property that returns an array with all the contents of this SBData represented as uint8 values.''')
4281    uint16s = property(_read_all_uint16, None, doc='''A read only property that returns an array with all the contents of this SBData represented as uint16 values.''')
4282    uint32s = property(_read_all_uint32, None, doc='''A read only property that returns an array with all the contents of this SBData represented as uint32 values.''')
4283    uint64s = property(_read_all_uint64, None, doc='''A read only property that returns an array with all the contents of this SBData represented as uint64 values.''')
4284    sint8s = property(_read_all_sint8, None, doc='''A read only property that returns an array with all the contents of this SBData represented as sint8 values.''')
4285    sint16s = property(_read_all_sint16, None, doc='''A read only property that returns an array with all the contents of this SBData represented as sint16 values.''')
4286    sint32s = property(_read_all_sint32, None, doc='''A read only property that returns an array with all the contents of this SBData represented as sint32 values.''')
4287    sint64s = property(_read_all_sint64, None, doc='''A read only property that returns an array with all the contents of this SBData represented as sint64 values.''')
4288    floats = property(_read_all_float, None, doc='''A read only property that returns an array with all the contents of this SBData represented as float values.''')
4289    doubles = property(_read_all_double, None, doc='''A read only property that returns an array with all the contents of this SBData represented as double values.''')
4290    byte_order = property(GetByteOrder, SetByteOrder, doc='''A read/write property getting and setting the endianness of this SBData (data.byte_order = lldb.eByteOrderLittle).''')
4291    size = property(GetByteSize, None, doc='''A read only property that returns the size the same result as GetByteSize().''')
4292
4293
4294# Register SBData in _lldb:
4295_lldb.SBData_swigregister(SBData)
4296class SBDebugger(object):
4297    r"""
4298    SBDebugger is the primordial object that creates SBTargets and provides
4299    access to them.  It also manages the overall debugging experiences.
4300
4301    For example (from example/disasm.py),::
4302
4303        import lldb
4304        import os
4305        import sys
4306
4307        def disassemble_instructions (insts):
4308            for i in insts:
4309                print i
4310
4311        ...
4312
4313        # Create a new debugger instance
4314        debugger = lldb.SBDebugger.Create()
4315
4316        # When we step or continue, don't return from the function until the process
4317        # stops. We do this by setting the async mode to false.
4318        debugger.SetAsync (False)
4319
4320        # Create a target from a file and arch
4321        print('Creating a target for '%s'' % exe)
4322
4323        target = debugger.CreateTargetWithFileAndArch (exe, lldb.LLDB_ARCH_DEFAULT)
4324
4325        if target:
4326            # If the target is valid set a breakpoint at main
4327            main_bp = target.BreakpointCreateByName (fname, target.GetExecutable().GetFilename());
4328
4329            print main_bp
4330
4331            # Launch the process. Since we specified synchronous mode, we won't return
4332            # from this function until we hit the breakpoint at main
4333            process = target.LaunchSimple (None, None, os.getcwd())
4334
4335            # Make sure the launch went ok
4336            if process:
4337                # Print some simple process info
4338                state = process.GetState ()
4339                print process
4340                if state == lldb.eStateStopped:
4341                    # Get the first thread
4342                    thread = process.GetThreadAtIndex (0)
4343                    if thread:
4344                        # Print some simple thread info
4345                        print thread
4346                        # Get the first frame
4347                        frame = thread.GetFrameAtIndex (0)
4348                        if frame:
4349                            # Print some simple frame info
4350                            print frame
4351                            function = frame.GetFunction()
4352                            # See if we have debug info (a function)
4353                            if function:
4354                                # We do have a function, print some info for the function
4355                                print function
4356                                # Now get all instructions for this function and print them
4357                                insts = function.GetInstructions(target)
4358                                disassemble_instructions (insts)
4359                            else:
4360                                # See if we have a symbol in the symbol table for where we stopped
4361                                symbol = frame.GetSymbol();
4362                                if symbol:
4363                                    # We do have a symbol, print some info for the symbol
4364                                    print symbol
4365                                    # Now get all instructions for this symbol and print them
4366                                    insts = symbol.GetInstructions(target)
4367                                    disassemble_instructions (insts)
4368
4369                            registerList = frame.GetRegisters()
4370                            print('Frame registers (size of register set = %d):' % registerList.GetSize())
4371                            for value in registerList:
4372                                #print value
4373                                print('%s (number of children = %d):' % (value.GetName(), value.GetNumChildren()))
4374                                for child in value:
4375                                    print('Name: ', child.GetName(), ' Value: ', child.GetValue())
4376
4377                    print('Hit the breakpoint at main, enter to continue and wait for program to exit or 'Ctrl-D'/'quit' to terminate the program')
4378                    next = sys.stdin.readline()
4379                    if not next or next.rstrip('\n') == 'quit':
4380                        print('Terminating the inferior process...')
4381                        process.Kill()
4382                    else:
4383                        # Now continue to the program exit
4384                        process.Continue()
4385                        # When we return from the above function we will hopefully be at the
4386                        # program exit. Print out some process info
4387                        print process
4388                elif state == lldb.eStateExited:
4389                    print('Didn't hit the breakpoint at main, program has exited...')
4390                else:
4391                    print('Unexpected process state: %s, killing process...' % debugger.StateAsCString (state))
4392                    process.Kill()
4393
4394    Sometimes you need to create an empty target that will get filled in later.  The most common use for this
4395    is to attach to a process by name or pid where you don't know the executable up front.  The most convenient way
4396    to do this is: ::
4397
4398        target = debugger.CreateTarget('')
4399        error = lldb.SBError()
4400        process = target.AttachToProcessWithName(debugger.GetListener(), 'PROCESS_NAME', False, error)
4401
4402    or the equivalent arguments for :py:class:`SBTarget.AttachToProcessWithID` .
4403    """
4404
4405    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4406    eBroadcastBitProgress = _lldb.SBDebugger_eBroadcastBitProgress
4407
4408    eBroadcastBitWarning = _lldb.SBDebugger_eBroadcastBitWarning
4409
4410    eBroadcastBitError = _lldb.SBDebugger_eBroadcastBitError
4411
4412    eBroadcastBitProgressCategory = _lldb.SBDebugger_eBroadcastBitProgressCategory
4413
4414
4415    def __init__(self, *args):
4416        r"""
4417        __init__(SBDebugger self) -> SBDebugger
4418        __init__(SBDebugger self, SBDebugger rhs) -> SBDebugger
4419        """
4420        _lldb.SBDebugger_swiginit(self, _lldb.new_SBDebugger(*args))
4421    __swig_destroy__ = _lldb.delete_SBDebugger
4422
4423    @staticmethod
4424    def GetBroadcasterClass():
4425        r"""GetBroadcasterClass() -> char const *"""
4426        return _lldb.SBDebugger_GetBroadcasterClass()
4427
4428    def GetBroadcaster(self):
4429        r"""GetBroadcaster(SBDebugger self) -> SBBroadcaster"""
4430        return _lldb.SBDebugger_GetBroadcaster(self)
4431
4432    @staticmethod
4433    def GetProgressFromEvent(event):
4434        r"""GetProgressFromEvent(SBEvent event) -> char const *"""
4435        return _lldb.SBDebugger_GetProgressFromEvent(event)
4436
4437    @staticmethod
4438    def GetProgressDataFromEvent(event):
4439        r"""GetProgressDataFromEvent(SBEvent event) -> SBStructuredData"""
4440        return _lldb.SBDebugger_GetProgressDataFromEvent(event)
4441
4442    @staticmethod
4443    def GetDiagnosticFromEvent(event):
4444        r"""GetDiagnosticFromEvent(SBEvent event) -> SBStructuredData"""
4445        return _lldb.SBDebugger_GetDiagnosticFromEvent(event)
4446
4447    @staticmethod
4448    def Initialize():
4449        r"""Initialize()"""
4450        return _lldb.SBDebugger_Initialize()
4451
4452    @staticmethod
4453    def InitializeWithErrorHandling():
4454        r"""InitializeWithErrorHandling() -> SBError"""
4455        return _lldb.SBDebugger_InitializeWithErrorHandling()
4456
4457    @staticmethod
4458    def PrintStackTraceOnError():
4459        r"""PrintStackTraceOnError()"""
4460        return _lldb.SBDebugger_PrintStackTraceOnError()
4461
4462    @staticmethod
4463    def PrintDiagnosticsOnError():
4464        r"""PrintDiagnosticsOnError()"""
4465        return _lldb.SBDebugger_PrintDiagnosticsOnError()
4466
4467    @staticmethod
4468    def Terminate():
4469        r"""Terminate()"""
4470        return _lldb.SBDebugger_Terminate()
4471
4472    @staticmethod
4473    def Create(*args):
4474        r"""
4475        Create() -> SBDebugger
4476        Create(bool source_init_files) -> SBDebugger
4477        Create(bool source_init_files, lldb::LogOutputCallback log_callback) -> SBDebugger
4478        """
4479        return _lldb.SBDebugger_Create(*args)
4480
4481    @staticmethod
4482    def Destroy(debugger):
4483        r"""Destroy(SBDebugger debugger)"""
4484        return _lldb.SBDebugger_Destroy(debugger)
4485
4486    @staticmethod
4487    def MemoryPressureDetected():
4488        r"""MemoryPressureDetected()"""
4489        return _lldb.SBDebugger_MemoryPressureDetected()
4490
4491    def __nonzero__(self):
4492        return _lldb.SBDebugger___nonzero__(self)
4493    __bool__ = __nonzero__
4494
4495
4496
4497    def IsValid(self):
4498        r"""IsValid(SBDebugger self) -> bool"""
4499        return _lldb.SBDebugger_IsValid(self)
4500
4501    def Clear(self):
4502        r"""Clear(SBDebugger self)"""
4503        return _lldb.SBDebugger_Clear(self)
4504
4505    def GetSetting(self, setting=None):
4506        r"""GetSetting(SBDebugger self, char const * setting=None) -> SBStructuredData"""
4507        return _lldb.SBDebugger_GetSetting(self, setting)
4508
4509    def SetAsync(self, b):
4510        r"""SetAsync(SBDebugger self, bool b)"""
4511        return _lldb.SBDebugger_SetAsync(self, b)
4512
4513    def GetAsync(self):
4514        r"""GetAsync(SBDebugger self) -> bool"""
4515        return _lldb.SBDebugger_GetAsync(self)
4516
4517    def SkipLLDBInitFiles(self, b):
4518        r"""SkipLLDBInitFiles(SBDebugger self, bool b)"""
4519        return _lldb.SBDebugger_SkipLLDBInitFiles(self, b)
4520
4521    def SkipAppInitFiles(self, b):
4522        r"""SkipAppInitFiles(SBDebugger self, bool b)"""
4523        return _lldb.SBDebugger_SkipAppInitFiles(self, b)
4524
4525    def SetInputString(self, data):
4526        r"""SetInputString(SBDebugger self, char const * data) -> SBError"""
4527        return _lldb.SBDebugger_SetInputString(self, data)
4528
4529    def SetInputFile(self, *args):
4530        r"""
4531        SetInputFile(SBDebugger self, SBFile file) -> SBError
4532        SetInputFile(SBDebugger self, lldb::FileSP file) -> SBError
4533        """
4534        return _lldb.SBDebugger_SetInputFile(self, *args)
4535
4536    def SetOutputFile(self, *args):
4537        r"""
4538        SetOutputFile(SBDebugger self, SBFile file) -> SBError
4539        SetOutputFile(SBDebugger self, lldb::FileSP file) -> SBError
4540        """
4541        return _lldb.SBDebugger_SetOutputFile(self, *args)
4542
4543    def SetErrorFile(self, *args):
4544        r"""
4545        SetErrorFile(SBDebugger self, SBFile file) -> SBError
4546        SetErrorFile(SBDebugger self, lldb::FileSP file) -> SBError
4547        """
4548        return _lldb.SBDebugger_SetErrorFile(self, *args)
4549
4550    def GetInputFile(self):
4551        r"""GetInputFile(SBDebugger self) -> SBFile"""
4552        return _lldb.SBDebugger_GetInputFile(self)
4553
4554    def GetOutputFile(self):
4555        r"""GetOutputFile(SBDebugger self) -> SBFile"""
4556        return _lldb.SBDebugger_GetOutputFile(self)
4557
4558    def GetErrorFile(self):
4559        r"""GetErrorFile(SBDebugger self) -> SBFile"""
4560        return _lldb.SBDebugger_GetErrorFile(self)
4561
4562    def SaveInputTerminalState(self):
4563        r"""SaveInputTerminalState(SBDebugger self)"""
4564        return _lldb.SBDebugger_SaveInputTerminalState(self)
4565
4566    def RestoreInputTerminalState(self):
4567        r"""RestoreInputTerminalState(SBDebugger self)"""
4568        return _lldb.SBDebugger_RestoreInputTerminalState(self)
4569
4570    def GetCommandInterpreter(self):
4571        r"""GetCommandInterpreter(SBDebugger self) -> SBCommandInterpreter"""
4572        return _lldb.SBDebugger_GetCommandInterpreter(self)
4573
4574    def HandleCommand(self, command):
4575        r"""HandleCommand(SBDebugger self, char const * command)"""
4576        return _lldb.SBDebugger_HandleCommand(self, command)
4577
4578    def RequestInterrupt(self):
4579        r"""RequestInterrupt(SBDebugger self)"""
4580        return _lldb.SBDebugger_RequestInterrupt(self)
4581
4582    def CancelInterruptRequest(self):
4583        r"""CancelInterruptRequest(SBDebugger self)"""
4584        return _lldb.SBDebugger_CancelInterruptRequest(self)
4585
4586    def InterruptRequested(self):
4587        r"""InterruptRequested(SBDebugger self) -> bool"""
4588        return _lldb.SBDebugger_InterruptRequested(self)
4589
4590    def GetListener(self):
4591        r"""GetListener(SBDebugger self) -> SBListener"""
4592        return _lldb.SBDebugger_GetListener(self)
4593
4594    def HandleProcessEvent(self, *args):
4595        r"""
4596        HandleProcessEvent(SBDebugger self, SBProcess process, SBEvent event, SBFile out, SBFile err)
4597        HandleProcessEvent(SBDebugger self, SBProcess process, SBEvent event, lldb::FileSP arg4, lldb::FileSP arg5)
4598        """
4599        return _lldb.SBDebugger_HandleProcessEvent(self, *args)
4600
4601    def CreateTargetWithFileAndTargetTriple(self, filename, target_triple):
4602        r"""CreateTargetWithFileAndTargetTriple(SBDebugger self, char const * filename, char const * target_triple) -> SBTarget"""
4603        return _lldb.SBDebugger_CreateTargetWithFileAndTargetTriple(self, filename, target_triple)
4604
4605    def CreateTargetWithFileAndArch(self, filename, archname):
4606        r"""CreateTargetWithFileAndArch(SBDebugger self, char const * filename, char const * archname) -> SBTarget"""
4607        return _lldb.SBDebugger_CreateTargetWithFileAndArch(self, filename, archname)
4608
4609    def CreateTarget(self, *args):
4610        r"""
4611        CreateTarget(SBDebugger self, char const * filename, char const * target_triple, char const * platform_name, bool add_dependent_modules, SBError error) -> SBTarget
4612        CreateTarget(SBDebugger self, char const * filename) -> SBTarget
4613        """
4614        return _lldb.SBDebugger_CreateTarget(self, *args)
4615
4616    def GetDummyTarget(self):
4617        r"""
4618        GetDummyTarget(SBDebugger self) -> SBTarget
4619        The dummy target holds breakpoints and breakpoint names that will prime newly created targets.
4620        """
4621        return _lldb.SBDebugger_GetDummyTarget(self)
4622
4623    def DeleteTarget(self, target):
4624        r"""
4625        DeleteTarget(SBDebugger self, SBTarget target) -> bool
4626        Return true if target is deleted from the target list of the debugger.
4627        """
4628        return _lldb.SBDebugger_DeleteTarget(self, target)
4629
4630    def GetTargetAtIndex(self, idx):
4631        r"""GetTargetAtIndex(SBDebugger self, uint32_t idx) -> SBTarget"""
4632        return _lldb.SBDebugger_GetTargetAtIndex(self, idx)
4633
4634    def GetIndexOfTarget(self, target):
4635        r"""GetIndexOfTarget(SBDebugger self, SBTarget target) -> uint32_t"""
4636        return _lldb.SBDebugger_GetIndexOfTarget(self, target)
4637
4638    def FindTargetWithProcessID(self, pid):
4639        r"""FindTargetWithProcessID(SBDebugger self, lldb::pid_t pid) -> SBTarget"""
4640        return _lldb.SBDebugger_FindTargetWithProcessID(self, pid)
4641
4642    def FindTargetWithFileAndArch(self, filename, arch):
4643        r"""FindTargetWithFileAndArch(SBDebugger self, char const * filename, char const * arch) -> SBTarget"""
4644        return _lldb.SBDebugger_FindTargetWithFileAndArch(self, filename, arch)
4645
4646    def GetNumTargets(self):
4647        r"""GetNumTargets(SBDebugger self) -> uint32_t"""
4648        return _lldb.SBDebugger_GetNumTargets(self)
4649
4650    def GetSelectedTarget(self):
4651        r"""GetSelectedTarget(SBDebugger self) -> SBTarget"""
4652        return _lldb.SBDebugger_GetSelectedTarget(self)
4653
4654    def SetSelectedTarget(self, target):
4655        r"""SetSelectedTarget(SBDebugger self, SBTarget target)"""
4656        return _lldb.SBDebugger_SetSelectedTarget(self, target)
4657
4658    def GetSelectedPlatform(self):
4659        r"""GetSelectedPlatform(SBDebugger self) -> SBPlatform"""
4660        return _lldb.SBDebugger_GetSelectedPlatform(self)
4661
4662    def SetSelectedPlatform(self, platform):
4663        r"""SetSelectedPlatform(SBDebugger self, SBPlatform platform)"""
4664        return _lldb.SBDebugger_SetSelectedPlatform(self, platform)
4665
4666    def GetNumPlatforms(self):
4667        r"""
4668        GetNumPlatforms(SBDebugger self) -> uint32_t
4669        Get the number of currently active platforms.
4670        """
4671        return _lldb.SBDebugger_GetNumPlatforms(self)
4672
4673    def GetPlatformAtIndex(self, idx):
4674        r"""
4675        GetPlatformAtIndex(SBDebugger self, uint32_t idx) -> SBPlatform
4676        Get one of the currently active platforms.
4677        """
4678        return _lldb.SBDebugger_GetPlatformAtIndex(self, idx)
4679
4680    def GetNumAvailablePlatforms(self):
4681        r"""
4682        GetNumAvailablePlatforms(SBDebugger self) -> uint32_t
4683        Get the number of available platforms.
4684        """
4685        return _lldb.SBDebugger_GetNumAvailablePlatforms(self)
4686
4687    def GetAvailablePlatformInfoAtIndex(self, idx):
4688        r"""
4689        GetAvailablePlatformInfoAtIndex(SBDebugger self, uint32_t idx) -> SBStructuredData
4690
4691            Get the name and description of one of the available platforms.
4692
4693            @param idx Zero-based index of the platform for which info should be
4694                       retrieved, must be less than the value returned by
4695                       GetNumAvailablePlatforms().
4696        """
4697        return _lldb.SBDebugger_GetAvailablePlatformInfoAtIndex(self, idx)
4698
4699    def GetSourceManager(self):
4700        r"""GetSourceManager(SBDebugger self) -> SBSourceManager"""
4701        return _lldb.SBDebugger_GetSourceManager(self)
4702
4703    def SetCurrentPlatform(self, platform_name):
4704        r"""SetCurrentPlatform(SBDebugger self, char const * platform_name) -> SBError"""
4705        return _lldb.SBDebugger_SetCurrentPlatform(self, platform_name)
4706
4707    def SetCurrentPlatformSDKRoot(self, sysroot):
4708        r"""SetCurrentPlatformSDKRoot(SBDebugger self, char const * sysroot) -> bool"""
4709        return _lldb.SBDebugger_SetCurrentPlatformSDKRoot(self, sysroot)
4710
4711    def SetUseExternalEditor(self, input):
4712        r"""SetUseExternalEditor(SBDebugger self, bool input) -> bool"""
4713        return _lldb.SBDebugger_SetUseExternalEditor(self, input)
4714
4715    def GetUseExternalEditor(self):
4716        r"""GetUseExternalEditor(SBDebugger self) -> bool"""
4717        return _lldb.SBDebugger_GetUseExternalEditor(self)
4718
4719    def SetUseColor(self, use_color):
4720        r"""SetUseColor(SBDebugger self, bool use_color) -> bool"""
4721        return _lldb.SBDebugger_SetUseColor(self, use_color)
4722
4723    def GetUseColor(self):
4724        r"""GetUseColor(SBDebugger self) -> bool"""
4725        return _lldb.SBDebugger_GetUseColor(self)
4726
4727    def SetUseSourceCache(self, use_source_cache):
4728        r"""SetUseSourceCache(SBDebugger self, bool use_source_cache) -> bool"""
4729        return _lldb.SBDebugger_SetUseSourceCache(self, use_source_cache)
4730
4731    def GetUseSourceCache(self):
4732        r"""GetUseSourceCache(SBDebugger self) -> bool"""
4733        return _lldb.SBDebugger_GetUseSourceCache(self)
4734
4735    @staticmethod
4736    def GetDefaultArchitecture(arch_name, arch_name_len):
4737        r"""GetDefaultArchitecture(char * arch_name, size_t arch_name_len) -> bool"""
4738        return _lldb.SBDebugger_GetDefaultArchitecture(arch_name, arch_name_len)
4739
4740    @staticmethod
4741    def SetDefaultArchitecture(arch_name):
4742        r"""SetDefaultArchitecture(char const * arch_name) -> bool"""
4743        return _lldb.SBDebugger_SetDefaultArchitecture(arch_name)
4744
4745    def GetScriptingLanguage(self, script_language_name):
4746        r"""GetScriptingLanguage(SBDebugger self, char const * script_language_name) -> lldb::ScriptLanguage"""
4747        return _lldb.SBDebugger_GetScriptingLanguage(self, script_language_name)
4748
4749    def GetScriptInterpreterInfo(self, arg2):
4750        r"""GetScriptInterpreterInfo(SBDebugger self, lldb::ScriptLanguage arg2) -> SBStructuredData"""
4751        return _lldb.SBDebugger_GetScriptInterpreterInfo(self, arg2)
4752
4753    @staticmethod
4754    def GetVersionString():
4755        r"""GetVersionString() -> char const *"""
4756        return _lldb.SBDebugger_GetVersionString()
4757
4758    @staticmethod
4759    def StateAsCString(state):
4760        r"""StateAsCString(lldb::StateType state) -> char const *"""
4761        return _lldb.SBDebugger_StateAsCString(state)
4762
4763    @staticmethod
4764    def GetBuildConfiguration():
4765        r"""GetBuildConfiguration() -> SBStructuredData"""
4766        return _lldb.SBDebugger_GetBuildConfiguration()
4767
4768    @staticmethod
4769    def StateIsRunningState(state):
4770        r"""StateIsRunningState(lldb::StateType state) -> bool"""
4771        return _lldb.SBDebugger_StateIsRunningState(state)
4772
4773    @staticmethod
4774    def StateIsStoppedState(state):
4775        r"""StateIsStoppedState(lldb::StateType state) -> bool"""
4776        return _lldb.SBDebugger_StateIsStoppedState(state)
4777
4778    def EnableLog(self, channel, categories):
4779        r"""EnableLog(SBDebugger self, char const * channel, char const ** categories) -> bool"""
4780        return _lldb.SBDebugger_EnableLog(self, channel, categories)
4781
4782    def SetLoggingCallback(self, log_callback):
4783        r"""SetLoggingCallback(SBDebugger self, lldb::LogOutputCallback log_callback)"""
4784        return _lldb.SBDebugger_SetLoggingCallback(self, log_callback)
4785
4786    def SetDestroyCallback(self, destroy_callback):
4787        r"""SetDestroyCallback(SBDebugger self, lldb::SBDebuggerDestroyCallback destroy_callback)"""
4788        return _lldb.SBDebugger_SetDestroyCallback(self, destroy_callback)
4789
4790    def DispatchInput(self, data):
4791        r"""DispatchInput(SBDebugger self, void const * data)"""
4792        return _lldb.SBDebugger_DispatchInput(self, data)
4793
4794    def DispatchInputInterrupt(self):
4795        r"""DispatchInputInterrupt(SBDebugger self)"""
4796        return _lldb.SBDebugger_DispatchInputInterrupt(self)
4797
4798    def DispatchInputEndOfFile(self):
4799        r"""DispatchInputEndOfFile(SBDebugger self)"""
4800        return _lldb.SBDebugger_DispatchInputEndOfFile(self)
4801
4802    def GetInstanceName(self):
4803        r"""GetInstanceName(SBDebugger self) -> char const *"""
4804        return _lldb.SBDebugger_GetInstanceName(self)
4805
4806    @staticmethod
4807    def FindDebuggerWithID(id):
4808        r"""FindDebuggerWithID(int id) -> SBDebugger"""
4809        return _lldb.SBDebugger_FindDebuggerWithID(id)
4810
4811    @staticmethod
4812    def SetInternalVariable(var_name, value, debugger_instance_name):
4813        r"""SetInternalVariable(char const * var_name, char const * value, char const * debugger_instance_name) -> SBError"""
4814        return _lldb.SBDebugger_SetInternalVariable(var_name, value, debugger_instance_name)
4815
4816    @staticmethod
4817    def GetInternalVariableValue(var_name, debugger_instance_name):
4818        r"""GetInternalVariableValue(char const * var_name, char const * debugger_instance_name) -> SBStringList"""
4819        return _lldb.SBDebugger_GetInternalVariableValue(var_name, debugger_instance_name)
4820
4821    def GetDescription(self, description):
4822        r"""GetDescription(SBDebugger self, SBStream description) -> bool"""
4823        return _lldb.SBDebugger_GetDescription(self, description)
4824
4825    def GetTerminalWidth(self):
4826        r"""GetTerminalWidth(SBDebugger self) -> uint32_t"""
4827        return _lldb.SBDebugger_GetTerminalWidth(self)
4828
4829    def SetTerminalWidth(self, term_width):
4830        r"""SetTerminalWidth(SBDebugger self, uint32_t term_width)"""
4831        return _lldb.SBDebugger_SetTerminalWidth(self, term_width)
4832
4833    def GetID(self):
4834        r"""GetID(SBDebugger self) -> lldb::user_id_t"""
4835        return _lldb.SBDebugger_GetID(self)
4836
4837    def GetPrompt(self):
4838        r"""GetPrompt(SBDebugger self) -> char const *"""
4839        return _lldb.SBDebugger_GetPrompt(self)
4840
4841    def SetPrompt(self, prompt):
4842        r"""SetPrompt(SBDebugger self, char const * prompt)"""
4843        return _lldb.SBDebugger_SetPrompt(self, prompt)
4844
4845    def GetReproducerPath(self):
4846        r"""GetReproducerPath(SBDebugger self) -> char const *"""
4847        return _lldb.SBDebugger_GetReproducerPath(self)
4848
4849    def GetScriptLanguage(self):
4850        r"""GetScriptLanguage(SBDebugger self) -> lldb::ScriptLanguage"""
4851        return _lldb.SBDebugger_GetScriptLanguage(self)
4852
4853    def SetScriptLanguage(self, script_lang):
4854        r"""SetScriptLanguage(SBDebugger self, lldb::ScriptLanguage script_lang)"""
4855        return _lldb.SBDebugger_SetScriptLanguage(self, script_lang)
4856
4857    def GetREPLLanguage(self):
4858        r"""GetREPLLanguage(SBDebugger self) -> lldb::LanguageType"""
4859        return _lldb.SBDebugger_GetREPLLanguage(self)
4860
4861    def SetREPLLanguage(self, repl_lang):
4862        r"""SetREPLLanguage(SBDebugger self, lldb::LanguageType repl_lang)"""
4863        return _lldb.SBDebugger_SetREPLLanguage(self, repl_lang)
4864
4865    def GetCloseInputOnEOF(self):
4866        r"""GetCloseInputOnEOF(SBDebugger self) -> bool"""
4867        return _lldb.SBDebugger_GetCloseInputOnEOF(self)
4868
4869    def SetCloseInputOnEOF(self, b):
4870        r"""SetCloseInputOnEOF(SBDebugger self, bool b)"""
4871        return _lldb.SBDebugger_SetCloseInputOnEOF(self, b)
4872
4873    def GetCategory(self, *args):
4874        r"""
4875        GetCategory(SBDebugger self, char const * category_name) -> SBTypeCategory
4876        GetCategory(SBDebugger self, lldb::LanguageType lang_type) -> SBTypeCategory
4877        """
4878        return _lldb.SBDebugger_GetCategory(self, *args)
4879
4880    def CreateCategory(self, category_name):
4881        r"""CreateCategory(SBDebugger self, char const * category_name) -> SBTypeCategory"""
4882        return _lldb.SBDebugger_CreateCategory(self, category_name)
4883
4884    def DeleteCategory(self, category_name):
4885        r"""DeleteCategory(SBDebugger self, char const * category_name) -> bool"""
4886        return _lldb.SBDebugger_DeleteCategory(self, category_name)
4887
4888    def GetNumCategories(self):
4889        r"""GetNumCategories(SBDebugger self) -> uint32_t"""
4890        return _lldb.SBDebugger_GetNumCategories(self)
4891
4892    def GetCategoryAtIndex(self, arg2):
4893        r"""GetCategoryAtIndex(SBDebugger self, uint32_t arg2) -> SBTypeCategory"""
4894        return _lldb.SBDebugger_GetCategoryAtIndex(self, arg2)
4895
4896    def GetDefaultCategory(self):
4897        r"""GetDefaultCategory(SBDebugger self) -> SBTypeCategory"""
4898        return _lldb.SBDebugger_GetDefaultCategory(self)
4899
4900    def GetFormatForType(self, arg2):
4901        r"""GetFormatForType(SBDebugger self, SBTypeNameSpecifier arg2) -> SBTypeFormat"""
4902        return _lldb.SBDebugger_GetFormatForType(self, arg2)
4903
4904    def GetSummaryForType(self, arg2):
4905        r"""GetSummaryForType(SBDebugger self, SBTypeNameSpecifier arg2) -> SBTypeSummary"""
4906        return _lldb.SBDebugger_GetSummaryForType(self, arg2)
4907
4908    def GetFilterForType(self, arg2):
4909        r"""GetFilterForType(SBDebugger self, SBTypeNameSpecifier arg2) -> SBTypeFilter"""
4910        return _lldb.SBDebugger_GetFilterForType(self, arg2)
4911
4912    def GetSyntheticForType(self, arg2):
4913        r"""GetSyntheticForType(SBDebugger self, SBTypeNameSpecifier arg2) -> SBTypeSynthetic"""
4914        return _lldb.SBDebugger_GetSyntheticForType(self, arg2)
4915
4916    def RunCommandInterpreter(self, auto_handle_events, spawn_thread, options, num_errors, quit_requested, stopped_for_crash):
4917        r"""
4918        RunCommandInterpreter(SBDebugger self, bool auto_handle_events, bool spawn_thread, SBCommandInterpreterRunOptions options, int & num_errors, bool & quit_requested, bool & stopped_for_crash)
4919        Launch a command interpreter session. Commands are read from standard input or
4920        from the input handle specified for the debugger object. Output/errors are
4921        similarly redirected to standard output/error or the configured handles.
4922
4923        @param[in] auto_handle_events If true, automatically handle resulting events.
4924        @param[in] spawn_thread If true, start a new thread for IO handling.
4925        @param[in] options Parameter collection of type SBCommandInterpreterRunOptions.
4926        @param[in] num_errors Initial error counter.
4927        @param[in] quit_requested Initial quit request flag.
4928        @param[in] stopped_for_crash Initial crash flag.
4929
4930        @return
4931        A tuple with the number of errors encountered by the interpreter, a boolean
4932        indicating whether quitting the interpreter was requested and another boolean
4933        set to True in case of a crash.
4934
4935        Example: ::
4936
4937            # Start an interactive lldb session from a script (with a valid debugger object
4938            # created beforehand):
4939            n_errors, quit_requested, has_crashed = debugger.RunCommandInterpreter(True,
4940                False, lldb.SBCommandInterpreterRunOptions(), 0, False, False)
4941        """
4942        return _lldb.SBDebugger_RunCommandInterpreter(self, auto_handle_events, spawn_thread, options, num_errors, quit_requested, stopped_for_crash)
4943
4944    def RunREPL(self, language, repl_options):
4945        r"""RunREPL(SBDebugger self, lldb::LanguageType language, char const * repl_options) -> SBError"""
4946        return _lldb.SBDebugger_RunREPL(self, language, repl_options)
4947
4948    def LoadTraceFromFile(self, error, trace_description_file):
4949        r"""LoadTraceFromFile(SBDebugger self, SBError error, SBFileSpec trace_description_file) -> SBTrace"""
4950        return _lldb.SBDebugger_LoadTraceFromFile(self, error, trace_description_file)
4951
4952    def __repr__(self):
4953        r"""__repr__(SBDebugger self) -> std::string"""
4954        return _lldb.SBDebugger___repr__(self)
4955
4956    def SetOutputFileHandle(self, file, transfer_ownership):
4957        "DEPRECATED, use SetOutputFile"
4958        if file is None:
4959            import sys
4960            file = sys.stdout
4961        self.SetOutputFile(SBFile.Create(file, borrow=True))
4962
4963    def SetInputFileHandle(self, file, transfer_ownership):
4964        "DEPRECATED, use SetInputFile"
4965        if file is None:
4966            import sys
4967            file = sys.stdin
4968        self.SetInputFile(SBFile.Create(file, borrow=True))
4969
4970    def SetErrorFileHandle(self, file, transfer_ownership):
4971        "DEPRECATED, use SetErrorFile"
4972        if file is None:
4973            import sys
4974            file = sys.stderr
4975        self.SetErrorFile(SBFile.Create(file, borrow=True))
4976
4977    def __iter__(self):
4978        '''Iterate over all targets in a lldb.SBDebugger object.'''
4979        return lldb_iter(self, 'GetNumTargets', 'GetTargetAtIndex')
4980
4981    def __len__(self):
4982        '''Return the number of targets in a lldb.SBDebugger object.'''
4983        return self.GetNumTargets()
4984
4985
4986    def GetInputFileHandle(self):
4987        r"""GetInputFileHandle(SBDebugger self) -> lldb::FileSP"""
4988        return _lldb.SBDebugger_GetInputFileHandle(self)
4989
4990    def GetOutputFileHandle(self):
4991        r"""GetOutputFileHandle(SBDebugger self) -> lldb::FileSP"""
4992        return _lldb.SBDebugger_GetOutputFileHandle(self)
4993
4994    def GetErrorFileHandle(self):
4995        r"""GetErrorFileHandle(SBDebugger self) -> lldb::FileSP"""
4996        return _lldb.SBDebugger_GetErrorFileHandle(self)
4997
4998# Register SBDebugger in _lldb:
4999_lldb.SBDebugger_swigregister(SBDebugger)
5000class SBDeclaration(object):
5001    r"""Specifies an association with a line and column for a variable."""
5002
5003    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5004
5005    def __init__(self, *args):
5006        r"""
5007        __init__(SBDeclaration self) -> SBDeclaration
5008        __init__(SBDeclaration self, SBDeclaration rhs) -> SBDeclaration
5009        """
5010        _lldb.SBDeclaration_swiginit(self, _lldb.new_SBDeclaration(*args))
5011    __swig_destroy__ = _lldb.delete_SBDeclaration
5012
5013    def __nonzero__(self):
5014        return _lldb.SBDeclaration___nonzero__(self)
5015    __bool__ = __nonzero__
5016
5017
5018
5019    def IsValid(self):
5020        r"""IsValid(SBDeclaration self) -> bool"""
5021        return _lldb.SBDeclaration_IsValid(self)
5022
5023    def GetFileSpec(self):
5024        r"""GetFileSpec(SBDeclaration self) -> SBFileSpec"""
5025        return _lldb.SBDeclaration_GetFileSpec(self)
5026
5027    def GetLine(self):
5028        r"""GetLine(SBDeclaration self) -> uint32_t"""
5029        return _lldb.SBDeclaration_GetLine(self)
5030
5031    def GetColumn(self):
5032        r"""GetColumn(SBDeclaration self) -> uint32_t"""
5033        return _lldb.SBDeclaration_GetColumn(self)
5034
5035    def SetFileSpec(self, filespec):
5036        r"""SetFileSpec(SBDeclaration self, SBFileSpec filespec)"""
5037        return _lldb.SBDeclaration_SetFileSpec(self, filespec)
5038
5039    def SetLine(self, line):
5040        r"""SetLine(SBDeclaration self, uint32_t line)"""
5041        return _lldb.SBDeclaration_SetLine(self, line)
5042
5043    def SetColumn(self, column):
5044        r"""SetColumn(SBDeclaration self, uint32_t column)"""
5045        return _lldb.SBDeclaration_SetColumn(self, column)
5046
5047    def __eq__(self, rhs):
5048        r"""__eq__(SBDeclaration self, SBDeclaration rhs) -> bool"""
5049        return _lldb.SBDeclaration___eq__(self, rhs)
5050
5051    def __ne__(self, rhs):
5052        r"""__ne__(SBDeclaration self, SBDeclaration rhs) -> bool"""
5053        return _lldb.SBDeclaration___ne__(self, rhs)
5054
5055    def GetDescription(self, description):
5056        r"""GetDescription(SBDeclaration self, SBStream description) -> bool"""
5057        return _lldb.SBDeclaration_GetDescription(self, description)
5058
5059    def __repr__(self):
5060        r"""__repr__(SBDeclaration self) -> std::string"""
5061        return _lldb.SBDeclaration___repr__(self)
5062
5063                # operator== is a free function, which swig does not handle, so we inject
5064                # our own equality operator here
5065    def __eq__(self, other):
5066        return not self.__ne__(other)
5067
5068    file = property(GetFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this line entry.''')
5069    line = property(GetLine, None, doc='''A read only property that returns the 1 based line number for this line entry, a return value of zero indicates that no line information is available.''')
5070    column = property(GetColumn, None, doc='''A read only property that returns the 1 based column number for this line entry, a return value of zero indicates that no column information is available.''')
5071
5072
5073    def __eq__(self, rhs):
5074        if not isinstance(rhs, type(self)):
5075            return False
5076
5077        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
5078
5079    def __ne__(self, rhs):
5080        if not isinstance(rhs, type(self)):
5081            return True
5082
5083        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
5084
5085
5086# Register SBDeclaration in _lldb:
5087_lldb.SBDeclaration_swigregister(SBDeclaration)
5088class SBError(object):
5089    r"""
5090    Represents a container for holding any error code.
5091
5092    For example (from test/python_api/hello_world/TestHelloWorld.py), ::
5093
5094        def hello_world_attach_with_id_api(self):
5095            '''Create target, spawn a process, and attach to it by id.'''
5096
5097            target = self.dbg.CreateTarget(self.exe)
5098
5099            # Spawn a new process and don't display the stdout if not in TraceOn() mode.
5100            import subprocess
5101            popen = subprocess.Popen([self.exe, 'abc', 'xyz'],
5102                                     stdout = open(os.devnull, 'w') if not self.TraceOn() else None)
5103
5104            listener = lldb.SBListener('my.attach.listener')
5105            error = lldb.SBError()
5106            process = target.AttachToProcessWithID(listener, popen.pid, error)
5107
5108            self.assertTrue(error.Success() and process, PROCESS_IS_VALID)
5109
5110            # Let's check the stack traces of the attached process.
5111            import lldbutil
5112            stacktraces = lldbutil.print_stacktraces(process, string_buffer=True)
5113            self.expect(stacktraces, exe=False,
5114                substrs = ['main.c:%d' % self.line2,
5115                           '(int)argc=3'])
5116
5117            listener = lldb.SBListener('my.attach.listener')
5118            error = lldb.SBError()
5119            process = target.AttachToProcessWithID(listener, popen.pid, error)
5120
5121            self.assertTrue(error.Success() and process, PROCESS_IS_VALID)
5122
5123    checks that after the attach, there is no error condition by asserting
5124    that error.Success() is True and we get back a valid process object.
5125
5126    And (from test/python_api/event/TestEvent.py), ::
5127
5128            # Now launch the process, and do not stop at entry point.
5129            error = lldb.SBError()
5130            process = target.Launch(listener, None, None, None, None, None, None, 0, False, error)
5131            self.assertTrue(error.Success() and process, PROCESS_IS_VALID)
5132
5133    checks that after calling the target.Launch() method there's no error
5134    condition and we get back a void process object.
5135    """
5136
5137    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5138
5139    def __init__(self, *args):
5140        r"""
5141        __init__(SBError self) -> SBError
5142        __init__(SBError self, SBError rhs) -> SBError
5143        __init__(SBError self, char const * message) -> SBError
5144        """
5145        _lldb.SBError_swiginit(self, _lldb.new_SBError(*args))
5146    __swig_destroy__ = _lldb.delete_SBError
5147
5148    def GetCString(self):
5149        r"""GetCString(SBError self) -> char const *"""
5150        return _lldb.SBError_GetCString(self)
5151
5152    def Clear(self):
5153        r"""Clear(SBError self)"""
5154        return _lldb.SBError_Clear(self)
5155
5156    def Fail(self):
5157        r"""Fail(SBError self) -> bool"""
5158        return _lldb.SBError_Fail(self)
5159
5160    def Success(self):
5161        r"""Success(SBError self) -> bool"""
5162        return _lldb.SBError_Success(self)
5163
5164    def GetError(self):
5165        r"""GetError(SBError self) -> uint32_t"""
5166        return _lldb.SBError_GetError(self)
5167
5168    def GetType(self):
5169        r"""GetType(SBError self) -> lldb::ErrorType"""
5170        return _lldb.SBError_GetType(self)
5171
5172    def SetError(self, err, type):
5173        r"""SetError(SBError self, uint32_t err, lldb::ErrorType type)"""
5174        return _lldb.SBError_SetError(self, err, type)
5175
5176    def SetErrorToErrno(self):
5177        r"""SetErrorToErrno(SBError self)"""
5178        return _lldb.SBError_SetErrorToErrno(self)
5179
5180    def SetErrorToGenericError(self):
5181        r"""SetErrorToGenericError(SBError self)"""
5182        return _lldb.SBError_SetErrorToGenericError(self)
5183
5184    def SetErrorString(self, err_str):
5185        r"""SetErrorString(SBError self, char const * err_str)"""
5186        return _lldb.SBError_SetErrorString(self, err_str)
5187
5188    def SetErrorStringWithFormat(self, format, str1=None, str2=None, str3=None):
5189        r"""SetErrorStringWithFormat(SBError self, char const * format, char * str1=None, char * str2=None, char * str3=None) -> int"""
5190        return _lldb.SBError_SetErrorStringWithFormat(self, format, str1, str2, str3)
5191
5192    def __nonzero__(self):
5193        return _lldb.SBError___nonzero__(self)
5194    __bool__ = __nonzero__
5195
5196
5197
5198    def IsValid(self):
5199        r"""IsValid(SBError self) -> bool"""
5200        return _lldb.SBError_IsValid(self)
5201
5202    def GetDescription(self, description):
5203        r"""GetDescription(SBError self, SBStream description) -> bool"""
5204        return _lldb.SBError_GetDescription(self, description)
5205
5206    def __repr__(self):
5207        r"""__repr__(SBError self) -> std::string"""
5208        return _lldb.SBError___repr__(self)
5209
5210    def __int__(self):
5211        return self.GetError()
5212
5213    value = property(GetError, None, doc='''A read only property that returns the same result as GetError().''')
5214    fail = property(Fail, None, doc='''A read only property that returns the same result as Fail().''')
5215    success = property(Success, None, doc='''A read only property that returns the same result as Success().''')
5216    description = property(GetCString, None, doc='''A read only property that returns the same result as GetCString().''')
5217    type = property(GetType, None, doc='''A read only property that returns the same result as GetType().''')
5218
5219
5220# Register SBError in _lldb:
5221_lldb.SBError_swigregister(SBError)
5222class SBEnvironment(object):
5223    r"""
5224    Represents the environment of a certain process.
5225
5226    Example: ::
5227
5228      for entry in lldb.debugger.GetSelectedTarget().GetEnvironment().GetEntries():
5229        print(entry)
5230
5231
5232    """
5233
5234    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5235    __repr__ = _swig_repr
5236
5237    def __init__(self, *args):
5238        r"""
5239        __init__(SBEnvironment self) -> SBEnvironment
5240        __init__(SBEnvironment self, SBEnvironment rhs) -> SBEnvironment
5241        """
5242        _lldb.SBEnvironment_swiginit(self, _lldb.new_SBEnvironment(*args))
5243    __swig_destroy__ = _lldb.delete_SBEnvironment
5244
5245    def Get(self, name):
5246        r"""Get(SBEnvironment self, char const * name) -> char const *"""
5247        return _lldb.SBEnvironment_Get(self, name)
5248
5249    def GetNumValues(self):
5250        r"""GetNumValues(SBEnvironment self) -> size_t"""
5251        return _lldb.SBEnvironment_GetNumValues(self)
5252
5253    def GetNameAtIndex(self, index):
5254        r"""GetNameAtIndex(SBEnvironment self, size_t index) -> char const *"""
5255        return _lldb.SBEnvironment_GetNameAtIndex(self, index)
5256
5257    def GetValueAtIndex(self, index):
5258        r"""GetValueAtIndex(SBEnvironment self, size_t index) -> char const *"""
5259        return _lldb.SBEnvironment_GetValueAtIndex(self, index)
5260
5261    def GetEntries(self):
5262        r"""GetEntries(SBEnvironment self) -> SBStringList"""
5263        return _lldb.SBEnvironment_GetEntries(self)
5264
5265    def PutEntry(self, name_and_value):
5266        r"""PutEntry(SBEnvironment self, char const * name_and_value)"""
5267        return _lldb.SBEnvironment_PutEntry(self, name_and_value)
5268
5269    def SetEntries(self, entries, append):
5270        r"""SetEntries(SBEnvironment self, SBStringList entries, bool append)"""
5271        return _lldb.SBEnvironment_SetEntries(self, entries, append)
5272
5273    def Set(self, name, value, overwrite):
5274        r"""Set(SBEnvironment self, char const * name, char const * value, bool overwrite) -> bool"""
5275        return _lldb.SBEnvironment_Set(self, name, value, overwrite)
5276
5277    def Unset(self, name):
5278        r"""Unset(SBEnvironment self, char const * name) -> bool"""
5279        return _lldb.SBEnvironment_Unset(self, name)
5280
5281    def Clear(self):
5282        r"""Clear(SBEnvironment self)"""
5283        return _lldb.SBEnvironment_Clear(self)
5284
5285# Register SBEnvironment in _lldb:
5286_lldb.SBEnvironment_swigregister(SBEnvironment)
5287class SBEvent(object):
5288    r"""
5289    API clients can register to receive events.
5290
5291    For example, check out the following output: ::
5292
5293        Try wait for event...
5294        Event description: 0x103d0bb70 Event: broadcaster = 0x1009c8410, type = 0x00000001, data = { process = 0x1009c8400 (pid = 21528), state = running}
5295        Event data flavor: Process::ProcessEventData
5296        Process state: running
5297
5298        Try wait for event...
5299        Event description: 0x103a700a0 Event: broadcaster = 0x1009c8410, type = 0x00000001, data = { process = 0x1009c8400 (pid = 21528), state = stopped}
5300        Event data flavor: Process::ProcessEventData
5301        Process state: stopped
5302
5303        Try wait for event...
5304        Event description: 0x103d0d4a0 Event: broadcaster = 0x1009c8410, type = 0x00000001, data = { process = 0x1009c8400 (pid = 21528), state = exited}
5305        Event data flavor: Process::ProcessEventData
5306        Process state: exited
5307
5308        Try wait for event...
5309        timeout occurred waiting for event...
5310
5311    from test/python_api/event/TestEventspy: ::
5312
5313        def do_listen_for_and_print_event(self):
5314            '''Create a listener and use SBEvent API to print the events received.'''
5315            exe = os.path.join(os.getcwd(), 'a.out')
5316
5317            # Create a target by the debugger.
5318            target = self.dbg.CreateTarget(exe)
5319            self.assertTrue(target, VALID_TARGET)
5320
5321            # Now create a breakpoint on main.c by name 'c'.
5322            breakpoint = target.BreakpointCreateByName('c', 'a.out')
5323
5324            # Now launch the process, and do not stop at the entry point.
5325            process = target.LaunchSimple(None, None, os.getcwd())
5326            self.assertTrue(process.GetState() == lldb.eStateStopped,
5327                            PROCESS_STOPPED)
5328
5329            # Get a handle on the process's broadcaster.
5330            broadcaster = process.GetBroadcaster()
5331
5332            # Create an empty event object.
5333            event = lldb.SBEvent()
5334
5335            # Create a listener object and register with the broadcaster.
5336            listener = lldb.SBListener('my listener')
5337            rc = broadcaster.AddListener(listener, lldb.SBProcess.eBroadcastBitStateChanged)
5338            self.assertTrue(rc, 'AddListener successfully retruns')
5339
5340            traceOn = self.TraceOn()
5341            if traceOn:
5342                lldbutil.print_stacktraces(process)
5343
5344            # Create MyListeningThread class to wait for any kind of event.
5345            import threading
5346            class MyListeningThread(threading.Thread):
5347                def run(self):
5348                    count = 0
5349                    # Let's only try at most 4 times to retrieve any kind of event.
5350                    # After that, the thread exits.
5351                    while not count > 3:
5352                        if traceOn:
5353                            print('Try wait for event...')
5354                        if listener.WaitForEventForBroadcasterWithType(5,
5355                                                                       broadcaster,
5356                                                                       lldb.SBProcess.eBroadcastBitStateChanged,
5357                                                                       event):
5358                            if traceOn:
5359                                desc = lldbutil.get_description(event))
5360                                print('Event description:', desc)
5361                                print('Event data flavor:', event.GetDataFlavor())
5362                                print('Process state:', lldbutil.state_type_to_str(process.GetState()))
5363                                print()
5364                        else:
5365                            if traceOn:
5366                                print 'timeout occurred waiting for event...'
5367                        count = count + 1
5368                    return
5369
5370            # Let's start the listening thread to retrieve the events.
5371            my_thread = MyListeningThread()
5372            my_thread.start()
5373
5374            # Use Python API to continue the process.  The listening thread should be
5375            # able to receive the state changed events.
5376            process.Continue()
5377
5378            # Use Python API to kill the process.  The listening thread should be
5379            # able to receive the state changed event, too.
5380            process.Kill()
5381
5382            # Wait until the 'MyListeningThread' terminates.
5383            my_thread.join()
5384    """
5385
5386    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5387    __repr__ = _swig_repr
5388
5389    def __init__(self, *args):
5390        r"""__init__(self, int type, str data) -> SBEvent (make an event that contains a C string)__init__(self, int type, str data) -> SBEvent (make an event that contains a C string)__init__(self, int type, str data) -> SBEvent (make an event that contains a C string)"""
5391        _lldb.SBEvent_swiginit(self, _lldb.new_SBEvent(*args))
5392    __swig_destroy__ = _lldb.delete_SBEvent
5393
5394    def __nonzero__(self):
5395        return _lldb.SBEvent___nonzero__(self)
5396    __bool__ = __nonzero__
5397
5398
5399
5400    def IsValid(self):
5401        r"""IsValid(SBEvent self) -> bool"""
5402        return _lldb.SBEvent_IsValid(self)
5403
5404    def GetDataFlavor(self):
5405        r"""GetDataFlavor(SBEvent self) -> char const *"""
5406        return _lldb.SBEvent_GetDataFlavor(self)
5407
5408    def GetType(self):
5409        r"""GetType(SBEvent self) -> uint32_t"""
5410        return _lldb.SBEvent_GetType(self)
5411
5412    def GetBroadcaster(self):
5413        r"""GetBroadcaster(SBEvent self) -> SBBroadcaster"""
5414        return _lldb.SBEvent_GetBroadcaster(self)
5415
5416    def GetBroadcasterClass(self):
5417        r"""GetBroadcasterClass(SBEvent self) -> char const *"""
5418        return _lldb.SBEvent_GetBroadcasterClass(self)
5419
5420    def BroadcasterMatchesRef(self, broadcaster):
5421        r"""BroadcasterMatchesRef(SBEvent self, SBBroadcaster broadcaster) -> bool"""
5422        return _lldb.SBEvent_BroadcasterMatchesRef(self, broadcaster)
5423
5424    def Clear(self):
5425        r"""Clear(SBEvent self)"""
5426        return _lldb.SBEvent_Clear(self)
5427
5428    @staticmethod
5429    def GetCStringFromEvent(event):
5430        r"""GetCStringFromEvent(SBEvent event) -> char const *"""
5431        return _lldb.SBEvent_GetCStringFromEvent(event)
5432
5433    def GetDescription(self, *args):
5434        r"""
5435        GetDescription(SBEvent self, SBStream description) -> bool
5436        GetDescription(SBEvent self, SBStream description) -> bool
5437        """
5438        return _lldb.SBEvent_GetDescription(self, *args)
5439
5440# Register SBEvent in _lldb:
5441_lldb.SBEvent_swigregister(SBEvent)
5442class SBExecutionContext(object):
5443    r"""Describes the program context in which a command should be executed."""
5444
5445    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5446    __repr__ = _swig_repr
5447
5448    def __init__(self, *args):
5449        r"""
5450        __init__(SBExecutionContext self) -> SBExecutionContext
5451        __init__(SBExecutionContext self, SBExecutionContext rhs) -> SBExecutionContext
5452        __init__(SBExecutionContext self, SBTarget target) -> SBExecutionContext
5453        __init__(SBExecutionContext self, SBProcess process) -> SBExecutionContext
5454        __init__(SBExecutionContext self, SBThread thread) -> SBExecutionContext
5455        __init__(SBExecutionContext self, SBFrame frame) -> SBExecutionContext
5456        """
5457        _lldb.SBExecutionContext_swiginit(self, _lldb.new_SBExecutionContext(*args))
5458    __swig_destroy__ = _lldb.delete_SBExecutionContext
5459
5460    def GetTarget(self):
5461        r"""GetTarget(SBExecutionContext self) -> SBTarget"""
5462        return _lldb.SBExecutionContext_GetTarget(self)
5463
5464    def GetProcess(self):
5465        r"""GetProcess(SBExecutionContext self) -> SBProcess"""
5466        return _lldb.SBExecutionContext_GetProcess(self)
5467
5468    def GetThread(self):
5469        r"""GetThread(SBExecutionContext self) -> SBThread"""
5470        return _lldb.SBExecutionContext_GetThread(self)
5471
5472    def GetFrame(self):
5473        r"""GetFrame(SBExecutionContext self) -> SBFrame"""
5474        return _lldb.SBExecutionContext_GetFrame(self)
5475
5476    target = property(GetTarget, None, doc='''A read only property that returns the same result as GetTarget().''')
5477    process = property(GetProcess, None, doc='''A read only property that returns the same result as GetProcess().''')
5478    thread = property(GetThread, None, doc='''A read only property that returns the same result as GetThread().''')
5479    frame = property(GetFrame, None, doc='''A read only property that returns the same result as GetFrame().''')
5480
5481
5482# Register SBExecutionContext in _lldb:
5483_lldb.SBExecutionContext_swigregister(SBExecutionContext)
5484class SBExpressionOptions(object):
5485    r"""A container for options to use when evaluating expressions."""
5486
5487    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5488    __repr__ = _swig_repr
5489
5490    def __init__(self, *args):
5491        r"""
5492        __init__(SBExpressionOptions self) -> SBExpressionOptions
5493        __init__(SBExpressionOptions self, SBExpressionOptions rhs) -> SBExpressionOptions
5494        """
5495        _lldb.SBExpressionOptions_swiginit(self, _lldb.new_SBExpressionOptions(*args))
5496    __swig_destroy__ = _lldb.delete_SBExpressionOptions
5497
5498    def GetCoerceResultToId(self):
5499        r"""GetCoerceResultToId(SBExpressionOptions self) -> bool"""
5500        return _lldb.SBExpressionOptions_GetCoerceResultToId(self)
5501
5502    def SetCoerceResultToId(self, coerce=True):
5503        r"""
5504        SetCoerceResultToId(SBExpressionOptions self, bool coerce=True)
5505        Sets whether to coerce the expression result to ObjC id type after evaluation.
5506        """
5507        return _lldb.SBExpressionOptions_SetCoerceResultToId(self, coerce)
5508
5509    def GetUnwindOnError(self):
5510        r"""GetUnwindOnError(SBExpressionOptions self) -> bool"""
5511        return _lldb.SBExpressionOptions_GetUnwindOnError(self)
5512
5513    def SetUnwindOnError(self, unwind=True):
5514        r"""
5515        SetUnwindOnError(SBExpressionOptions self, bool unwind=True)
5516        Sets whether to unwind the expression stack on error.
5517        """
5518        return _lldb.SBExpressionOptions_SetUnwindOnError(self, unwind)
5519
5520    def GetIgnoreBreakpoints(self):
5521        r"""GetIgnoreBreakpoints(SBExpressionOptions self) -> bool"""
5522        return _lldb.SBExpressionOptions_GetIgnoreBreakpoints(self)
5523
5524    def SetIgnoreBreakpoints(self, ignore=True):
5525        r"""
5526        SetIgnoreBreakpoints(SBExpressionOptions self, bool ignore=True)
5527        Sets whether to ignore breakpoint hits while running expressions.
5528        """
5529        return _lldb.SBExpressionOptions_SetIgnoreBreakpoints(self, ignore)
5530
5531    def GetFetchDynamicValue(self):
5532        r"""GetFetchDynamicValue(SBExpressionOptions self) -> lldb::DynamicValueType"""
5533        return _lldb.SBExpressionOptions_GetFetchDynamicValue(self)
5534
5535    def SetFetchDynamicValue(self, *args):
5536        r"""
5537        SetFetchDynamicValue(SBExpressionOptions self, lldb::DynamicValueType dynamic=eDynamicCanRunTarget)
5538        Sets whether to cast the expression result to its dynamic type.
5539        """
5540        return _lldb.SBExpressionOptions_SetFetchDynamicValue(self, *args)
5541
5542    def GetTimeoutInMicroSeconds(self):
5543        r"""GetTimeoutInMicroSeconds(SBExpressionOptions self) -> uint32_t"""
5544        return _lldb.SBExpressionOptions_GetTimeoutInMicroSeconds(self)
5545
5546    def SetTimeoutInMicroSeconds(self, timeout=0):
5547        r"""
5548        SetTimeoutInMicroSeconds(SBExpressionOptions self, uint32_t timeout=0)
5549        Sets the timeout in microseconds to run the expression for. If try all threads is set to true and the expression doesn't complete within the specified timeout, all threads will be resumed for the same timeout to see if the expression will finish.
5550        """
5551        return _lldb.SBExpressionOptions_SetTimeoutInMicroSeconds(self, timeout)
5552
5553    def GetOneThreadTimeoutInMicroSeconds(self):
5554        r"""GetOneThreadTimeoutInMicroSeconds(SBExpressionOptions self) -> uint32_t"""
5555        return _lldb.SBExpressionOptions_GetOneThreadTimeoutInMicroSeconds(self)
5556
5557    def SetOneThreadTimeoutInMicroSeconds(self, timeout=0):
5558        r"""
5559        SetOneThreadTimeoutInMicroSeconds(SBExpressionOptions self, uint32_t timeout=0)
5560        Sets the timeout in microseconds to run the expression on one thread before either timing out or trying all threads.
5561        """
5562        return _lldb.SBExpressionOptions_SetOneThreadTimeoutInMicroSeconds(self, timeout)
5563
5564    def GetTryAllThreads(self):
5565        r"""GetTryAllThreads(SBExpressionOptions self) -> bool"""
5566        return _lldb.SBExpressionOptions_GetTryAllThreads(self)
5567
5568    def SetTryAllThreads(self, run_others=True):
5569        r"""
5570        SetTryAllThreads(SBExpressionOptions self, bool run_others=True)
5571        Sets whether to run all threads if the expression does not complete on one thread.
5572        """
5573        return _lldb.SBExpressionOptions_SetTryAllThreads(self, run_others)
5574
5575    def GetStopOthers(self):
5576        r"""GetStopOthers(SBExpressionOptions self) -> bool"""
5577        return _lldb.SBExpressionOptions_GetStopOthers(self)
5578
5579    def SetStopOthers(self, stop_others=True):
5580        r"""
5581        SetStopOthers(SBExpressionOptions self, bool stop_others=True)
5582        Sets whether to stop other threads at all while running expressions.  If false, TryAllThreads does nothing.
5583        """
5584        return _lldb.SBExpressionOptions_SetStopOthers(self, stop_others)
5585
5586    def GetTrapExceptions(self):
5587        r"""GetTrapExceptions(SBExpressionOptions self) -> bool"""
5588        return _lldb.SBExpressionOptions_GetTrapExceptions(self)
5589
5590    def SetTrapExceptions(self, trap_exceptions=True):
5591        r"""
5592        SetTrapExceptions(SBExpressionOptions self, bool trap_exceptions=True)
5593        Sets whether to abort expression evaluation if an exception is thrown while executing.  Don't set this to false unless you know the function you are calling traps all exceptions itself.
5594        """
5595        return _lldb.SBExpressionOptions_SetTrapExceptions(self, trap_exceptions)
5596
5597    def SetLanguage(self, *args):
5598        r"""
5599        SetLanguage(SBExpressionOptions self, lldb::LanguageType language)
5600        SetLanguage(SBExpressionOptions self, SBSourceLanguageName name, uint32_t version)
5601        Sets the language that LLDB should assume the expression is written in
5602        """
5603        return _lldb.SBExpressionOptions_SetLanguage(self, *args)
5604
5605    def GetGenerateDebugInfo(self):
5606        r"""GetGenerateDebugInfo(SBExpressionOptions self) -> bool"""
5607        return _lldb.SBExpressionOptions_GetGenerateDebugInfo(self)
5608
5609    def SetGenerateDebugInfo(self, b=True):
5610        r"""
5611        SetGenerateDebugInfo(SBExpressionOptions self, bool b=True)
5612        Sets whether to generate debug information for the expression and also controls if a SBModule is generated.
5613        """
5614        return _lldb.SBExpressionOptions_SetGenerateDebugInfo(self, b)
5615
5616    def GetSuppressPersistentResult(self):
5617        r"""GetSuppressPersistentResult(SBExpressionOptions self) -> bool"""
5618        return _lldb.SBExpressionOptions_GetSuppressPersistentResult(self)
5619
5620    def SetSuppressPersistentResult(self, b=False):
5621        r"""
5622        SetSuppressPersistentResult(SBExpressionOptions self, bool b=False)
5623        Sets whether to produce a persistent result that can be used in future expressions.
5624        """
5625        return _lldb.SBExpressionOptions_SetSuppressPersistentResult(self, b)
5626
5627    def GetPrefix(self):
5628        r"""
5629        GetPrefix(SBExpressionOptions self) -> char const *
5630        Gets the prefix to use for this expression.
5631        """
5632        return _lldb.SBExpressionOptions_GetPrefix(self)
5633
5634    def SetPrefix(self, prefix):
5635        r"""
5636        SetPrefix(SBExpressionOptions self, char const * prefix)
5637        Sets the prefix to use for this expression. This prefix gets inserted after the 'target.expr-prefix' prefix contents, but before the wrapped expression function body.
5638        """
5639        return _lldb.SBExpressionOptions_SetPrefix(self, prefix)
5640
5641    def SetAutoApplyFixIts(self, b=True):
5642        r"""
5643        SetAutoApplyFixIts(SBExpressionOptions self, bool b=True)
5644        Sets whether to auto-apply fix-it hints to the expression being evaluated.
5645        """
5646        return _lldb.SBExpressionOptions_SetAutoApplyFixIts(self, b)
5647
5648    def GetAutoApplyFixIts(self):
5649        r"""
5650        GetAutoApplyFixIts(SBExpressionOptions self) -> bool
5651        Gets whether to auto-apply fix-it hints to an expression.
5652        """
5653        return _lldb.SBExpressionOptions_GetAutoApplyFixIts(self)
5654
5655    def SetRetriesWithFixIts(self, retries):
5656        r"""
5657        SetRetriesWithFixIts(SBExpressionOptions self, uint64_t retries)
5658        Sets how often LLDB should retry applying fix-its to an expression.
5659        """
5660        return _lldb.SBExpressionOptions_SetRetriesWithFixIts(self, retries)
5661
5662    def GetRetriesWithFixIts(self):
5663        r"""
5664        GetRetriesWithFixIts(SBExpressionOptions self) -> uint64_t
5665        Gets how often LLDB will retry applying fix-its to an expression.
5666        """
5667        return _lldb.SBExpressionOptions_GetRetriesWithFixIts(self)
5668
5669    def GetTopLevel(self):
5670        r"""GetTopLevel(SBExpressionOptions self) -> bool"""
5671        return _lldb.SBExpressionOptions_GetTopLevel(self)
5672
5673    def SetTopLevel(self, b=True):
5674        r"""SetTopLevel(SBExpressionOptions self, bool b=True)"""
5675        return _lldb.SBExpressionOptions_SetTopLevel(self, b)
5676
5677    def GetAllowJIT(self):
5678        r"""
5679        GetAllowJIT(SBExpressionOptions self) -> bool
5680        Gets whether to JIT an expression if it cannot be interpreted.
5681        """
5682        return _lldb.SBExpressionOptions_GetAllowJIT(self)
5683
5684    def SetAllowJIT(self, allow):
5685        r"""
5686        SetAllowJIT(SBExpressionOptions self, bool allow)
5687        Sets whether to JIT an expression if it cannot be interpreted.
5688        """
5689        return _lldb.SBExpressionOptions_SetAllowJIT(self, allow)
5690
5691# Register SBExpressionOptions in _lldb:
5692_lldb.SBExpressionOptions_swigregister(SBExpressionOptions)
5693class SBFile(object):
5694    r"""Represents a file."""
5695
5696    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5697    __repr__ = _swig_repr
5698
5699    def __init__(self, *args):
5700        r"""
5701        __init__(SBFile self) -> SBFile
5702        __init__(SBFile self, lldb::FileSP file_sp) -> SBFile
5703        __init__(SBFile self, int fd, char const * mode, bool transfer_ownership) -> SBFile
5704        initialize a SBFile from a python file object
5705        """
5706        _lldb.SBFile_swiginit(self, _lldb.new_SBFile(*args))
5707    __swig_destroy__ = _lldb.delete_SBFile
5708
5709    def Read(self, buf):
5710        r"""Read(buffer) -> SBError, bytes_read"""
5711        return _lldb.SBFile_Read(self, buf)
5712
5713    def Write(self, buf):
5714        r"""Write(buffer) -> SBError, written_read"""
5715        return _lldb.SBFile_Write(self, buf)
5716
5717    def Flush(self):
5718        r"""Flush(SBFile self) -> SBError"""
5719        return _lldb.SBFile_Flush(self)
5720
5721    def IsValid(self):
5722        r"""IsValid(SBFile self) -> bool"""
5723        return _lldb.SBFile_IsValid(self)
5724
5725    def Close(self):
5726        r"""Close(SBFile self) -> SBError"""
5727        return _lldb.SBFile_Close(self)
5728
5729    def __nonzero__(self):
5730        return _lldb.SBFile___nonzero__(self)
5731    __bool__ = __nonzero__
5732
5733
5734
5735    def GetFile(self):
5736        r"""
5737        GetFile(SBFile self) -> lldb::FileSP
5738
5739            Convert this SBFile into a python io.IOBase file object.
5740
5741            If the SBFile is itself a wrapper around a python file object,
5742            this will return that original object.
5743
5744            The file returned from here should be considered borrowed,
5745            in the sense that you may read and write to it, and flush it,
5746            etc, but you should not close it.   If you want to close the
5747            SBFile, call SBFile.Close().
5748
5749            If there is no underlying python file to unwrap, GetFile will
5750            use the file descriptor, if available to create a new python
5751            file object using ``open(fd, mode=..., closefd=False)``
5752
5753        """
5754        return _lldb.SBFile_GetFile(self)
5755
5756    @staticmethod
5757    def MakeBorrowed(BORROWED):
5758        r"""MakeBorrowed(lldb::FileSP BORROWED) -> SBFile"""
5759        return _lldb.SBFile_MakeBorrowed(BORROWED)
5760
5761    @staticmethod
5762    def MakeForcingIOMethods(FORCE_IO_METHODS):
5763        r"""MakeForcingIOMethods(lldb::FileSP FORCE_IO_METHODS) -> SBFile"""
5764        return _lldb.SBFile_MakeForcingIOMethods(FORCE_IO_METHODS)
5765
5766    @staticmethod
5767    def MakeBorrowedForcingIOMethods(BORROWED_FORCE_IO_METHODS):
5768        r"""MakeBorrowedForcingIOMethods(lldb::FileSP BORROWED_FORCE_IO_METHODS) -> SBFile"""
5769        return _lldb.SBFile_MakeBorrowedForcingIOMethods(BORROWED_FORCE_IO_METHODS)
5770
5771    @classmethod
5772    def Create(cls, file, borrow=False, force_io_methods=False):
5773        """
5774        Create a SBFile from a python file object, with options.
5775
5776        If borrow is set then the underlying file will
5777        not be closed when the SBFile is closed or destroyed.
5778
5779        If force_scripting_io is set then the python read/write
5780        methods will be called even if a file descriptor is available.
5781        """
5782        if borrow:
5783            if force_io_methods:
5784                return cls.MakeBorrowedForcingIOMethods(file)
5785            else:
5786                return cls.MakeBorrowed(file)
5787        else:
5788            if force_io_methods:
5789                return cls.MakeForcingIOMethods(file)
5790            else:
5791                return cls(file)
5792
5793
5794# Register SBFile in _lldb:
5795_lldb.SBFile_swigregister(SBFile)
5796class SBFileSpec(object):
5797    r"""
5798    Represents a file specification that divides the path into a directory and
5799    basename.  The string values of the paths are put into uniqued string pools
5800    for fast comparisons and efficient memory usage.
5801
5802    For example, the following code ::
5803
5804            lineEntry = context.GetLineEntry()
5805            self.expect(lineEntry.GetFileSpec().GetDirectory(), 'The line entry should have the correct directory',
5806                        exe=False,
5807                substrs = [self.mydir])
5808            self.expect(lineEntry.GetFileSpec().GetFilename(), 'The line entry should have the correct filename',
5809                        exe=False,
5810                substrs = ['main.c'])
5811            self.assertTrue(lineEntry.GetLine() == self.line,
5812                            'The line entry's line number should match ')
5813
5814    gets the line entry from the symbol context when a thread is stopped.
5815    It gets the file spec corresponding to the line entry and checks that
5816    the filename and the directory matches what we expect.
5817    """
5818
5819    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5820
5821    def __init__(self, *args):
5822        r"""
5823        __init__(SBFileSpec self) -> SBFileSpec
5824        __init__(SBFileSpec self, SBFileSpec rhs) -> SBFileSpec
5825        __init__(SBFileSpec self, char const * path) -> SBFileSpec
5826        __init__(SBFileSpec self, char const * path, bool resolve) -> SBFileSpec
5827        """
5828        _lldb.SBFileSpec_swiginit(self, _lldb.new_SBFileSpec(*args))
5829    __swig_destroy__ = _lldb.delete_SBFileSpec
5830
5831    def __nonzero__(self):
5832        return _lldb.SBFileSpec___nonzero__(self)
5833    __bool__ = __nonzero__
5834
5835
5836
5837    def __eq__(self, rhs):
5838        r"""__eq__(SBFileSpec self, SBFileSpec rhs) -> bool"""
5839        return _lldb.SBFileSpec___eq__(self, rhs)
5840
5841    def __ne__(self, rhs):
5842        r"""__ne__(SBFileSpec self, SBFileSpec rhs) -> bool"""
5843        return _lldb.SBFileSpec___ne__(self, rhs)
5844
5845    def IsValid(self):
5846        r"""IsValid(SBFileSpec self) -> bool"""
5847        return _lldb.SBFileSpec_IsValid(self)
5848
5849    def Exists(self):
5850        r"""Exists(SBFileSpec self) -> bool"""
5851        return _lldb.SBFileSpec_Exists(self)
5852
5853    def ResolveExecutableLocation(self):
5854        r"""ResolveExecutableLocation(SBFileSpec self) -> bool"""
5855        return _lldb.SBFileSpec_ResolveExecutableLocation(self)
5856
5857    def GetFilename(self):
5858        r"""GetFilename(SBFileSpec self) -> char const *"""
5859        return _lldb.SBFileSpec_GetFilename(self)
5860
5861    def GetDirectory(self):
5862        r"""GetDirectory(SBFileSpec self) -> char const *"""
5863        return _lldb.SBFileSpec_GetDirectory(self)
5864
5865    def SetFilename(self, filename):
5866        r"""SetFilename(SBFileSpec self, char const * filename)"""
5867        return _lldb.SBFileSpec_SetFilename(self, filename)
5868
5869    def SetDirectory(self, directory):
5870        r"""SetDirectory(SBFileSpec self, char const * directory)"""
5871        return _lldb.SBFileSpec_SetDirectory(self, directory)
5872
5873    def GetPath(self, dst_path, dst_len):
5874        r"""GetPath(SBFileSpec self, char * dst_path, size_t dst_len) -> uint32_t"""
5875        return _lldb.SBFileSpec_GetPath(self, dst_path, dst_len)
5876
5877    @staticmethod
5878    def ResolvePath(src_path, dst_path, dst_len):
5879        r"""ResolvePath(char const * src_path, char * dst_path, size_t dst_len) -> int"""
5880        return _lldb.SBFileSpec_ResolvePath(src_path, dst_path, dst_len)
5881
5882    def GetDescription(self, description):
5883        r"""GetDescription(SBFileSpec self, SBStream description) -> bool"""
5884        return _lldb.SBFileSpec_GetDescription(self, description)
5885
5886    def AppendPathComponent(self, file_or_directory):
5887        r"""AppendPathComponent(SBFileSpec self, char const * file_or_directory)"""
5888        return _lldb.SBFileSpec_AppendPathComponent(self, file_or_directory)
5889
5890    def __repr__(self):
5891        r"""__repr__(SBFileSpec self) -> std::string"""
5892        return _lldb.SBFileSpec___repr__(self)
5893
5894            # operator== is a free function, which swig does not handle, so we inject
5895            # our own equality operator here
5896    def __eq__(self, other):
5897        return not self.__ne__(other)
5898
5899    fullpath = property(str, None, doc='''A read only property that returns the fullpath as a python string.''')
5900    basename = property(GetFilename, None, doc='''A read only property that returns the path basename as a python string.''')
5901    dirname = property(GetDirectory, None, doc='''A read only property that returns the path directory name as a python string.''')
5902    exists = property(Exists, None, doc='''A read only property that returns a boolean value that indicates if the file exists.''')
5903
5904
5905# Register SBFileSpec in _lldb:
5906_lldb.SBFileSpec_swigregister(SBFileSpec)
5907class SBFileSpecList(object):
5908    r"""Represents a list of :py:class:`SBFileSpec`."""
5909
5910    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5911
5912    def __init__(self, *args):
5913        r"""
5914        __init__(SBFileSpecList self) -> SBFileSpecList
5915        __init__(SBFileSpecList self, SBFileSpecList rhs) -> SBFileSpecList
5916        """
5917        _lldb.SBFileSpecList_swiginit(self, _lldb.new_SBFileSpecList(*args))
5918    __swig_destroy__ = _lldb.delete_SBFileSpecList
5919
5920    def GetSize(self):
5921        r"""GetSize(SBFileSpecList self) -> uint32_t"""
5922        return _lldb.SBFileSpecList_GetSize(self)
5923
5924    def GetDescription(self, description):
5925        r"""GetDescription(SBFileSpecList self, SBStream description) -> bool"""
5926        return _lldb.SBFileSpecList_GetDescription(self, description)
5927
5928    def Append(self, sb_file):
5929        r"""Append(SBFileSpecList self, SBFileSpec sb_file)"""
5930        return _lldb.SBFileSpecList_Append(self, sb_file)
5931
5932    def AppendIfUnique(self, sb_file):
5933        r"""AppendIfUnique(SBFileSpecList self, SBFileSpec sb_file) -> bool"""
5934        return _lldb.SBFileSpecList_AppendIfUnique(self, sb_file)
5935
5936    def Clear(self):
5937        r"""Clear(SBFileSpecList self)"""
5938        return _lldb.SBFileSpecList_Clear(self)
5939
5940    def FindFileIndex(self, idx, sb_file, full):
5941        r"""FindFileIndex(SBFileSpecList self, uint32_t idx, SBFileSpec sb_file, bool full) -> uint32_t"""
5942        return _lldb.SBFileSpecList_FindFileIndex(self, idx, sb_file, full)
5943
5944    def GetFileSpecAtIndex(self, idx):
5945        r"""GetFileSpecAtIndex(SBFileSpecList self, uint32_t idx) -> SBFileSpec"""
5946        return _lldb.SBFileSpecList_GetFileSpecAtIndex(self, idx)
5947
5948    def __repr__(self):
5949        r"""__repr__(SBFileSpecList self) -> std::string"""
5950        return _lldb.SBFileSpecList___repr__(self)
5951
5952    def __len__(self):
5953      '''Return the number of FileSpec in a lldb.SBFileSpecList object.'''
5954      return self.GetSize()
5955
5956    def __iter__(self):
5957      '''Iterate over all FileSpecs in a lldb.SBFileSpecList object.'''
5958      return lldb_iter(self, 'GetSize', 'GetFileSpecAtIndex')
5959
5960
5961# Register SBFileSpecList in _lldb:
5962_lldb.SBFileSpecList_swigregister(SBFileSpecList)
5963class SBFormat(object):
5964    r"""Class that represents a format string that can be used to generate descriptions of objects like frames and threads. See https://lldb.llvm.org/use/formatting.html for more information."""
5965
5966    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5967    __repr__ = _swig_repr
5968
5969    def __init__(self, *args):
5970        r"""
5971        __init__(SBFormat self) -> SBFormat
5972        __init__(SBFormat self, char const * format, SBError error) -> SBFormat
5973        __init__(SBFormat self, SBFormat rhs) -> SBFormat
5974        """
5975        _lldb.SBFormat_swiginit(self, _lldb.new_SBFormat(*args))
5976    __swig_destroy__ = _lldb.delete_SBFormat
5977
5978    def __nonzero__(self):
5979        return _lldb.SBFormat___nonzero__(self)
5980    __bool__ = __nonzero__
5981
5982
5983
5984# Register SBFormat in _lldb:
5985_lldb.SBFormat_swigregister(SBFormat)
5986class SBFrame(object):
5987    r"""
5988    Represents one of the stack frames associated with a thread.
5989
5990    SBThread contains SBFrame(s). For example (from test/lldbutil.py), ::
5991
5992        def print_stacktrace(thread, string_buffer = False):
5993            '''Prints a simple stack trace of this thread.'''
5994
5995            ...
5996
5997            for i in range(depth):
5998                frame = thread.GetFrameAtIndex(i)
5999                function = frame.GetFunction()
6000
6001                load_addr = addrs[i].GetLoadAddress(target)
6002                if not function:
6003                    file_addr = addrs[i].GetFileAddress()
6004                    start_addr = frame.GetSymbol().GetStartAddress().GetFileAddress()
6005                    symbol_offset = file_addr - start_addr
6006                    print >> output, '  frame #{num}: {addr:#016x} {mod}`{symbol} + {offset}'.format(
6007                        num=i, addr=load_addr, mod=mods[i], symbol=symbols[i], offset=symbol_offset)
6008                else:
6009                    print >> output, '  frame #{num}: {addr:#016x} {mod}`{func} at {file}:{line} {args}'.format(
6010                        num=i, addr=load_addr, mod=mods[i],
6011                        func='%s [inlined]' % funcs[i] if frame.IsInlined() else funcs[i],
6012                        file=files[i], line=lines[i],
6013                        args=get_args_as_string(frame, showFuncName=False) if not frame.IsInlined() else '()')
6014
6015            ...
6016
6017    And, ::
6018
6019        for frame in thread:
6020            print frame
6021
6022    See also SBThread.
6023    """
6024
6025    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6026
6027    def __init__(self, *args):
6028        r"""
6029        __init__(SBFrame self) -> SBFrame
6030        __init__(SBFrame self, SBFrame rhs) -> SBFrame
6031        """
6032        _lldb.SBFrame_swiginit(self, _lldb.new_SBFrame(*args))
6033    __swig_destroy__ = _lldb.delete_SBFrame
6034
6035    def IsEqual(self, that):
6036        r"""IsEqual(SBFrame self, SBFrame that) -> bool"""
6037        return _lldb.SBFrame_IsEqual(self, that)
6038
6039    def __nonzero__(self):
6040        return _lldb.SBFrame___nonzero__(self)
6041    __bool__ = __nonzero__
6042
6043
6044
6045    def IsValid(self):
6046        r"""IsValid(SBFrame self) -> bool"""
6047        return _lldb.SBFrame_IsValid(self)
6048
6049    def GetFrameID(self):
6050        r"""GetFrameID(SBFrame self) -> uint32_t"""
6051        return _lldb.SBFrame_GetFrameID(self)
6052
6053    def GetCFA(self):
6054        r"""
6055        GetCFA(SBFrame self) -> lldb::addr_t
6056
6057            Get the Canonical Frame Address for this stack frame.
6058            This is the DWARF standard's definition of a CFA, a stack address
6059            that remains constant throughout the lifetime of the function.
6060            Returns an lldb::addr_t stack address, or LLDB_INVALID_ADDRESS if
6061            the CFA cannot be determined.
6062        """
6063        return _lldb.SBFrame_GetCFA(self)
6064
6065    def GetPC(self):
6066        r"""GetPC(SBFrame self) -> lldb::addr_t"""
6067        return _lldb.SBFrame_GetPC(self)
6068
6069    def SetPC(self, new_pc):
6070        r"""SetPC(SBFrame self, lldb::addr_t new_pc) -> bool"""
6071        return _lldb.SBFrame_SetPC(self, new_pc)
6072
6073    def GetSP(self):
6074        r"""GetSP(SBFrame self) -> lldb::addr_t"""
6075        return _lldb.SBFrame_GetSP(self)
6076
6077    def GetFP(self):
6078        r"""GetFP(SBFrame self) -> lldb::addr_t"""
6079        return _lldb.SBFrame_GetFP(self)
6080
6081    def GetPCAddress(self):
6082        r"""GetPCAddress(SBFrame self) -> SBAddress"""
6083        return _lldb.SBFrame_GetPCAddress(self)
6084
6085    def GetSymbolContext(self, resolve_scope):
6086        r"""GetSymbolContext(SBFrame self, uint32_t resolve_scope) -> SBSymbolContext"""
6087        return _lldb.SBFrame_GetSymbolContext(self, resolve_scope)
6088
6089    def GetModule(self):
6090        r"""GetModule(SBFrame self) -> SBModule"""
6091        return _lldb.SBFrame_GetModule(self)
6092
6093    def GetCompileUnit(self):
6094        r"""GetCompileUnit(SBFrame self) -> SBCompileUnit"""
6095        return _lldb.SBFrame_GetCompileUnit(self)
6096
6097    def GetFunction(self):
6098        r"""GetFunction(SBFrame self) -> SBFunction"""
6099        return _lldb.SBFrame_GetFunction(self)
6100
6101    def GetSymbol(self):
6102        r"""GetSymbol(SBFrame self) -> SBSymbol"""
6103        return _lldb.SBFrame_GetSymbol(self)
6104
6105    def GetBlock(self):
6106        r"""
6107        GetBlock(SBFrame self) -> SBBlock
6108
6109            Gets the deepest block that contains the frame PC.
6110
6111            See also GetFrameBlock().
6112        """
6113        return _lldb.SBFrame_GetBlock(self)
6114
6115    def GetDisplayFunctionName(self):
6116        r"""GetDisplayFunctionName(SBFrame self) -> char const *"""
6117        return _lldb.SBFrame_GetDisplayFunctionName(self)
6118
6119    def GetFunctionName(self, *args):
6120        r"""
6121        GetFunctionName(SBFrame self) -> char const
6122        GetFunctionName(SBFrame self) -> char const *
6123
6124            Get the appropriate function name for this frame. Inlined functions in
6125            LLDB are represented by Blocks that have inlined function information, so
6126            just looking at the SBFunction or SBSymbol for a frame isn't enough.
6127            This function will return the appropriate function, symbol or inlined
6128            function name for the frame.
6129
6130            This function returns:
6131            - the name of the inlined function (if there is one)
6132            - the name of the concrete function (if there is one)
6133            - the name of the symbol (if there is one)
6134            - NULL
6135
6136            See also IsInlined().
6137        """
6138        return _lldb.SBFrame_GetFunctionName(self, *args)
6139
6140    def GuessLanguage(self):
6141        r"""
6142        GuessLanguage(SBFrame self) -> lldb::LanguageType
6143
6144            Returns the language of the frame's SBFunction, or if there.
6145            is no SBFunction, guess the language from the mangled name.
6146            .
6147        """
6148        return _lldb.SBFrame_GuessLanguage(self)
6149
6150    def IsInlined(self, *args):
6151        r"""
6152        IsInlined(SBFrame self) -> bool
6153        IsInlined(SBFrame self) -> bool
6154
6155            Return true if this frame represents an inlined function.
6156
6157            See also GetFunctionName().
6158        """
6159        return _lldb.SBFrame_IsInlined(self, *args)
6160
6161    def IsArtificial(self, *args):
6162        r"""
6163        IsArtificial(SBFrame self) -> bool
6164        IsArtificial(SBFrame self) -> bool
6165
6166            Return true if this frame is artificial (e.g a frame synthesized to
6167            capture a tail call). Local variables may not be available in an artificial
6168            frame.
6169        """
6170        return _lldb.SBFrame_IsArtificial(self, *args)
6171
6172    def EvaluateExpression(self, *args):
6173        r"""
6174        EvaluateExpression(SBFrame self, char const * expr) -> SBValue
6175        EvaluateExpression(SBFrame self, char const * expr, lldb::DynamicValueType use_dynamic) -> SBValue
6176        EvaluateExpression(SBFrame self, char const * expr, lldb::DynamicValueType use_dynamic, bool unwind_on_error) -> SBValue
6177        EvaluateExpression(SBFrame self, char const * expr, SBExpressionOptions options) -> SBValue
6178
6179            The version that doesn't supply a 'use_dynamic' value will use the
6180            target's default.
6181        """
6182        return _lldb.SBFrame_EvaluateExpression(self, *args)
6183
6184    def GetFrameBlock(self):
6185        r"""
6186        GetFrameBlock(SBFrame self) -> SBBlock
6187
6188            Gets the lexical block that defines the stack frame. Another way to think
6189            of this is it will return the block that contains all of the variables
6190            for a stack frame. Inlined functions are represented as SBBlock objects
6191            that have inlined function information: the name of the inlined function,
6192            where it was called from. The block that is returned will be the first
6193            block at or above the block for the PC (SBFrame::GetBlock()) that defines
6194            the scope of the frame. When a function contains no inlined functions,
6195            this will be the top most lexical block that defines the function.
6196            When a function has inlined functions and the PC is currently
6197            in one of those inlined functions, this method will return the inlined
6198            block that defines this frame. If the PC isn't currently in an inlined
6199            function, the lexical block that defines the function is returned.
6200        """
6201        return _lldb.SBFrame_GetFrameBlock(self)
6202
6203    def GetLineEntry(self):
6204        r"""GetLineEntry(SBFrame self) -> SBLineEntry"""
6205        return _lldb.SBFrame_GetLineEntry(self)
6206
6207    def GetThread(self):
6208        r"""GetThread(SBFrame self) -> SBThread"""
6209        return _lldb.SBFrame_GetThread(self)
6210
6211    def Disassemble(self):
6212        r"""Disassemble(SBFrame self) -> char const *"""
6213        return _lldb.SBFrame_Disassemble(self)
6214
6215    def Clear(self):
6216        r"""Clear(SBFrame self)"""
6217        return _lldb.SBFrame_Clear(self)
6218
6219    def __eq__(self, rhs):
6220        r"""__eq__(SBFrame self, SBFrame rhs) -> bool"""
6221        return _lldb.SBFrame___eq__(self, rhs)
6222
6223    def __ne__(self, rhs):
6224        r"""__ne__(SBFrame self, SBFrame rhs) -> bool"""
6225        return _lldb.SBFrame___ne__(self, rhs)
6226
6227    def GetVariables(self, *args):
6228        r"""
6229        GetVariables(SBFrame self, bool arguments, bool locals, bool statics, bool in_scope_only) -> SBValueList
6230        GetVariables(SBFrame self, bool arguments, bool locals, bool statics, bool in_scope_only, lldb::DynamicValueType use_dynamic) -> SBValueList
6231        GetVariables(SBFrame self, SBVariablesOptions options) -> SBValueList
6232
6233            The version that doesn't supply a 'use_dynamic' value will use the
6234            target's default.
6235        """
6236        return _lldb.SBFrame_GetVariables(self, *args)
6237
6238    def GetRegisters(self):
6239        r"""GetRegisters(SBFrame self) -> SBValueList"""
6240        return _lldb.SBFrame_GetRegisters(self)
6241
6242    def FindRegister(self, name):
6243        r"""FindRegister(SBFrame self, char const * name) -> SBValue"""
6244        return _lldb.SBFrame_FindRegister(self, name)
6245
6246    def FindVariable(self, *args):
6247        r"""
6248        FindVariable(SBFrame self, char const * var_name) -> SBValue
6249        FindVariable(SBFrame self, char const * var_name, lldb::DynamicValueType use_dynamic) -> SBValue
6250
6251            The version that doesn't supply a 'use_dynamic' value will use the
6252            target's default.
6253        """
6254        return _lldb.SBFrame_FindVariable(self, *args)
6255
6256    def GetValueForVariablePath(self, *args):
6257        r"""
6258        GetValueForVariablePath(SBFrame self, char const * var_expr_cstr, lldb::DynamicValueType use_dynamic) -> SBValue
6259        GetValueForVariablePath(SBFrame self, char const * var_path) -> SBValue
6260
6261            Get a lldb.SBValue for a variable path.
6262
6263            Variable paths can include access to pointer or instance members: ::
6264
6265                rect_ptr->origin.y
6266                pt.x
6267
6268            Pointer dereferences: ::
6269
6270                *this->foo_ptr
6271                **argv
6272
6273            Address of: ::
6274
6275                &pt
6276                &my_array[3].x
6277
6278            Array accesses and treating pointers as arrays: ::
6279
6280                int_array[1]
6281                pt_ptr[22].x
6282
6283            Unlike `EvaluateExpression()` which returns :py:class:`SBValue` objects
6284            with constant copies of the values at the time of evaluation,
6285            the result of this function is a value that will continue to
6286            track the current value of the value as execution progresses
6287            in the current frame.
6288        """
6289        return _lldb.SBFrame_GetValueForVariablePath(self, *args)
6290
6291    def FindValue(self, *args):
6292        r"""
6293        FindValue(SBFrame self, char const * name, lldb::ValueType value_type) -> SBValue
6294        FindValue(SBFrame self, char const * name, lldb::ValueType value_type, lldb::DynamicValueType use_dynamic) -> SBValue
6295
6296            Find variables, register sets, registers, or persistent variables using
6297            the frame as the scope.
6298
6299            The version that doesn't supply a ``use_dynamic`` value will use the
6300            target's default.
6301        """
6302        return _lldb.SBFrame_FindValue(self, *args)
6303
6304    def GetDescription(self, description):
6305        r"""GetDescription(SBFrame self, SBStream description) -> bool"""
6306        return _lldb.SBFrame_GetDescription(self, description)
6307
6308    def GetDescriptionWithFormat(self, format, output):
6309        r"""GetDescriptionWithFormat(SBFrame self, SBFormat format, SBStream output) -> SBError"""
6310        return _lldb.SBFrame_GetDescriptionWithFormat(self, format, output)
6311
6312    def __repr__(self):
6313        r"""__repr__(SBFrame self) -> std::string"""
6314        return _lldb.SBFrame___repr__(self)
6315
6316            # operator== is a free function, which swig does not handle, so we inject
6317            # our own equality operator here
6318    def __eq__(self, other):
6319        return not self.__ne__(other)
6320
6321    def __int__(self):
6322        return self.GetFrameID()
6323
6324    def __hex__(self):
6325        return self.GetPC()
6326
6327    def get_all_variables(self):
6328        return self.GetVariables(True,True,True,True)
6329
6330    def get_parent_frame(self):
6331        parent_idx = self.idx + 1
6332        if parent_idx >= 0 and parent_idx < len(self.thread.frame):
6333            return self.thread.frame[parent_idx]
6334        else:
6335            return SBFrame()
6336
6337    def get_arguments(self):
6338        return self.GetVariables(True,False,False,False)
6339
6340    def get_locals(self):
6341        return self.GetVariables(False,True,False,False)
6342
6343    def get_statics(self):
6344        return self.GetVariables(False,False,True,False)
6345
6346    def var(self, var_expr_path):
6347        '''Calls through to lldb.SBFrame.GetValueForVariablePath() and returns
6348        a value that represents the variable expression path'''
6349        return self.GetValueForVariablePath(var_expr_path)
6350
6351    def get_registers_access(self):
6352        class registers_access(object):
6353            '''A helper object that exposes a flattened view of registers, masking away the notion of register sets for easy scripting.'''
6354            def __init__(self, regs):
6355                self.regs = regs
6356
6357            def __iter__(self):
6358                return self.get_registers()
6359
6360            def get_registers(self):
6361                for i in range(0,len(self.regs)):
6362                    rs = self.regs[i]
6363                    for j in range (0,rs.num_children):
6364                        reg = rs.GetChildAtIndex(j)
6365                        yield reg
6366
6367            def __getitem__(self, key):
6368                if type(key) is str:
6369                    for i in range(0,len(self.regs)):
6370                        rs = self.regs[i]
6371                        for j in range (0,rs.num_children):
6372                            reg = rs.GetChildAtIndex(j)
6373                            if reg.name == key: return reg
6374                else:
6375                    return SBValue()
6376
6377        return registers_access(self.registers)
6378
6379    pc = property(GetPC, SetPC)
6380    addr = property(GetPCAddress, None, doc='''A read only property that returns the program counter (PC) as a section offset address (lldb.SBAddress).''')
6381    fp = property(GetFP, None, doc='''A read only property that returns the frame pointer (FP) as an unsigned integer.''')
6382    sp = property(GetSP, None, doc='''A read only property that returns the stack pointer (SP) as an unsigned integer.''')
6383    module = property(GetModule, None, doc='''A read only property that returns an lldb object that represents the module (lldb.SBModule) for this stack frame.''')
6384    compile_unit = property(GetCompileUnit, None, doc='''A read only property that returns an lldb object that represents the compile unit (lldb.SBCompileUnit) for this stack frame.''')
6385    function = property(GetFunction, None, doc='''A read only property that returns an lldb object that represents the function (lldb.SBFunction) for this stack frame.''')
6386    symbol = property(GetSymbol, None, doc='''A read only property that returns an lldb object that represents the symbol (lldb.SBSymbol) for this stack frame.''')
6387    block = property(GetBlock, None, doc='''A read only property that returns an lldb object that represents the block (lldb.SBBlock) for this stack frame.''')
6388    is_inlined = property(IsInlined, None, doc='''A read only property that returns an boolean that indicates if the block frame is an inlined function.''')
6389    name = property(GetFunctionName, None, doc='''A read only property that retuns the name for the function that this frame represents. Inlined stack frame might have a concrete function that differs from the name of the inlined function (a named lldb.SBBlock).''')
6390    line_entry = property(GetLineEntry, None, doc='''A read only property that returns an lldb object that represents the line table entry (lldb.SBLineEntry) for this stack frame.''')
6391    thread = property(GetThread, None, doc='''A read only property that returns an lldb object that represents the thread (lldb.SBThread) for this stack frame.''')
6392    disassembly = property(Disassemble, None, doc='''A read only property that returns the disassembly for this stack frame as a python string.''')
6393    idx = property(GetFrameID, None, doc='''A read only property that returns the zero based stack frame index.''')
6394    variables = property(get_all_variables, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the variables in this stack frame.''')
6395    vars = property(get_all_variables, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the variables in this stack frame.''')
6396    locals = property(get_locals, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the local variables in this stack frame.''')
6397    args = property(get_arguments, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the argument variables in this stack frame.''')
6398    arguments = property(get_arguments, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the argument variables in this stack frame.''')
6399    statics = property(get_statics, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the static variables in this stack frame.''')
6400    registers = property(GetRegisters, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the CPU registers for this stack frame.''')
6401    regs = property(GetRegisters, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the CPU registers for this stack frame.''')
6402    register = property(get_registers_access, None, doc='''A read only property that returns an helper object providing a flattened indexable view of the CPU registers for this stack frame.''')
6403    reg = property(get_registers_access, None, doc='''A read only property that returns an helper object providing a flattened indexable view of the CPU registers for this stack frame''')
6404    parent = property(get_parent_frame, None, doc='''A read only property that returns the parent (caller) frame of the current frame.''')
6405
6406
6407# Register SBFrame in _lldb:
6408_lldb.SBFrame_swigregister(SBFrame)
6409class SBFunction(object):
6410    r"""
6411    Represents a generic function, which can be inlined or not.
6412
6413    For example (from test/lldbutil.py, but slightly modified for doc purpose),::
6414
6415            ...
6416
6417            frame = thread.GetFrameAtIndex(i)
6418            addr = frame.GetPCAddress()
6419            load_addr = addr.GetLoadAddress(target)
6420            function = frame.GetFunction()
6421            mod_name = frame.GetModule().GetFileSpec().GetFilename()
6422
6423            if not function:
6424                # No debug info for 'function'.
6425                symbol = frame.GetSymbol()
6426                file_addr = addr.GetFileAddress()
6427                start_addr = symbol.GetStartAddress().GetFileAddress()
6428                symbol_name = symbol.GetName()
6429                symbol_offset = file_addr - start_addr
6430                print >> output, '  frame #{num}: {addr:#016x} {mod}`{symbol} + {offset}'.format(
6431                    num=i, addr=load_addr, mod=mod_name, symbol=symbol_name, offset=symbol_offset)
6432            else:
6433                # Debug info is available for 'function'.
6434                func_name = frame.GetFunctionName()
6435                file_name = frame.GetLineEntry().GetFileSpec().GetFilename()
6436                line_num = frame.GetLineEntry().GetLine()
6437                print >> output, '  frame #{num}: {addr:#016x} {mod}`{func} at {file}:{line} {args}'.format(
6438                    num=i, addr=load_addr, mod=mod_name,
6439                    func='%s [inlined]' % func_name] if frame.IsInlined() else func_name,
6440                    file=file_name, line=line_num, args=get_args_as_string(frame, showFuncName=False))
6441
6442            ...
6443    """
6444
6445    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6446
6447    def __init__(self, *args):
6448        r"""
6449        __init__(SBFunction self) -> SBFunction
6450        __init__(SBFunction self, SBFunction rhs) -> SBFunction
6451        """
6452        _lldb.SBFunction_swiginit(self, _lldb.new_SBFunction(*args))
6453    __swig_destroy__ = _lldb.delete_SBFunction
6454
6455    def __nonzero__(self):
6456        return _lldb.SBFunction___nonzero__(self)
6457    __bool__ = __nonzero__
6458
6459
6460
6461    def IsValid(self):
6462        r"""IsValid(SBFunction self) -> bool"""
6463        return _lldb.SBFunction_IsValid(self)
6464
6465    def GetName(self):
6466        r"""GetName(SBFunction self) -> char const *"""
6467        return _lldb.SBFunction_GetName(self)
6468
6469    def GetDisplayName(self):
6470        r"""GetDisplayName(SBFunction self) -> char const *"""
6471        return _lldb.SBFunction_GetDisplayName(self)
6472
6473    def GetMangledName(self):
6474        r"""GetMangledName(SBFunction self) -> char const *"""
6475        return _lldb.SBFunction_GetMangledName(self)
6476
6477    def GetInstructions(self, *args):
6478        r"""
6479        GetInstructions(SBFunction self, SBTarget target) -> SBInstructionList
6480        GetInstructions(SBFunction self, SBTarget target, char const * flavor) -> SBInstructionList
6481        """
6482        return _lldb.SBFunction_GetInstructions(self, *args)
6483
6484    def GetStartAddress(self):
6485        r"""GetStartAddress(SBFunction self) -> SBAddress"""
6486        return _lldb.SBFunction_GetStartAddress(self)
6487
6488    def GetEndAddress(self):
6489        r"""GetEndAddress(SBFunction self) -> SBAddress"""
6490        return _lldb.SBFunction_GetEndAddress(self)
6491
6492    def GetArgumentName(self, arg_idx):
6493        r"""GetArgumentName(SBFunction self, uint32_t arg_idx) -> char const *"""
6494        return _lldb.SBFunction_GetArgumentName(self, arg_idx)
6495
6496    def GetPrologueByteSize(self):
6497        r"""GetPrologueByteSize(SBFunction self) -> uint32_t"""
6498        return _lldb.SBFunction_GetPrologueByteSize(self)
6499
6500    def GetType(self):
6501        r"""GetType(SBFunction self) -> SBType"""
6502        return _lldb.SBFunction_GetType(self)
6503
6504    def GetBlock(self):
6505        r"""GetBlock(SBFunction self) -> SBBlock"""
6506        return _lldb.SBFunction_GetBlock(self)
6507
6508    def GetLanguage(self):
6509        r"""GetLanguage(SBFunction self) -> lldb::LanguageType"""
6510        return _lldb.SBFunction_GetLanguage(self)
6511
6512    def GetIsOptimized(self):
6513        r"""
6514        GetIsOptimized(SBFunction self) -> bool
6515
6516            Returns true if the function was compiled with optimization.
6517            Optimization, in this case, is meant to indicate that the debugger
6518            experience may be confusing for the user -- variables optimized away,
6519            stepping jumping between source lines -- and the driver may want to
6520            provide some guidance to the user about this.
6521            Returns false if unoptimized, or unknown.
6522        """
6523        return _lldb.SBFunction_GetIsOptimized(self)
6524
6525    def __eq__(self, rhs):
6526        r"""__eq__(SBFunction self, SBFunction rhs) -> bool"""
6527        return _lldb.SBFunction___eq__(self, rhs)
6528
6529    def __ne__(self, rhs):
6530        r"""__ne__(SBFunction self, SBFunction rhs) -> bool"""
6531        return _lldb.SBFunction___ne__(self, rhs)
6532
6533    def GetDescription(self, description):
6534        r"""GetDescription(SBFunction self, SBStream description) -> bool"""
6535        return _lldb.SBFunction_GetDescription(self, description)
6536
6537    def __repr__(self):
6538        r"""__repr__(SBFunction self) -> std::string"""
6539        return _lldb.SBFunction___repr__(self)
6540
6541            # operator== is a free function, which swig does not handle, so we inject
6542            # our own equality operator here
6543    def __eq__(self, other):
6544        return not self.__ne__(other)
6545
6546    def get_instructions_from_current_target (self):
6547        return self.GetInstructions (target)
6548
6549    addr = property(GetStartAddress, None, doc='''A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this function.''')
6550    end_addr = property(GetEndAddress, None, doc='''A read only property that returns an lldb object that represents the end address (lldb.SBAddress) for this function.''')
6551    block = property(GetBlock, None, doc='''A read only property that returns an lldb object that represents the top level lexical block (lldb.SBBlock) for this function.''')
6552    instructions = property(get_instructions_from_current_target, None, doc='''A read only property that returns an lldb object that represents the instructions (lldb.SBInstructionList) for this function.''')
6553    mangled = property(GetMangledName, None, doc='''A read only property that returns the mangled (linkage) name for this function as a string.''')
6554    name = property(GetName, None, doc='''A read only property that returns the name for this function as a string.''')
6555    prologue_size = property(GetPrologueByteSize, None, doc='''A read only property that returns the size in bytes of the prologue instructions as an unsigned integer.''')
6556    type = property(GetType, None, doc='''A read only property that returns an lldb object that represents the return type (lldb.SBType) for this function.''')
6557
6558
6559    def __eq__(self, rhs):
6560        if not isinstance(rhs, type(self)):
6561            return False
6562
6563        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
6564
6565    def __ne__(self, rhs):
6566        if not isinstance(rhs, type(self)):
6567            return True
6568
6569        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
6570
6571
6572# Register SBFunction in _lldb:
6573_lldb.SBFunction_swigregister(SBFunction)
6574class SBHostOS(object):
6575    r"""Provides information about the host system."""
6576
6577    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6578    __repr__ = _swig_repr
6579
6580    @staticmethod
6581    def GetProgramFileSpec():
6582        r"""GetProgramFileSpec() -> SBFileSpec"""
6583        return _lldb.SBHostOS_GetProgramFileSpec()
6584
6585    @staticmethod
6586    def GetLLDBPythonPath():
6587        r"""GetLLDBPythonPath() -> SBFileSpec"""
6588        return _lldb.SBHostOS_GetLLDBPythonPath()
6589
6590    @staticmethod
6591    def GetLLDBPath(path_type):
6592        r"""GetLLDBPath(lldb::PathType path_type) -> SBFileSpec"""
6593        return _lldb.SBHostOS_GetLLDBPath(path_type)
6594
6595    @staticmethod
6596    def GetUserHomeDirectory():
6597        r"""GetUserHomeDirectory() -> SBFileSpec"""
6598        return _lldb.SBHostOS_GetUserHomeDirectory()
6599
6600    @staticmethod
6601    def ThreadCreated(name):
6602        r"""ThreadCreated(char const * name)"""
6603        return _lldb.SBHostOS_ThreadCreated(name)
6604
6605    @staticmethod
6606    def ThreadCreate(name, thread_function, thread_arg, err):
6607        r"""ThreadCreate(char const * name, lldb::thread_func_t thread_function, void * thread_arg, SBError err) -> lldb::thread_t"""
6608        return _lldb.SBHostOS_ThreadCreate(name, thread_function, thread_arg, err)
6609
6610    @staticmethod
6611    def ThreadCancel(thread, err):
6612        r"""ThreadCancel(lldb::thread_t thread, SBError err) -> bool"""
6613        return _lldb.SBHostOS_ThreadCancel(thread, err)
6614
6615    @staticmethod
6616    def ThreadDetach(thread, err):
6617        r"""ThreadDetach(lldb::thread_t thread, SBError err) -> bool"""
6618        return _lldb.SBHostOS_ThreadDetach(thread, err)
6619
6620    @staticmethod
6621    def ThreadJoin(thread, result, err):
6622        r"""ThreadJoin(lldb::thread_t thread, lldb::thread_result_t * result, SBError err) -> bool"""
6623        return _lldb.SBHostOS_ThreadJoin(thread, result, err)
6624
6625    def __init__(self):
6626        r"""__init__(SBHostOS self) -> SBHostOS"""
6627        _lldb.SBHostOS_swiginit(self, _lldb.new_SBHostOS())
6628    __swig_destroy__ = _lldb.delete_SBHostOS
6629
6630# Register SBHostOS in _lldb:
6631_lldb.SBHostOS_swigregister(SBHostOS)
6632class SBInstruction(object):
6633    r"""Represents a (machine language) instruction."""
6634
6635    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6636
6637    def __init__(self, *args):
6638        r"""
6639        __init__(SBInstruction self) -> SBInstruction
6640        __init__(SBInstruction self, SBInstruction rhs) -> SBInstruction
6641        """
6642        _lldb.SBInstruction_swiginit(self, _lldb.new_SBInstruction(*args))
6643    __swig_destroy__ = _lldb.delete_SBInstruction
6644
6645    def __nonzero__(self):
6646        return _lldb.SBInstruction___nonzero__(self)
6647    __bool__ = __nonzero__
6648
6649
6650
6651    def IsValid(self):
6652        r"""IsValid(SBInstruction self) -> bool"""
6653        return _lldb.SBInstruction_IsValid(self)
6654
6655    def GetAddress(self):
6656        r"""GetAddress(SBInstruction self) -> SBAddress"""
6657        return _lldb.SBInstruction_GetAddress(self)
6658
6659    def GetMnemonic(self, target):
6660        r"""GetMnemonic(SBInstruction self, SBTarget target) -> char const *"""
6661        return _lldb.SBInstruction_GetMnemonic(self, target)
6662
6663    def GetOperands(self, target):
6664        r"""GetOperands(SBInstruction self, SBTarget target) -> char const *"""
6665        return _lldb.SBInstruction_GetOperands(self, target)
6666
6667    def GetComment(self, target):
6668        r"""GetComment(SBInstruction self, SBTarget target) -> char const *"""
6669        return _lldb.SBInstruction_GetComment(self, target)
6670
6671    def GetControlFlowKind(self, target):
6672        r"""GetControlFlowKind(SBInstruction self, SBTarget target) -> lldb::InstructionControlFlowKind"""
6673        return _lldb.SBInstruction_GetControlFlowKind(self, target)
6674
6675    def GetData(self, target):
6676        r"""GetData(SBInstruction self, SBTarget target) -> SBData"""
6677        return _lldb.SBInstruction_GetData(self, target)
6678
6679    def GetByteSize(self):
6680        r"""GetByteSize(SBInstruction self) -> size_t"""
6681        return _lldb.SBInstruction_GetByteSize(self)
6682
6683    def DoesBranch(self):
6684        r"""DoesBranch(SBInstruction self) -> bool"""
6685        return _lldb.SBInstruction_DoesBranch(self)
6686
6687    def HasDelaySlot(self):
6688        r"""HasDelaySlot(SBInstruction self) -> bool"""
6689        return _lldb.SBInstruction_HasDelaySlot(self)
6690
6691    def CanSetBreakpoint(self):
6692        r"""CanSetBreakpoint(SBInstruction self) -> bool"""
6693        return _lldb.SBInstruction_CanSetBreakpoint(self)
6694
6695    def Print(self, *args):
6696        r"""
6697        Print(SBInstruction self, SBFile out)
6698        Print(SBInstruction self, lldb::FileSP BORROWED)
6699        """
6700        return _lldb.SBInstruction_Print(self, *args)
6701
6702    def GetDescription(self, description):
6703        r"""GetDescription(SBInstruction self, SBStream description) -> bool"""
6704        return _lldb.SBInstruction_GetDescription(self, description)
6705
6706    def EmulateWithFrame(self, frame, evaluate_options):
6707        r"""EmulateWithFrame(SBInstruction self, SBFrame frame, uint32_t evaluate_options) -> bool"""
6708        return _lldb.SBInstruction_EmulateWithFrame(self, frame, evaluate_options)
6709
6710    def DumpEmulation(self, triple):
6711        r"""DumpEmulation(SBInstruction self, char const * triple) -> bool"""
6712        return _lldb.SBInstruction_DumpEmulation(self, triple)
6713
6714    def TestEmulation(self, output_stream, test_file):
6715        r"""TestEmulation(SBInstruction self, SBStream output_stream, char const * test_file) -> bool"""
6716        return _lldb.SBInstruction_TestEmulation(self, output_stream, test_file)
6717
6718    def __repr__(self):
6719        r"""__repr__(SBInstruction self) -> std::string"""
6720        return _lldb.SBInstruction___repr__(self)
6721
6722    def __hex__(self):
6723        """ Returns the address of the instruction. """
6724        return self.GetAddress()
6725
6726    def __len__(self):
6727        """ Returns the size of the instruction. """
6728        return self.GetByteSize()
6729
6730    def __mnemonic_property__ (self):
6731        return self.GetMnemonic (target)
6732    def __operands_property__ (self):
6733        return self.GetOperands (target)
6734    def __comment_property__ (self):
6735        return self.GetComment (target)
6736    def __file_addr_property__ (self):
6737        return self.GetAddress ().GetFileAddress()
6738    def __load_adrr_property__ (self):
6739        return self.GetComment (target)
6740
6741    mnemonic = property(__mnemonic_property__, None, doc='''A read only property that returns the mnemonic for this instruction as a string.''')
6742    operands = property(__operands_property__, None, doc='''A read only property that returns the operands for this instruction as a string.''')
6743    comment = property(__comment_property__, None, doc='''A read only property that returns the comment for this instruction as a string.''')
6744    addr = property(GetAddress, None, doc='''A read only property that returns an lldb object that represents the address (lldb.SBAddress) for this instruction.''')
6745    size = property(GetByteSize, None, doc='''A read only property that returns the size in bytes for this instruction as an integer.''')
6746    is_branch = property(DoesBranch, None, doc='''A read only property that returns a boolean value that indicates if this instruction is a branch instruction.''')
6747
6748
6749# Register SBInstruction in _lldb:
6750_lldb.SBInstruction_swigregister(SBInstruction)
6751class SBInstructionList(object):
6752    r"""
6753    Represents a list of machine instructions.  SBFunction and SBSymbol have
6754    GetInstructions() methods which return SBInstructionList instances.
6755
6756    SBInstructionList supports instruction (:py:class:`SBInstruction` instance) iteration.
6757    For example (see also :py:class:`SBDebugger` for a more complete example), ::
6758
6759        def disassemble_instructions (insts):
6760            for i in insts:
6761                print i
6762
6763    defines a function which takes an SBInstructionList instance and prints out
6764    the machine instructions in assembly format.
6765    """
6766
6767    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6768
6769    def __init__(self, *args):
6770        r"""
6771        __init__(SBInstructionList self) -> SBInstructionList
6772        __init__(SBInstructionList self, SBInstructionList rhs) -> SBInstructionList
6773        """
6774        _lldb.SBInstructionList_swiginit(self, _lldb.new_SBInstructionList(*args))
6775    __swig_destroy__ = _lldb.delete_SBInstructionList
6776
6777    def __nonzero__(self):
6778        return _lldb.SBInstructionList___nonzero__(self)
6779    __bool__ = __nonzero__
6780
6781
6782
6783    def IsValid(self):
6784        r"""IsValid(SBInstructionList self) -> bool"""
6785        return _lldb.SBInstructionList_IsValid(self)
6786
6787    def GetSize(self):
6788        r"""GetSize(SBInstructionList self) -> size_t"""
6789        return _lldb.SBInstructionList_GetSize(self)
6790
6791    def GetInstructionAtIndex(self, idx):
6792        r"""GetInstructionAtIndex(SBInstructionList self, uint32_t idx) -> SBInstruction"""
6793        return _lldb.SBInstructionList_GetInstructionAtIndex(self, idx)
6794
6795    def GetInstructionsCount(self, start, end, canSetBreakpoint=False):
6796        r"""GetInstructionsCount(SBInstructionList self, SBAddress start, SBAddress end, bool canSetBreakpoint=False) -> size_t"""
6797        return _lldb.SBInstructionList_GetInstructionsCount(self, start, end, canSetBreakpoint)
6798
6799    def Clear(self):
6800        r"""Clear(SBInstructionList self)"""
6801        return _lldb.SBInstructionList_Clear(self)
6802
6803    def AppendInstruction(self, inst):
6804        r"""AppendInstruction(SBInstructionList self, SBInstruction inst)"""
6805        return _lldb.SBInstructionList_AppendInstruction(self, inst)
6806
6807    def Print(self, *args):
6808        r"""
6809        Print(SBInstructionList self, SBFile out)
6810        Print(SBInstructionList self, lldb::FileSP BORROWED)
6811        """
6812        return _lldb.SBInstructionList_Print(self, *args)
6813
6814    def GetDescription(self, description):
6815        r"""GetDescription(SBInstructionList self, SBStream description) -> bool"""
6816        return _lldb.SBInstructionList_GetDescription(self, description)
6817
6818    def DumpEmulationForAllInstructions(self, triple):
6819        r"""DumpEmulationForAllInstructions(SBInstructionList self, char const * triple) -> bool"""
6820        return _lldb.SBInstructionList_DumpEmulationForAllInstructions(self, triple)
6821
6822    def __repr__(self):
6823        r"""__repr__(SBInstructionList self) -> std::string"""
6824        return _lldb.SBInstructionList___repr__(self)
6825
6826    def __iter__(self):
6827        '''Iterate over all instructions in a lldb.SBInstructionList
6828        object.'''
6829        return lldb_iter(self, 'GetSize', 'GetInstructionAtIndex')
6830
6831    def __len__(self):
6832        '''Access len of the instruction list.'''
6833        return int(self.GetSize())
6834
6835    def __getitem__(self, key):
6836        '''Access instructions by integer index for array access or by lldb.SBAddress to find an instruction that matches a section offset address object.'''
6837        if type(key) is int:
6838    # Find an instruction by index
6839            count = len(self)
6840            if -count <= key < count:
6841                key %= count
6842                return self.GetInstructionAtIndex(key)
6843        elif type(key) is SBAddress:
6844    # Find an instruction using a lldb.SBAddress object
6845            lookup_file_addr = key.file_addr
6846            closest_inst = None
6847            for idx in range(self.GetSize()):
6848                inst = self.GetInstructionAtIndex(idx)
6849                inst_file_addr = inst.addr.file_addr
6850                if inst_file_addr == lookup_file_addr:
6851                    return inst
6852                elif inst_file_addr > lookup_file_addr:
6853                    return closest_inst
6854                else:
6855                    closest_inst = inst
6856        return None
6857
6858
6859# Register SBInstructionList in _lldb:
6860_lldb.SBInstructionList_swigregister(SBInstructionList)
6861class SBLanguageRuntime(object):
6862    r"""Utility functions for :ref:`LanguageType`"""
6863
6864    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6865    __repr__ = _swig_repr
6866
6867    @staticmethod
6868    def GetLanguageTypeFromString(string):
6869        r"""GetLanguageTypeFromString(char const * string) -> lldb::LanguageType"""
6870        return _lldb.SBLanguageRuntime_GetLanguageTypeFromString(string)
6871
6872    @staticmethod
6873    def GetNameForLanguageType(language):
6874        r"""GetNameForLanguageType(lldb::LanguageType language) -> char const *"""
6875        return _lldb.SBLanguageRuntime_GetNameForLanguageType(language)
6876
6877    def __init__(self):
6878        r"""__init__(SBLanguageRuntime self) -> SBLanguageRuntime"""
6879        _lldb.SBLanguageRuntime_swiginit(self, _lldb.new_SBLanguageRuntime())
6880    __swig_destroy__ = _lldb.delete_SBLanguageRuntime
6881
6882# Register SBLanguageRuntime in _lldb:
6883_lldb.SBLanguageRuntime_swigregister(SBLanguageRuntime)
6884class SBLaunchInfo(object):
6885    r"""Describes how a target or program should be launched."""
6886
6887    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6888    __repr__ = _swig_repr
6889
6890    def __init__(self, argv):
6891        r"""__init__(SBLaunchInfo self, char const ** argv) -> SBLaunchInfo"""
6892        _lldb.SBLaunchInfo_swiginit(self, _lldb.new_SBLaunchInfo(argv))
6893    __swig_destroy__ = _lldb.delete_SBLaunchInfo
6894
6895    def GetProcessID(self):
6896        r"""GetProcessID(SBLaunchInfo self) -> lldb::pid_t"""
6897        return _lldb.SBLaunchInfo_GetProcessID(self)
6898
6899    def GetUserID(self):
6900        r"""GetUserID(SBLaunchInfo self) -> uint32_t"""
6901        return _lldb.SBLaunchInfo_GetUserID(self)
6902
6903    def GetGroupID(self):
6904        r"""GetGroupID(SBLaunchInfo self) -> uint32_t"""
6905        return _lldb.SBLaunchInfo_GetGroupID(self)
6906
6907    def UserIDIsValid(self):
6908        r"""UserIDIsValid(SBLaunchInfo self) -> bool"""
6909        return _lldb.SBLaunchInfo_UserIDIsValid(self)
6910
6911    def GroupIDIsValid(self):
6912        r"""GroupIDIsValid(SBLaunchInfo self) -> bool"""
6913        return _lldb.SBLaunchInfo_GroupIDIsValid(self)
6914
6915    def SetUserID(self, uid):
6916        r"""SetUserID(SBLaunchInfo self, uint32_t uid)"""
6917        return _lldb.SBLaunchInfo_SetUserID(self, uid)
6918
6919    def SetGroupID(self, gid):
6920        r"""SetGroupID(SBLaunchInfo self, uint32_t gid)"""
6921        return _lldb.SBLaunchInfo_SetGroupID(self, gid)
6922
6923    def GetExecutableFile(self):
6924        r"""GetExecutableFile(SBLaunchInfo self) -> SBFileSpec"""
6925        return _lldb.SBLaunchInfo_GetExecutableFile(self)
6926
6927    def SetExecutableFile(self, exe_file, add_as_first_arg):
6928        r"""SetExecutableFile(SBLaunchInfo self, SBFileSpec exe_file, bool add_as_first_arg)"""
6929        return _lldb.SBLaunchInfo_SetExecutableFile(self, exe_file, add_as_first_arg)
6930
6931    def GetListener(self):
6932        r"""GetListener(SBLaunchInfo self) -> SBListener"""
6933        return _lldb.SBLaunchInfo_GetListener(self)
6934
6935    def SetListener(self, listener):
6936        r"""SetListener(SBLaunchInfo self, SBListener listener)"""
6937        return _lldb.SBLaunchInfo_SetListener(self, listener)
6938
6939    def GetShadowListener(self):
6940        r"""GetShadowListener(SBLaunchInfo self) -> SBListener"""
6941        return _lldb.SBLaunchInfo_GetShadowListener(self)
6942
6943    def SetShadowListener(self, listener):
6944        r"""SetShadowListener(SBLaunchInfo self, SBListener listener)"""
6945        return _lldb.SBLaunchInfo_SetShadowListener(self, listener)
6946
6947    def GetNumArguments(self):
6948        r"""GetNumArguments(SBLaunchInfo self) -> uint32_t"""
6949        return _lldb.SBLaunchInfo_GetNumArguments(self)
6950
6951    def GetArgumentAtIndex(self, idx):
6952        r"""GetArgumentAtIndex(SBLaunchInfo self, uint32_t idx) -> char const *"""
6953        return _lldb.SBLaunchInfo_GetArgumentAtIndex(self, idx)
6954
6955    def SetArguments(self, argv, append):
6956        r"""SetArguments(SBLaunchInfo self, char const ** argv, bool append)"""
6957        return _lldb.SBLaunchInfo_SetArguments(self, argv, append)
6958
6959    def GetNumEnvironmentEntries(self):
6960        r"""GetNumEnvironmentEntries(SBLaunchInfo self) -> uint32_t"""
6961        return _lldb.SBLaunchInfo_GetNumEnvironmentEntries(self)
6962
6963    def GetEnvironmentEntryAtIndex(self, idx):
6964        r"""GetEnvironmentEntryAtIndex(SBLaunchInfo self, uint32_t idx) -> char const *"""
6965        return _lldb.SBLaunchInfo_GetEnvironmentEntryAtIndex(self, idx)
6966
6967    def SetEnvironmentEntries(self, envp, append):
6968        r"""SetEnvironmentEntries(SBLaunchInfo self, char const ** envp, bool append)"""
6969        return _lldb.SBLaunchInfo_SetEnvironmentEntries(self, envp, append)
6970
6971    def SetEnvironment(self, env, append):
6972        r"""SetEnvironment(SBLaunchInfo self, SBEnvironment env, bool append)"""
6973        return _lldb.SBLaunchInfo_SetEnvironment(self, env, append)
6974
6975    def GetEnvironment(self):
6976        r"""GetEnvironment(SBLaunchInfo self) -> SBEnvironment"""
6977        return _lldb.SBLaunchInfo_GetEnvironment(self)
6978
6979    def Clear(self):
6980        r"""Clear(SBLaunchInfo self)"""
6981        return _lldb.SBLaunchInfo_Clear(self)
6982
6983    def GetWorkingDirectory(self):
6984        r"""GetWorkingDirectory(SBLaunchInfo self) -> char const *"""
6985        return _lldb.SBLaunchInfo_GetWorkingDirectory(self)
6986
6987    def SetWorkingDirectory(self, working_dir):
6988        r"""SetWorkingDirectory(SBLaunchInfo self, char const * working_dir)"""
6989        return _lldb.SBLaunchInfo_SetWorkingDirectory(self, working_dir)
6990
6991    def GetLaunchFlags(self):
6992        r"""GetLaunchFlags(SBLaunchInfo self) -> uint32_t"""
6993        return _lldb.SBLaunchInfo_GetLaunchFlags(self)
6994
6995    def SetLaunchFlags(self, flags):
6996        r"""SetLaunchFlags(SBLaunchInfo self, uint32_t flags)"""
6997        return _lldb.SBLaunchInfo_SetLaunchFlags(self, flags)
6998
6999    def GetProcessPluginName(self):
7000        r"""GetProcessPluginName(SBLaunchInfo self) -> char const *"""
7001        return _lldb.SBLaunchInfo_GetProcessPluginName(self)
7002
7003    def SetProcessPluginName(self, plugin_name):
7004        r"""SetProcessPluginName(SBLaunchInfo self, char const * plugin_name)"""
7005        return _lldb.SBLaunchInfo_SetProcessPluginName(self, plugin_name)
7006
7007    def GetShell(self):
7008        r"""GetShell(SBLaunchInfo self) -> char const *"""
7009        return _lldb.SBLaunchInfo_GetShell(self)
7010
7011    def SetShell(self, path):
7012        r"""SetShell(SBLaunchInfo self, char const * path)"""
7013        return _lldb.SBLaunchInfo_SetShell(self, path)
7014
7015    def GetShellExpandArguments(self):
7016        r"""GetShellExpandArguments(SBLaunchInfo self) -> bool"""
7017        return _lldb.SBLaunchInfo_GetShellExpandArguments(self)
7018
7019    def SetShellExpandArguments(self, expand):
7020        r"""SetShellExpandArguments(SBLaunchInfo self, bool expand)"""
7021        return _lldb.SBLaunchInfo_SetShellExpandArguments(self, expand)
7022
7023    def GetResumeCount(self):
7024        r"""GetResumeCount(SBLaunchInfo self) -> uint32_t"""
7025        return _lldb.SBLaunchInfo_GetResumeCount(self)
7026
7027    def SetResumeCount(self, c):
7028        r"""SetResumeCount(SBLaunchInfo self, uint32_t c)"""
7029        return _lldb.SBLaunchInfo_SetResumeCount(self, c)
7030
7031    def AddCloseFileAction(self, fd):
7032        r"""AddCloseFileAction(SBLaunchInfo self, int fd) -> bool"""
7033        return _lldb.SBLaunchInfo_AddCloseFileAction(self, fd)
7034
7035    def AddDuplicateFileAction(self, fd, dup_fd):
7036        r"""AddDuplicateFileAction(SBLaunchInfo self, int fd, int dup_fd) -> bool"""
7037        return _lldb.SBLaunchInfo_AddDuplicateFileAction(self, fd, dup_fd)
7038
7039    def AddOpenFileAction(self, fd, path, read, write):
7040        r"""AddOpenFileAction(SBLaunchInfo self, int fd, char const * path, bool read, bool write) -> bool"""
7041        return _lldb.SBLaunchInfo_AddOpenFileAction(self, fd, path, read, write)
7042
7043    def AddSuppressFileAction(self, fd, read, write):
7044        r"""AddSuppressFileAction(SBLaunchInfo self, int fd, bool read, bool write) -> bool"""
7045        return _lldb.SBLaunchInfo_AddSuppressFileAction(self, fd, read, write)
7046
7047    def SetLaunchEventData(self, data):
7048        r"""SetLaunchEventData(SBLaunchInfo self, char const * data)"""
7049        return _lldb.SBLaunchInfo_SetLaunchEventData(self, data)
7050
7051    def GetLaunchEventData(self):
7052        r"""GetLaunchEventData(SBLaunchInfo self) -> char const *"""
7053        return _lldb.SBLaunchInfo_GetLaunchEventData(self)
7054
7055    def GetDetachOnError(self):
7056        r"""GetDetachOnError(SBLaunchInfo self) -> bool"""
7057        return _lldb.SBLaunchInfo_GetDetachOnError(self)
7058
7059    def SetDetachOnError(self, enable):
7060        r"""SetDetachOnError(SBLaunchInfo self, bool enable)"""
7061        return _lldb.SBLaunchInfo_SetDetachOnError(self, enable)
7062
7063    def GetScriptedProcessClassName(self):
7064        r"""GetScriptedProcessClassName(SBLaunchInfo self) -> char const *"""
7065        return _lldb.SBLaunchInfo_GetScriptedProcessClassName(self)
7066
7067    def SetScriptedProcessClassName(self, class_name):
7068        r"""SetScriptedProcessClassName(SBLaunchInfo self, char const * class_name)"""
7069        return _lldb.SBLaunchInfo_SetScriptedProcessClassName(self, class_name)
7070
7071    def GetScriptedProcessDictionary(self):
7072        r"""GetScriptedProcessDictionary(SBLaunchInfo self) -> SBStructuredData"""
7073        return _lldb.SBLaunchInfo_GetScriptedProcessDictionary(self)
7074
7075    def SetScriptedProcessDictionary(self, dict):
7076        r"""SetScriptedProcessDictionary(SBLaunchInfo self, SBStructuredData dict)"""
7077        return _lldb.SBLaunchInfo_SetScriptedProcessDictionary(self, dict)
7078
7079# Register SBLaunchInfo in _lldb:
7080_lldb.SBLaunchInfo_swigregister(SBLaunchInfo)
7081class SBLineEntry(object):
7082    r"""
7083    Specifies an association with a contiguous range of instructions and
7084    a source file location.
7085
7086    :py:class:`SBCompileUnit` contains SBLineEntry(s). For example, ::
7087
7088        for lineEntry in compileUnit:
7089            print('line entry: %s:%d' % (str(lineEntry.GetFileSpec()),
7090                                        lineEntry.GetLine()))
7091            print('start addr: %s' % str(lineEntry.GetStartAddress()))
7092            print('end   addr: %s' % str(lineEntry.GetEndAddress()))
7093
7094    produces: ::
7095
7096        line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:20
7097        start addr: a.out[0x100000d98]
7098        end   addr: a.out[0x100000da3]
7099        line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:21
7100        start addr: a.out[0x100000da3]
7101        end   addr: a.out[0x100000da9]
7102        line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:22
7103        start addr: a.out[0x100000da9]
7104        end   addr: a.out[0x100000db6]
7105        line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:23
7106        start addr: a.out[0x100000db6]
7107        end   addr: a.out[0x100000dbc]
7108        ...
7109
7110    See also :py:class:`SBCompileUnit` .
7111    """
7112
7113    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7114
7115    def __init__(self, *args):
7116        r"""
7117        __init__(SBLineEntry self) -> SBLineEntry
7118        __init__(SBLineEntry self, SBLineEntry rhs) -> SBLineEntry
7119        """
7120        _lldb.SBLineEntry_swiginit(self, _lldb.new_SBLineEntry(*args))
7121    __swig_destroy__ = _lldb.delete_SBLineEntry
7122
7123    def GetStartAddress(self):
7124        r"""GetStartAddress(SBLineEntry self) -> SBAddress"""
7125        return _lldb.SBLineEntry_GetStartAddress(self)
7126
7127    def GetEndAddress(self):
7128        r"""GetEndAddress(SBLineEntry self) -> SBAddress"""
7129        return _lldb.SBLineEntry_GetEndAddress(self)
7130
7131    def GetSameLineContiguousAddressRangeEnd(self, include_inlined_functions):
7132        r"""GetSameLineContiguousAddressRangeEnd(SBLineEntry self, bool include_inlined_functions) -> SBAddress"""
7133        return _lldb.SBLineEntry_GetSameLineContiguousAddressRangeEnd(self, include_inlined_functions)
7134
7135    def __nonzero__(self):
7136        return _lldb.SBLineEntry___nonzero__(self)
7137    __bool__ = __nonzero__
7138
7139
7140
7141    def IsValid(self):
7142        r"""IsValid(SBLineEntry self) -> bool"""
7143        return _lldb.SBLineEntry_IsValid(self)
7144
7145    def GetFileSpec(self):
7146        r"""GetFileSpec(SBLineEntry self) -> SBFileSpec"""
7147        return _lldb.SBLineEntry_GetFileSpec(self)
7148
7149    def GetLine(self):
7150        r"""GetLine(SBLineEntry self) -> uint32_t"""
7151        return _lldb.SBLineEntry_GetLine(self)
7152
7153    def GetColumn(self):
7154        r"""GetColumn(SBLineEntry self) -> uint32_t"""
7155        return _lldb.SBLineEntry_GetColumn(self)
7156
7157    def SetFileSpec(self, filespec):
7158        r"""SetFileSpec(SBLineEntry self, SBFileSpec filespec)"""
7159        return _lldb.SBLineEntry_SetFileSpec(self, filespec)
7160
7161    def SetLine(self, line):
7162        r"""SetLine(SBLineEntry self, uint32_t line)"""
7163        return _lldb.SBLineEntry_SetLine(self, line)
7164
7165    def SetColumn(self, column):
7166        r"""SetColumn(SBLineEntry self, uint32_t column)"""
7167        return _lldb.SBLineEntry_SetColumn(self, column)
7168
7169    def __eq__(self, rhs):
7170        r"""__eq__(SBLineEntry self, SBLineEntry rhs) -> bool"""
7171        return _lldb.SBLineEntry___eq__(self, rhs)
7172
7173    def __ne__(self, rhs):
7174        r"""__ne__(SBLineEntry self, SBLineEntry rhs) -> bool"""
7175        return _lldb.SBLineEntry___ne__(self, rhs)
7176
7177    def GetDescription(self, description):
7178        r"""GetDescription(SBLineEntry self, SBStream description) -> bool"""
7179        return _lldb.SBLineEntry_GetDescription(self, description)
7180
7181    def __repr__(self):
7182        r"""__repr__(SBLineEntry self) -> std::string"""
7183        return _lldb.SBLineEntry___repr__(self)
7184
7185            # operator== is a free function, which swig does not handle, so we inject
7186            # our own equality operator here
7187    def __eq__(self, other):
7188        return not self.__ne__(other)
7189
7190    def __int__(self):
7191        return self.GetLine()
7192
7193    def __hex__(self):
7194        return self.GetStartAddress()
7195    file = property(GetFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this line entry.''')
7196    line = property(GetLine, None, doc='''A read only property that returns the 1 based line number for this line entry, a return value of zero indicates that no line information is available.''')
7197    column = property(GetColumn, None, doc='''A read only property that returns the 1 based column number for this line entry, a return value of zero indicates that no column information is available.''')
7198    addr = property(GetStartAddress, None, doc='''A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this line entry.''')
7199    end_addr = property(GetEndAddress, None, doc='''A read only property that returns an lldb object that represents the end address (lldb.SBAddress) for this line entry.''')
7200
7201
7202    def __eq__(self, rhs):
7203        if not isinstance(rhs, type(self)):
7204            return False
7205
7206        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
7207
7208    def __ne__(self, rhs):
7209        if not isinstance(rhs, type(self)):
7210            return True
7211
7212        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
7213
7214
7215# Register SBLineEntry in _lldb:
7216_lldb.SBLineEntry_swigregister(SBLineEntry)
7217class SBListener(object):
7218    r"""
7219    API clients can register its own listener to debugger events.
7220
7221    See also :py:class:`SBEvent` for example usage of creating and adding a listener.
7222    """
7223
7224    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7225    __repr__ = _swig_repr
7226
7227    def __init__(self, *args):
7228        r"""
7229        __init__(SBListener self) -> SBListener
7230        __init__(SBListener self, char const * name) -> SBListener
7231        __init__(SBListener self, SBListener rhs) -> SBListener
7232        """
7233        _lldb.SBListener_swiginit(self, _lldb.new_SBListener(*args))
7234    __swig_destroy__ = _lldb.delete_SBListener
7235
7236    def AddEvent(self, event):
7237        r"""AddEvent(SBListener self, SBEvent event)"""
7238        return _lldb.SBListener_AddEvent(self, event)
7239
7240    def Clear(self):
7241        r"""Clear(SBListener self)"""
7242        return _lldb.SBListener_Clear(self)
7243
7244    def __nonzero__(self):
7245        return _lldb.SBListener___nonzero__(self)
7246    __bool__ = __nonzero__
7247
7248
7249
7250    def IsValid(self):
7251        r"""IsValid(SBListener self) -> bool"""
7252        return _lldb.SBListener_IsValid(self)
7253
7254    def StartListeningForEventClass(self, debugger, broadcaster_class, event_mask):
7255        r"""StartListeningForEventClass(SBListener self, SBDebugger debugger, char const * broadcaster_class, uint32_t event_mask) -> uint32_t"""
7256        return _lldb.SBListener_StartListeningForEventClass(self, debugger, broadcaster_class, event_mask)
7257
7258    def StopListeningForEventClass(self, debugger, broadcaster_class, event_mask):
7259        r"""StopListeningForEventClass(SBListener self, SBDebugger debugger, char const * broadcaster_class, uint32_t event_mask) -> bool"""
7260        return _lldb.SBListener_StopListeningForEventClass(self, debugger, broadcaster_class, event_mask)
7261
7262    def StartListeningForEvents(self, broadcaster, event_mask):
7263        r"""StartListeningForEvents(SBListener self, SBBroadcaster broadcaster, uint32_t event_mask) -> uint32_t"""
7264        return _lldb.SBListener_StartListeningForEvents(self, broadcaster, event_mask)
7265
7266    def StopListeningForEvents(self, broadcaster, event_mask):
7267        r"""StopListeningForEvents(SBListener self, SBBroadcaster broadcaster, uint32_t event_mask) -> bool"""
7268        return _lldb.SBListener_StopListeningForEvents(self, broadcaster, event_mask)
7269
7270    def WaitForEvent(self, num_seconds, event):
7271        r"""WaitForEvent(SBListener self, uint32_t num_seconds, SBEvent event) -> bool"""
7272        return _lldb.SBListener_WaitForEvent(self, num_seconds, event)
7273
7274    def WaitForEventForBroadcaster(self, num_seconds, broadcaster, sb_event):
7275        r"""WaitForEventForBroadcaster(SBListener self, uint32_t num_seconds, SBBroadcaster broadcaster, SBEvent sb_event) -> bool"""
7276        return _lldb.SBListener_WaitForEventForBroadcaster(self, num_seconds, broadcaster, sb_event)
7277
7278    def WaitForEventForBroadcasterWithType(self, num_seconds, broadcaster, event_type_mask, sb_event):
7279        r"""WaitForEventForBroadcasterWithType(SBListener self, uint32_t num_seconds, SBBroadcaster broadcaster, uint32_t event_type_mask, SBEvent sb_event) -> bool"""
7280        return _lldb.SBListener_WaitForEventForBroadcasterWithType(self, num_seconds, broadcaster, event_type_mask, sb_event)
7281
7282    def PeekAtNextEvent(self, sb_event):
7283        r"""PeekAtNextEvent(SBListener self, SBEvent sb_event) -> bool"""
7284        return _lldb.SBListener_PeekAtNextEvent(self, sb_event)
7285
7286    def PeekAtNextEventForBroadcaster(self, broadcaster, sb_event):
7287        r"""PeekAtNextEventForBroadcaster(SBListener self, SBBroadcaster broadcaster, SBEvent sb_event) -> bool"""
7288        return _lldb.SBListener_PeekAtNextEventForBroadcaster(self, broadcaster, sb_event)
7289
7290    def PeekAtNextEventForBroadcasterWithType(self, broadcaster, event_type_mask, sb_event):
7291        r"""PeekAtNextEventForBroadcasterWithType(SBListener self, SBBroadcaster broadcaster, uint32_t event_type_mask, SBEvent sb_event) -> bool"""
7292        return _lldb.SBListener_PeekAtNextEventForBroadcasterWithType(self, broadcaster, event_type_mask, sb_event)
7293
7294    def GetNextEvent(self, sb_event):
7295        r"""GetNextEvent(SBListener self, SBEvent sb_event) -> bool"""
7296        return _lldb.SBListener_GetNextEvent(self, sb_event)
7297
7298    def GetNextEventForBroadcaster(self, broadcaster, sb_event):
7299        r"""GetNextEventForBroadcaster(SBListener self, SBBroadcaster broadcaster, SBEvent sb_event) -> bool"""
7300        return _lldb.SBListener_GetNextEventForBroadcaster(self, broadcaster, sb_event)
7301
7302    def GetNextEventForBroadcasterWithType(self, broadcaster, event_type_mask, sb_event):
7303        r"""GetNextEventForBroadcasterWithType(SBListener self, SBBroadcaster broadcaster, uint32_t event_type_mask, SBEvent sb_event) -> bool"""
7304        return _lldb.SBListener_GetNextEventForBroadcasterWithType(self, broadcaster, event_type_mask, sb_event)
7305
7306    def HandleBroadcastEvent(self, event):
7307        r"""HandleBroadcastEvent(SBListener self, SBEvent event) -> bool"""
7308        return _lldb.SBListener_HandleBroadcastEvent(self, event)
7309
7310# Register SBListener in _lldb:
7311_lldb.SBListener_swigregister(SBListener)
7312class SBMemoryRegionInfo(object):
7313    r"""API clients can get information about memory regions in processes."""
7314
7315    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7316
7317    def __init__(self, *args):
7318        r"""
7319        __init__(SBMemoryRegionInfo self) -> SBMemoryRegionInfo
7320        __init__(SBMemoryRegionInfo self, SBMemoryRegionInfo rhs) -> SBMemoryRegionInfo
7321        __init__(SBMemoryRegionInfo self, char const * name, lldb::addr_t begin, lldb::addr_t end, uint32_t permissions, bool mapped, bool stack_memory=False) -> SBMemoryRegionInfo
7322        """
7323        _lldb.SBMemoryRegionInfo_swiginit(self, _lldb.new_SBMemoryRegionInfo(*args))
7324    __swig_destroy__ = _lldb.delete_SBMemoryRegionInfo
7325
7326    def Clear(self):
7327        r"""Clear(SBMemoryRegionInfo self)"""
7328        return _lldb.SBMemoryRegionInfo_Clear(self)
7329
7330    def GetRegionBase(self):
7331        r"""GetRegionBase(SBMemoryRegionInfo self) -> lldb::addr_t"""
7332        return _lldb.SBMemoryRegionInfo_GetRegionBase(self)
7333
7334    def GetRegionEnd(self):
7335        r"""GetRegionEnd(SBMemoryRegionInfo self) -> lldb::addr_t"""
7336        return _lldb.SBMemoryRegionInfo_GetRegionEnd(self)
7337
7338    def IsReadable(self):
7339        r"""IsReadable(SBMemoryRegionInfo self) -> bool"""
7340        return _lldb.SBMemoryRegionInfo_IsReadable(self)
7341
7342    def IsWritable(self):
7343        r"""IsWritable(SBMemoryRegionInfo self) -> bool"""
7344        return _lldb.SBMemoryRegionInfo_IsWritable(self)
7345
7346    def IsExecutable(self):
7347        r"""IsExecutable(SBMemoryRegionInfo self) -> bool"""
7348        return _lldb.SBMemoryRegionInfo_IsExecutable(self)
7349
7350    def IsMapped(self):
7351        r"""IsMapped(SBMemoryRegionInfo self) -> bool"""
7352        return _lldb.SBMemoryRegionInfo_IsMapped(self)
7353
7354    def GetName(self):
7355        r"""GetName(SBMemoryRegionInfo self) -> char const *"""
7356        return _lldb.SBMemoryRegionInfo_GetName(self)
7357
7358    def HasDirtyMemoryPageList(self):
7359        r"""
7360        HasDirtyMemoryPageList(SBMemoryRegionInfo self) -> bool
7361
7362                Returns whether this memory region has a list of modified (dirty)
7363                pages available or not.  When calling GetNumDirtyPages(), you will
7364                have 0 returned for both "dirty page list is not known" and
7365                "empty dirty page list" (that is, no modified pages in this
7366                memory region).  You must use this method to disambiguate.
7367        """
7368        return _lldb.SBMemoryRegionInfo_HasDirtyMemoryPageList(self)
7369
7370    def GetNumDirtyPages(self):
7371        r"""
7372        GetNumDirtyPages(SBMemoryRegionInfo self) -> uint32_t
7373
7374                Return the number of dirty (modified) memory pages in this
7375                memory region, if available.  You must use the
7376                SBMemoryRegionInfo::HasDirtyMemoryPageList() method to
7377                determine if a dirty memory list is available; it will depend
7378                on the target system can provide this information.
7379        """
7380        return _lldb.SBMemoryRegionInfo_GetNumDirtyPages(self)
7381
7382    def GetDirtyPageAddressAtIndex(self, idx):
7383        r"""
7384        GetDirtyPageAddressAtIndex(SBMemoryRegionInfo self, uint32_t idx) -> lldb::addr_t
7385
7386                Return the address of a modified, or dirty, page of memory.
7387                If the provided index is out of range, or this memory region
7388                does not have dirty page information, LLDB_INVALID_ADDRESS
7389                is returned.
7390        """
7391        return _lldb.SBMemoryRegionInfo_GetDirtyPageAddressAtIndex(self, idx)
7392
7393    def GetPageSize(self):
7394        r"""
7395        GetPageSize(SBMemoryRegionInfo self) -> int
7396
7397                Return the size of pages in this memory region.  0 will be returned
7398                if this information was unavailable.
7399        """
7400        return _lldb.SBMemoryRegionInfo_GetPageSize(self)
7401
7402    def __eq__(self, rhs):
7403        r"""__eq__(SBMemoryRegionInfo self, SBMemoryRegionInfo rhs) -> bool"""
7404        return _lldb.SBMemoryRegionInfo___eq__(self, rhs)
7405
7406    def __ne__(self, rhs):
7407        r"""__ne__(SBMemoryRegionInfo self, SBMemoryRegionInfo rhs) -> bool"""
7408        return _lldb.SBMemoryRegionInfo___ne__(self, rhs)
7409
7410    def GetDescription(self, description):
7411        r"""GetDescription(SBMemoryRegionInfo self, SBStream description) -> bool"""
7412        return _lldb.SBMemoryRegionInfo_GetDescription(self, description)
7413
7414    def __repr__(self):
7415        r"""__repr__(SBMemoryRegionInfo self) -> std::string"""
7416        return _lldb.SBMemoryRegionInfo___repr__(self)
7417
7418        # operator== is a free function, which swig does not handle, so we inject
7419        # our own equality operator here
7420    def __eq__(self, other):
7421      return not self.__ne__(other)
7422
7423    def __hex__(self):
7424      return self.GetRegionBase()
7425
7426    def __len__(self):
7427      return self.GetRegionEnd() - self.GetRegionBase()
7428
7429
7430# Register SBMemoryRegionInfo in _lldb:
7431_lldb.SBMemoryRegionInfo_swigregister(SBMemoryRegionInfo)
7432class SBMemoryRegionInfoList(object):
7433    r"""Represents a list of :py:class:`SBMemoryRegionInfo`."""
7434
7435    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7436    __repr__ = _swig_repr
7437
7438    def __init__(self, *args):
7439        r"""
7440        __init__(SBMemoryRegionInfoList self) -> SBMemoryRegionInfoList
7441        __init__(SBMemoryRegionInfoList self, SBMemoryRegionInfoList rhs) -> SBMemoryRegionInfoList
7442        """
7443        _lldb.SBMemoryRegionInfoList_swiginit(self, _lldb.new_SBMemoryRegionInfoList(*args))
7444    __swig_destroy__ = _lldb.delete_SBMemoryRegionInfoList
7445
7446    def GetSize(self):
7447        r"""GetSize(SBMemoryRegionInfoList self) -> uint32_t"""
7448        return _lldb.SBMemoryRegionInfoList_GetSize(self)
7449
7450    def GetMemoryRegionContainingAddress(self, addr, region_info):
7451        r"""GetMemoryRegionContainingAddress(SBMemoryRegionInfoList self, lldb::addr_t addr, SBMemoryRegionInfo region_info) -> bool"""
7452        return _lldb.SBMemoryRegionInfoList_GetMemoryRegionContainingAddress(self, addr, region_info)
7453
7454    def GetMemoryRegionAtIndex(self, idx, region_info):
7455        r"""GetMemoryRegionAtIndex(SBMemoryRegionInfoList self, uint32_t idx, SBMemoryRegionInfo region_info) -> bool"""
7456        return _lldb.SBMemoryRegionInfoList_GetMemoryRegionAtIndex(self, idx, region_info)
7457
7458    def Append(self, *args):
7459        r"""
7460        Append(SBMemoryRegionInfoList self, SBMemoryRegionInfo region)
7461        Append(SBMemoryRegionInfoList self, SBMemoryRegionInfoList region_list)
7462        """
7463        return _lldb.SBMemoryRegionInfoList_Append(self, *args)
7464
7465    def Clear(self):
7466        r"""Clear(SBMemoryRegionInfoList self)"""
7467        return _lldb.SBMemoryRegionInfoList_Clear(self)
7468
7469    def __len__(self):
7470      '''Return the number of memory region info in a lldb.SBMemoryRegionInfoList object.'''
7471      return self.GetSize()
7472
7473    def __iter__(self):
7474      '''Iterate over all the memory regions in a lldb.SBMemoryRegionInfoList object.'''
7475      return lldb_iter(self, 'GetSize', 'GetMemoryRegionAtIndex')
7476
7477
7478# Register SBMemoryRegionInfoList in _lldb:
7479_lldb.SBMemoryRegionInfoList_swigregister(SBMemoryRegionInfoList)
7480class SBModule(object):
7481    r"""
7482    Represents an executable image and its associated object and symbol files.
7483
7484    The module is designed to be able to select a single slice of an
7485    executable image as it would appear on disk and during program
7486    execution.
7487
7488    You can retrieve SBModule from :py:class:`SBSymbolContext` , which in turn is available
7489    from SBFrame.
7490
7491    SBModule supports symbol iteration, for example, ::
7492
7493        for symbol in module:
7494            name = symbol.GetName()
7495            saddr = symbol.GetStartAddress()
7496            eaddr = symbol.GetEndAddress()
7497
7498    and rich comparison methods which allow the API program to use, ::
7499
7500        if thisModule == thatModule:
7501            print('This module is the same as that module')
7502
7503    to test module equality.  A module also contains object file sections, namely
7504    :py:class:`SBSection` .  SBModule supports section iteration through section_iter(), for
7505    example, ::
7506
7507        print('Number of sections: %d' % module.GetNumSections())
7508        for sec in module.section_iter():
7509            print(sec)
7510
7511    And to iterate the symbols within a SBSection, use symbol_in_section_iter(), ::
7512
7513        # Iterates the text section and prints each symbols within each sub-section.
7514        for subsec in text_sec:
7515            print(INDENT + repr(subsec))
7516            for sym in exe_module.symbol_in_section_iter(subsec):
7517                print(INDENT2 + repr(sym))
7518                print(INDENT2 + 'symbol type: %s' % symbol_type_to_str(sym.GetType()))
7519
7520    produces this following output: ::
7521
7522        [0x0000000100001780-0x0000000100001d5c) a.out.__TEXT.__text
7523            id = {0x00000004}, name = 'mask_access(MaskAction, unsigned int)', range = [0x00000001000017c0-0x0000000100001870)
7524            symbol type: code
7525            id = {0x00000008}, name = 'thread_func(void*)', range = [0x0000000100001870-0x00000001000019b0)
7526            symbol type: code
7527            id = {0x0000000c}, name = 'main', range = [0x00000001000019b0-0x0000000100001d5c)
7528            symbol type: code
7529            id = {0x00000023}, name = 'start', address = 0x0000000100001780
7530            symbol type: code
7531        [0x0000000100001d5c-0x0000000100001da4) a.out.__TEXT.__stubs
7532            id = {0x00000024}, name = '__stack_chk_fail', range = [0x0000000100001d5c-0x0000000100001d62)
7533            symbol type: trampoline
7534            id = {0x00000028}, name = 'exit', range = [0x0000000100001d62-0x0000000100001d68)
7535            symbol type: trampoline
7536            id = {0x00000029}, name = 'fflush', range = [0x0000000100001d68-0x0000000100001d6e)
7537            symbol type: trampoline
7538            id = {0x0000002a}, name = 'fgets', range = [0x0000000100001d6e-0x0000000100001d74)
7539            symbol type: trampoline
7540            id = {0x0000002b}, name = 'printf', range = [0x0000000100001d74-0x0000000100001d7a)
7541            symbol type: trampoline
7542            id = {0x0000002c}, name = 'pthread_create', range = [0x0000000100001d7a-0x0000000100001d80)
7543            symbol type: trampoline
7544            id = {0x0000002d}, name = 'pthread_join', range = [0x0000000100001d80-0x0000000100001d86)
7545            symbol type: trampoline
7546            id = {0x0000002e}, name = 'pthread_mutex_lock', range = [0x0000000100001d86-0x0000000100001d8c)
7547            symbol type: trampoline
7548            id = {0x0000002f}, name = 'pthread_mutex_unlock', range = [0x0000000100001d8c-0x0000000100001d92)
7549            symbol type: trampoline
7550            id = {0x00000030}, name = 'rand', range = [0x0000000100001d92-0x0000000100001d98)
7551            symbol type: trampoline
7552            id = {0x00000031}, name = 'strtoul', range = [0x0000000100001d98-0x0000000100001d9e)
7553            symbol type: trampoline
7554            id = {0x00000032}, name = 'usleep', range = [0x0000000100001d9e-0x0000000100001da4)
7555            symbol type: trampoline
7556        [0x0000000100001da4-0x0000000100001e2c) a.out.__TEXT.__stub_helper
7557        [0x0000000100001e2c-0x0000000100001f10) a.out.__TEXT.__cstring
7558        [0x0000000100001f10-0x0000000100001f68) a.out.__TEXT.__unwind_info
7559        [0x0000000100001f68-0x0000000100001ff8) a.out.__TEXT.__eh_frame
7560
7561    """
7562
7563    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7564
7565    def __init__(self, *args):
7566        r"""
7567        __init__(SBModule self) -> SBModule
7568        __init__(SBModule self, SBModule rhs) -> SBModule
7569        __init__(SBModule self, SBModuleSpec module_spec) -> SBModule
7570        __init__(SBModule self, SBProcess process, lldb::addr_t header_addr) -> SBModule
7571        """
7572        _lldb.SBModule_swiginit(self, _lldb.new_SBModule(*args))
7573    __swig_destroy__ = _lldb.delete_SBModule
7574
7575    def __nonzero__(self):
7576        return _lldb.SBModule___nonzero__(self)
7577    __bool__ = __nonzero__
7578
7579
7580
7581    def IsValid(self):
7582        r"""IsValid(SBModule self) -> bool"""
7583        return _lldb.SBModule_IsValid(self)
7584
7585    def Clear(self):
7586        r"""Clear(SBModule self)"""
7587        return _lldb.SBModule_Clear(self)
7588
7589    def IsFileBacked(self):
7590        r"""
7591        IsFileBacked(SBModule self) -> bool
7592
7593            Check if the module is file backed.
7594
7595            @return
7596
7597                True, if the module is backed by an object file on disk.
7598                False, if the module is backed by an object file in memory.
7599        """
7600        return _lldb.SBModule_IsFileBacked(self)
7601
7602    def GetFileSpec(self):
7603        r"""
7604        GetFileSpec(SBModule self) -> SBFileSpec
7605
7606            Get const accessor for the module file specification.
7607
7608            This function returns the file for the module on the host system
7609            that is running LLDB. This can differ from the path on the
7610            platform since we might be doing remote debugging.
7611
7612            @return
7613                A const reference to the file specification object.
7614        """
7615        return _lldb.SBModule_GetFileSpec(self)
7616
7617    def GetPlatformFileSpec(self):
7618        r"""
7619        GetPlatformFileSpec(SBModule self) -> SBFileSpec
7620
7621            Get accessor for the module platform file specification.
7622
7623            Platform file refers to the path of the module as it is known on
7624            the remote system on which it is being debugged. For local
7625            debugging this is always the same as Module::GetFileSpec(). But
7626            remote debugging might mention a file '/usr/lib/liba.dylib'
7627            which might be locally downloaded and cached. In this case the
7628            platform file could be something like:
7629            '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib'
7630            The file could also be cached in a local developer kit directory.
7631
7632            @return
7633                A const reference to the file specification object.
7634        """
7635        return _lldb.SBModule_GetPlatformFileSpec(self)
7636
7637    def SetPlatformFileSpec(self, platform_file):
7638        r"""SetPlatformFileSpec(SBModule self, SBFileSpec platform_file) -> bool"""
7639        return _lldb.SBModule_SetPlatformFileSpec(self, platform_file)
7640
7641    def GetRemoteInstallFileSpec(self):
7642        r"""GetRemoteInstallFileSpec(SBModule self) -> SBFileSpec"""
7643        return _lldb.SBModule_GetRemoteInstallFileSpec(self)
7644
7645    def SetRemoteInstallFileSpec(self, file):
7646        r"""SetRemoteInstallFileSpec(SBModule self, SBFileSpec file) -> bool"""
7647        return _lldb.SBModule_SetRemoteInstallFileSpec(self, file)
7648
7649    def GetByteOrder(self):
7650        r"""GetByteOrder(SBModule self) -> lldb::ByteOrder"""
7651        return _lldb.SBModule_GetByteOrder(self)
7652
7653    def GetAddressByteSize(self):
7654        r"""GetAddressByteSize(SBModule self) -> uint32_t"""
7655        return _lldb.SBModule_GetAddressByteSize(self)
7656
7657    def GetTriple(self):
7658        r"""GetTriple(SBModule self) -> char const *"""
7659        return _lldb.SBModule_GetTriple(self)
7660
7661    def GetUUIDBytes(self):
7662        r"""GetUUIDBytes(SBModule self) -> uint8_t const *"""
7663        return _lldb.SBModule_GetUUIDBytes(self)
7664
7665    def GetUUIDString(self):
7666        r"""
7667        GetUUIDString(SBModule self) -> char const *
7668        Returns the UUID of the module as a Python string.
7669        """
7670        return _lldb.SBModule_GetUUIDString(self)
7671
7672    def __eq__(self, rhs):
7673        r"""__eq__(SBModule self, SBModule rhs) -> bool"""
7674        return _lldb.SBModule___eq__(self, rhs)
7675
7676    def __ne__(self, rhs):
7677        r"""__ne__(SBModule self, SBModule rhs) -> bool"""
7678        return _lldb.SBModule___ne__(self, rhs)
7679
7680    def FindSection(self, sect_name):
7681        r"""FindSection(SBModule self, char const * sect_name) -> SBSection"""
7682        return _lldb.SBModule_FindSection(self, sect_name)
7683
7684    def ResolveFileAddress(self, vm_addr):
7685        r"""ResolveFileAddress(SBModule self, lldb::addr_t vm_addr) -> SBAddress"""
7686        return _lldb.SBModule_ResolveFileAddress(self, vm_addr)
7687
7688    def ResolveSymbolContextForAddress(self, addr, resolve_scope):
7689        r"""ResolveSymbolContextForAddress(SBModule self, SBAddress addr, uint32_t resolve_scope) -> SBSymbolContext"""
7690        return _lldb.SBModule_ResolveSymbolContextForAddress(self, addr, resolve_scope)
7691
7692    def GetDescription(self, description):
7693        r"""GetDescription(SBModule self, SBStream description) -> bool"""
7694        return _lldb.SBModule_GetDescription(self, description)
7695
7696    def GetNumCompileUnits(self):
7697        r"""GetNumCompileUnits(SBModule self) -> uint32_t"""
7698        return _lldb.SBModule_GetNumCompileUnits(self)
7699
7700    def GetCompileUnitAtIndex(self, arg2):
7701        r"""GetCompileUnitAtIndex(SBModule self, uint32_t arg2) -> SBCompileUnit"""
7702        return _lldb.SBModule_GetCompileUnitAtIndex(self, arg2)
7703
7704    def FindCompileUnits(self, sb_file_spec):
7705        r"""
7706        FindCompileUnits(SBModule self, SBFileSpec sb_file_spec) -> SBSymbolContextList
7707
7708            Find compile units related to this module and passed source
7709            file.
7710
7711            @param[in] sb_file_spec
7712                A :py:class:`SBFileSpec` object that contains source file
7713                specification.
7714
7715            @return
7716                A :py:class:`SBSymbolContextList` that gets filled in with all of
7717                the symbol contexts for all the matches.
7718        """
7719        return _lldb.SBModule_FindCompileUnits(self, sb_file_spec)
7720
7721    def GetNumSymbols(self):
7722        r"""GetNumSymbols(SBModule self) -> size_t"""
7723        return _lldb.SBModule_GetNumSymbols(self)
7724
7725    def GetSymbolAtIndex(self, idx):
7726        r"""GetSymbolAtIndex(SBModule self, size_t idx) -> SBSymbol"""
7727        return _lldb.SBModule_GetSymbolAtIndex(self, idx)
7728
7729    def FindSymbol(self, *args):
7730        r"""FindSymbol(SBModule self, char const * name, lldb::SymbolType type=eSymbolTypeAny) -> SBSymbol"""
7731        return _lldb.SBModule_FindSymbol(self, *args)
7732
7733    def FindSymbols(self, *args):
7734        r"""FindSymbols(SBModule self, char const * name, lldb::SymbolType type=eSymbolTypeAny) -> SBSymbolContextList"""
7735        return _lldb.SBModule_FindSymbols(self, *args)
7736
7737    def GetNumSections(self):
7738        r"""GetNumSections(SBModule self) -> size_t"""
7739        return _lldb.SBModule_GetNumSections(self)
7740
7741    def GetSectionAtIndex(self, idx):
7742        r"""GetSectionAtIndex(SBModule self, size_t idx) -> SBSection"""
7743        return _lldb.SBModule_GetSectionAtIndex(self, idx)
7744
7745    def FindFunctions(self, *args):
7746        r"""
7747        FindFunctions(SBModule self, char const * name, uint32_t name_type_mask=eFunctionNameTypeAny) -> SBSymbolContextList
7748
7749            Find functions by name.
7750
7751            @param[in] name
7752                The name of the function we are looking for.
7753
7754            @param[in] name_type_mask
7755                A logical OR of one or more FunctionNameType enum bits that
7756                indicate what kind of names should be used when doing the
7757                lookup. Bits include fully qualified names, base names,
7758                C++ methods, or ObjC selectors.
7759                See FunctionNameType for more details.
7760
7761            @return
7762                A symbol context list that gets filled in with all of the
7763                matches.
7764        """
7765        return _lldb.SBModule_FindFunctions(self, *args)
7766
7767    def FindGlobalVariables(self, target, name, max_matches):
7768        r"""
7769        FindGlobalVariables(SBModule self, SBTarget target, char const * name, uint32_t max_matches) -> SBValueList
7770
7771            Find global and static variables by name.
7772
7773            @param[in] target
7774                A valid SBTarget instance representing the debuggee.
7775
7776            @param[in] name
7777                The name of the global or static variable we are looking
7778                for.
7779
7780            @param[in] max_matches
7781                Allow the number of matches to be limited to max_matches.
7782
7783            @return
7784                A list of matched variables in an SBValueList.
7785        """
7786        return _lldb.SBModule_FindGlobalVariables(self, target, name, max_matches)
7787
7788    def FindFirstGlobalVariable(self, target, name):
7789        r"""
7790        FindFirstGlobalVariable(SBModule self, SBTarget target, char const * name) -> SBValue
7791
7792            Find the first global (or static) variable by name.
7793
7794            @param[in] target
7795                A valid SBTarget instance representing the debuggee.
7796
7797            @param[in] name
7798                The name of the global or static variable we are looking
7799                for.
7800
7801            @return
7802                An SBValue that gets filled in with the found variable (if any).
7803        """
7804        return _lldb.SBModule_FindFirstGlobalVariable(self, target, name)
7805
7806    def FindFirstType(self, name):
7807        r"""FindFirstType(SBModule self, char const * name) -> SBType"""
7808        return _lldb.SBModule_FindFirstType(self, name)
7809
7810    def FindTypes(self, type):
7811        r"""FindTypes(SBModule self, char const * type) -> SBTypeList"""
7812        return _lldb.SBModule_FindTypes(self, type)
7813
7814    def GetTypeByID(self, uid):
7815        r"""GetTypeByID(SBModule self, lldb::user_id_t uid) -> SBType"""
7816        return _lldb.SBModule_GetTypeByID(self, uid)
7817
7818    def GetBasicType(self, type):
7819        r"""GetBasicType(SBModule self, lldb::BasicType type) -> SBType"""
7820        return _lldb.SBModule_GetBasicType(self, type)
7821
7822    def GetTypes(self, *args):
7823        r"""
7824        GetTypes(SBModule self, uint32_t type_mask=eTypeClassAny) -> SBTypeList
7825
7826            Get all types matching type_mask from debug info in this
7827            module.
7828
7829            @param[in] type_mask
7830                A bitfield that consists of one or more bits logically OR'ed
7831                together from the lldb::TypeClass enumeration. This allows
7832                you to request only structure types, or only class, struct
7833                and union types. Passing in lldb::eTypeClassAny will return
7834                all types found in the debug information for this module.
7835
7836            @return
7837                A list of types in this module that match type_mask
7838        """
7839        return _lldb.SBModule_GetTypes(self, *args)
7840
7841    def GetVersion(self):
7842        r"""GetVersion(SBModule self) -> uint32_t"""
7843        return _lldb.SBModule_GetVersion(self)
7844
7845    def GetSymbolFileSpec(self):
7846        r"""GetSymbolFileSpec(SBModule self) -> SBFileSpec"""
7847        return _lldb.SBModule_GetSymbolFileSpec(self)
7848
7849    def GetObjectFileHeaderAddress(self):
7850        r"""GetObjectFileHeaderAddress(SBModule self) -> SBAddress"""
7851        return _lldb.SBModule_GetObjectFileHeaderAddress(self)
7852
7853    def GetObjectFileEntryPointAddress(self):
7854        r"""GetObjectFileEntryPointAddress(SBModule self) -> SBAddress"""
7855        return _lldb.SBModule_GetObjectFileEntryPointAddress(self)
7856
7857    @staticmethod
7858    def GetNumberAllocatedModules():
7859        r"""
7860        GetNumberAllocatedModules() -> uint32_t
7861
7862            Returns the number of modules in the module cache. This is an
7863            implementation detail exposed for testing and should not be relied upon.
7864
7865            @return
7866                The number of modules in the module cache.
7867        """
7868        return _lldb.SBModule_GetNumberAllocatedModules()
7869
7870    @staticmethod
7871    def GarbageCollectAllocatedModules():
7872        r"""
7873        GarbageCollectAllocatedModules()
7874
7875            Removes all modules which are no longer needed by any part of LLDB from
7876            the module cache.
7877
7878            This is an implementation detail exposed for testing and should not be
7879            relied upon. Use SBDebugger::MemoryPressureDetected instead to reduce
7880            LLDB's memory consumption during execution.
7881
7882        """
7883        return _lldb.SBModule_GarbageCollectAllocatedModules()
7884
7885    def __repr__(self):
7886        r"""__repr__(SBModule self) -> std::string"""
7887        return _lldb.SBModule___repr__(self)
7888
7889            # operator== is a free function, which swig does not handle, so we inject
7890            # our own equality operator here
7891    def __eq__(self, other):
7892        return not self.__ne__(other)
7893
7894    def __len__(self):
7895        '''Return the number of symbols in a lldb.SBModule object.'''
7896        return self.GetNumSymbols()
7897
7898    def __iter__(self):
7899        '''Iterate over all symbols in a lldb.SBModule object.'''
7900        return lldb_iter(self, 'GetNumSymbols', 'GetSymbolAtIndex')
7901
7902    def section_iter(self):
7903        '''Iterate over all sections in a lldb.SBModule object.'''
7904        return lldb_iter(self, 'GetNumSections', 'GetSectionAtIndex')
7905
7906    def compile_unit_iter(self):
7907        '''Iterate over all compile units in a lldb.SBModule object.'''
7908        return lldb_iter(self, 'GetNumCompileUnits', 'GetCompileUnitAtIndex')
7909
7910    def symbol_in_section_iter(self, section):
7911        '''Given a module and its contained section, returns an iterator on the
7912        symbols within the section.'''
7913        for sym in self:
7914            if in_range(sym, section):
7915                yield sym
7916
7917    class symbols_access(object):
7918        re_compile_type = type(re.compile('.'))
7919        '''A helper object that will lazily hand out lldb.SBSymbol objects for a module when supplied an index, name, or regular expression.'''
7920        def __init__(self, sbmodule):
7921            self.sbmodule = sbmodule
7922
7923        def __len__(self):
7924            if self.sbmodule:
7925                return int(self.sbmodule.GetNumSymbols())
7926            return 0
7927
7928        def __getitem__(self, key):
7929            count = len(self)
7930            if type(key) is int:
7931                if -count <= key < count:
7932                    key %= count
7933                    return self.sbmodule.GetSymbolAtIndex(key)
7934            elif type(key) is str:
7935                matches = []
7936                sc_list = self.sbmodule.FindSymbols(key)
7937                for sc in sc_list:
7938                    symbol = sc.symbol
7939                    if symbol:
7940                        matches.append(symbol)
7941                return matches
7942            elif isinstance(key, self.re_compile_type):
7943                matches = []
7944                for idx in range(count):
7945                    symbol = self.sbmodule.GetSymbolAtIndex(idx)
7946                    added = False
7947                    name = symbol.name
7948                    if name:
7949                        re_match = key.search(name)
7950                        if re_match:
7951                            matches.append(symbol)
7952                            added = True
7953                    if not added:
7954                        mangled = symbol.mangled
7955                        if mangled:
7956                            re_match = key.search(mangled)
7957                            if re_match:
7958                                matches.append(symbol)
7959                return matches
7960            else:
7961                print("error: unsupported item type: %s" % type(key))
7962            return None
7963
7964    def get_symbols_access_object(self):
7965        '''An accessor function that returns a symbols_access() object which allows lazy symbol access from a lldb.SBModule object.'''
7966        return self.symbols_access (self)
7967
7968    def get_compile_units_access_object (self):
7969        '''An accessor function that returns a compile_units_access() object which allows lazy compile unit access from a lldb.SBModule object.'''
7970        return self.compile_units_access (self)
7971
7972    def get_symbols_array(self):
7973        '''An accessor function that returns a list() that contains all symbols in a lldb.SBModule object.'''
7974        symbols = []
7975        for idx in range(self.num_symbols):
7976            symbols.append(self.GetSymbolAtIndex(idx))
7977        return symbols
7978
7979    class sections_access(object):
7980        re_compile_type = type(re.compile('.'))
7981        '''A helper object that will lazily hand out lldb.SBSection objects for a module when supplied an index, name, or regular expression.'''
7982        def __init__(self, sbmodule):
7983            self.sbmodule = sbmodule
7984
7985        def __len__(self):
7986            if self.sbmodule:
7987                return int(self.sbmodule.GetNumSections())
7988            return 0
7989
7990        def __getitem__(self, key):
7991            count = len(self)
7992            if type(key) is int:
7993                if -count <= key < count:
7994                    key %= count
7995                    return self.sbmodule.GetSectionAtIndex(key)
7996            elif type(key) is str:
7997                for idx in range(count):
7998                    section = self.sbmodule.GetSectionAtIndex(idx)
7999                    if section.name == key:
8000                        return section
8001            elif isinstance(key, self.re_compile_type):
8002                matches = []
8003                for idx in range(count):
8004                    section = self.sbmodule.GetSectionAtIndex(idx)
8005                    name = section.name
8006                    if name:
8007                        re_match = key.search(name)
8008                        if re_match:
8009                            matches.append(section)
8010                return matches
8011            else:
8012                print("error: unsupported item type: %s" % type(key))
8013            return None
8014
8015    class compile_units_access(object):
8016        re_compile_type = type(re.compile('.'))
8017        '''A helper object that will lazily hand out lldb.SBCompileUnit objects for a module when supplied an index, full or partial path, or regular expression.'''
8018        def __init__(self, sbmodule):
8019            self.sbmodule = sbmodule
8020
8021        def __len__(self):
8022            if self.sbmodule:
8023                return int(self.sbmodule.GetNumCompileUnits())
8024            return 0
8025
8026        def __getitem__(self, key):
8027            count = len(self)
8028            if type(key) is int:
8029                if -count <= key < count:
8030                    key %= count
8031                    return self.sbmodule.GetCompileUnitAtIndex(key)
8032            elif type(key) is str:
8033                is_full_path = key[0] == '/'
8034                for idx in range(count):
8035                    comp_unit = self.sbmodule.GetCompileUnitAtIndex(idx)
8036                    if is_full_path:
8037                        if comp_unit.file.fullpath == key:
8038                            return comp_unit
8039                    else:
8040                        if comp_unit.file.basename == key:
8041                            return comp_unit
8042            elif isinstance(key, self.re_compile_type):
8043                matches = []
8044                for idx in range(count):
8045                    comp_unit = self.sbmodule.GetCompileUnitAtIndex(idx)
8046                    fullpath = comp_unit.file.fullpath
8047                    if fullpath:
8048                        re_match = key.search(fullpath)
8049                        if re_match:
8050                            matches.append(comp_unit)
8051                return matches
8052            else:
8053                print("error: unsupported item type: %s" % type(key))
8054            return None
8055
8056    def get_sections_access_object(self):
8057        '''An accessor function that returns a sections_access() object which allows lazy section array access.'''
8058        return self.sections_access (self)
8059
8060    def get_sections_array(self):
8061        '''An accessor function that returns an array object that contains all sections in this module object.'''
8062        if not hasattr(self, 'sections_array'):
8063            self.sections_array = []
8064            for idx in range(self.num_sections):
8065                self.sections_array.append(self.GetSectionAtIndex(idx))
8066        return self.sections_array
8067
8068    def get_compile_units_array(self):
8069        '''An accessor function that returns an array object that contains all compile_units in this module object.'''
8070        if not hasattr(self, 'compile_units_array'):
8071            self.compile_units_array = []
8072            for idx in range(self.GetNumCompileUnits()):
8073                self.compile_units_array.append(self.GetCompileUnitAtIndex(idx))
8074        return self.compile_units_array
8075
8076    symbols = property(get_symbols_array, None, doc='''A read only property that returns a list() of lldb.SBSymbol objects contained in this module.''')
8077    symbol = property(get_symbols_access_object, None, doc='''A read only property that can be used to access symbols by index ("symbol = module.symbol[0]"), name ("symbols = module.symbol['main']"), or using a regular expression ("symbols = module.symbol[re.compile(...)]"). The return value is a single lldb.SBSymbol object for array access, and a list() of lldb.SBSymbol objects for name and regular expression access''')
8078    sections = property(get_sections_array, None, doc='''A read only property that returns a list() of lldb.SBSection objects contained in this module.''')
8079    compile_units = property(get_compile_units_array, None, doc='''A read only property that returns a list() of lldb.SBCompileUnit objects contained in this module.''')
8080    section = property(get_sections_access_object, None, doc='''A read only property that can be used to access symbols by index ("section = module.section[0]"), name ("sections = module.section[\'main\']"), or using a regular expression ("sections = module.section[re.compile(...)]"). The return value is a single lldb.SBSection object for array access, and a list() of lldb.SBSection objects for name and regular expression access''')
8081    section = property(get_sections_access_object, None, doc='''A read only property that can be used to access compile units by index ("compile_unit = module.compile_unit[0]"), name ("compile_unit = module.compile_unit[\'main.cpp\']"), or using a regular expression ("compile_unit = module.compile_unit[re.compile(...)]"). The return value is a single lldb.SBCompileUnit object for array access or by full or partial path, and a list() of lldb.SBCompileUnit objects regular expressions.''')
8082
8083    def get_uuid(self):
8084        return uuid.UUID (self.GetUUIDString())
8085
8086    uuid = property(get_uuid, None, doc='''A read only property that returns a standard python uuid.UUID object that represents the UUID of this module.''')
8087    file = property(GetFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this object file for this module as it is represented where it is being debugged.''')
8088    platform_file = property(GetPlatformFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this object file for this module as it is represented on the current host system.''')
8089    byte_order = property(GetByteOrder, None, doc='''A read only property that returns an lldb enumeration value (lldb.eByteOrderLittle, lldb.eByteOrderBig, lldb.eByteOrderInvalid) that represents the byte order for this module.''')
8090    addr_size = property(GetAddressByteSize, None, doc='''A read only property that returns the size in bytes of an address for this module.''')
8091    triple = property(GetTriple, None, doc='''A read only property that returns the target triple (arch-vendor-os) for this module.''')
8092    num_symbols = property(GetNumSymbols, None, doc='''A read only property that returns number of symbols in the module symbol table as an integer.''')
8093    num_sections = property(GetNumSections, None, doc='''A read only property that returns number of sections in the module as an integer.''')
8094
8095
8096
8097    def __eq__(self, rhs):
8098        if not isinstance(rhs, type(self)):
8099            return False
8100
8101        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
8102
8103    def __ne__(self, rhs):
8104        if not isinstance(rhs, type(self)):
8105            return True
8106
8107        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
8108
8109
8110# Register SBModule in _lldb:
8111_lldb.SBModule_swigregister(SBModule)
8112class SBModuleSpec(object):
8113    r"""Proxy of C++ lldb::SBModuleSpec class."""
8114
8115    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8116
8117    def __init__(self, *args):
8118        r"""
8119        __init__(SBModuleSpec self) -> SBModuleSpec
8120        __init__(SBModuleSpec self, SBModuleSpec rhs) -> SBModuleSpec
8121        """
8122        _lldb.SBModuleSpec_swiginit(self, _lldb.new_SBModuleSpec(*args))
8123    __swig_destroy__ = _lldb.delete_SBModuleSpec
8124
8125    def __nonzero__(self):
8126        return _lldb.SBModuleSpec___nonzero__(self)
8127    __bool__ = __nonzero__
8128
8129
8130
8131    def IsValid(self):
8132        r"""IsValid(SBModuleSpec self) -> bool"""
8133        return _lldb.SBModuleSpec_IsValid(self)
8134
8135    def Clear(self):
8136        r"""Clear(SBModuleSpec self)"""
8137        return _lldb.SBModuleSpec_Clear(self)
8138
8139    def GetFileSpec(self):
8140        r"""
8141        GetFileSpec(SBModuleSpec self) -> SBFileSpec
8142
8143            Get const accessor for the module file.
8144
8145            This function returns the file for the module on the host system
8146            that is running LLDB. This can differ from the path on the
8147            platform since we might be doing remote debugging.
8148
8149            @return
8150                A const reference to the file specification object.
8151        """
8152        return _lldb.SBModuleSpec_GetFileSpec(self)
8153
8154    def SetFileSpec(self, fspec):
8155        r"""SetFileSpec(SBModuleSpec self, SBFileSpec fspec)"""
8156        return _lldb.SBModuleSpec_SetFileSpec(self, fspec)
8157
8158    def GetPlatformFileSpec(self):
8159        r"""
8160        GetPlatformFileSpec(SBModuleSpec self) -> SBFileSpec
8161
8162            Get accessor for the module platform file.
8163
8164            Platform file refers to the path of the module as it is known on
8165            the remote system on which it is being debugged. For local
8166            debugging this is always the same as Module::GetFileSpec(). But
8167            remote debugging might mention a file '/usr/lib/liba.dylib'
8168            which might be locally downloaded and cached. In this case the
8169            platform file could be something like:
8170            '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib'
8171            The file could also be cached in a local developer kit directory.
8172
8173            @return
8174                A const reference to the file specification object.
8175        """
8176        return _lldb.SBModuleSpec_GetPlatformFileSpec(self)
8177
8178    def SetPlatformFileSpec(self, fspec):
8179        r"""SetPlatformFileSpec(SBModuleSpec self, SBFileSpec fspec)"""
8180        return _lldb.SBModuleSpec_SetPlatformFileSpec(self, fspec)
8181
8182    def GetSymbolFileSpec(self):
8183        r"""GetSymbolFileSpec(SBModuleSpec self) -> SBFileSpec"""
8184        return _lldb.SBModuleSpec_GetSymbolFileSpec(self)
8185
8186    def SetSymbolFileSpec(self, fspec):
8187        r"""SetSymbolFileSpec(SBModuleSpec self, SBFileSpec fspec)"""
8188        return _lldb.SBModuleSpec_SetSymbolFileSpec(self, fspec)
8189
8190    def GetObjectName(self):
8191        r"""GetObjectName(SBModuleSpec self) -> char const *"""
8192        return _lldb.SBModuleSpec_GetObjectName(self)
8193
8194    def SetObjectName(self, name):
8195        r"""SetObjectName(SBModuleSpec self, char const * name)"""
8196        return _lldb.SBModuleSpec_SetObjectName(self, name)
8197
8198    def GetTriple(self):
8199        r"""GetTriple(SBModuleSpec self) -> char const *"""
8200        return _lldb.SBModuleSpec_GetTriple(self)
8201
8202    def SetTriple(self, triple):
8203        r"""SetTriple(SBModuleSpec self, char const * triple)"""
8204        return _lldb.SBModuleSpec_SetTriple(self, triple)
8205
8206    def GetUUIDBytes(self):
8207        r"""GetUUIDBytes(SBModuleSpec self) -> uint8_t const *"""
8208        return _lldb.SBModuleSpec_GetUUIDBytes(self)
8209
8210    def GetUUIDLength(self):
8211        r"""GetUUIDLength(SBModuleSpec self) -> size_t"""
8212        return _lldb.SBModuleSpec_GetUUIDLength(self)
8213
8214    def SetUUIDBytes(self, uuid, uuid_len):
8215        r"""SetUUIDBytes(SBModuleSpec self, uint8_t const * uuid, size_t uuid_len) -> bool"""
8216        return _lldb.SBModuleSpec_SetUUIDBytes(self, uuid, uuid_len)
8217
8218    def GetObjectOffset(self):
8219        r"""GetObjectOffset(SBModuleSpec self) -> uint64_t"""
8220        return _lldb.SBModuleSpec_GetObjectOffset(self)
8221
8222    def SetObjectOffset(self, object_offset):
8223        r"""SetObjectOffset(SBModuleSpec self, uint64_t object_offset)"""
8224        return _lldb.SBModuleSpec_SetObjectOffset(self, object_offset)
8225
8226    def GetObjectSize(self):
8227        r"""GetObjectSize(SBModuleSpec self) -> uint64_t"""
8228        return _lldb.SBModuleSpec_GetObjectSize(self)
8229
8230    def SetObjectSize(self, object_size):
8231        r"""SetObjectSize(SBModuleSpec self, uint64_t object_size)"""
8232        return _lldb.SBModuleSpec_SetObjectSize(self, object_size)
8233
8234    def GetDescription(self, description):
8235        r"""GetDescription(SBModuleSpec self, SBStream description) -> bool"""
8236        return _lldb.SBModuleSpec_GetDescription(self, description)
8237
8238    def __repr__(self):
8239        r"""__repr__(SBModuleSpec self) -> std::string"""
8240        return _lldb.SBModuleSpec___repr__(self)
8241
8242# Register SBModuleSpec in _lldb:
8243_lldb.SBModuleSpec_swigregister(SBModuleSpec)
8244class SBModuleSpecList(object):
8245    r"""Represents a list of :py:class:`SBModuleSpec`."""
8246
8247    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8248
8249    def __init__(self, *args):
8250        r"""
8251        __init__(SBModuleSpecList self) -> SBModuleSpecList
8252        __init__(SBModuleSpecList self, SBModuleSpecList rhs) -> SBModuleSpecList
8253        """
8254        _lldb.SBModuleSpecList_swiginit(self, _lldb.new_SBModuleSpecList(*args))
8255    __swig_destroy__ = _lldb.delete_SBModuleSpecList
8256
8257    @staticmethod
8258    def GetModuleSpecifications(path):
8259        r"""GetModuleSpecifications(char const * path) -> SBModuleSpecList"""
8260        return _lldb.SBModuleSpecList_GetModuleSpecifications(path)
8261
8262    def Append(self, *args):
8263        r"""
8264        Append(SBModuleSpecList self, SBModuleSpec spec)
8265        Append(SBModuleSpecList self, SBModuleSpecList spec_list)
8266        """
8267        return _lldb.SBModuleSpecList_Append(self, *args)
8268
8269    def FindFirstMatchingSpec(self, match_spec):
8270        r"""FindFirstMatchingSpec(SBModuleSpecList self, SBModuleSpec match_spec) -> SBModuleSpec"""
8271        return _lldb.SBModuleSpecList_FindFirstMatchingSpec(self, match_spec)
8272
8273    def FindMatchingSpecs(self, match_spec):
8274        r"""FindMatchingSpecs(SBModuleSpecList self, SBModuleSpec match_spec) -> SBModuleSpecList"""
8275        return _lldb.SBModuleSpecList_FindMatchingSpecs(self, match_spec)
8276
8277    def GetSize(self):
8278        r"""GetSize(SBModuleSpecList self) -> size_t"""
8279        return _lldb.SBModuleSpecList_GetSize(self)
8280
8281    def GetSpecAtIndex(self, i):
8282        r"""GetSpecAtIndex(SBModuleSpecList self, size_t i) -> SBModuleSpec"""
8283        return _lldb.SBModuleSpecList_GetSpecAtIndex(self, i)
8284
8285    def GetDescription(self, description):
8286        r"""GetDescription(SBModuleSpecList self, SBStream description) -> bool"""
8287        return _lldb.SBModuleSpecList_GetDescription(self, description)
8288
8289    def __repr__(self):
8290        r"""__repr__(SBModuleSpecList self) -> std::string"""
8291        return _lldb.SBModuleSpecList___repr__(self)
8292
8293    def __len__(self):
8294      '''Return the number of ModuleSpec in a lldb.SBModuleSpecList object.'''
8295      return self.GetSize()
8296
8297    def __iter__(self):
8298      '''Iterate over all ModuleSpecs in a lldb.SBModuleSpecList object.'''
8299      return lldb_iter(self, 'GetSize', 'GetSpecAtIndex')
8300
8301
8302# Register SBModuleSpecList in _lldb:
8303_lldb.SBModuleSpecList_swigregister(SBModuleSpecList)
8304class SBPlatformConnectOptions(object):
8305    r"""Describes how :py:class:`SBPlatform.ConnectRemote` connects to a remote platform."""
8306
8307    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8308    __repr__ = _swig_repr
8309
8310    def __init__(self, *args):
8311        r"""
8312        __init__(SBPlatformConnectOptions self, char const * url) -> SBPlatformConnectOptions
8313        __init__(SBPlatformConnectOptions self, SBPlatformConnectOptions rhs) -> SBPlatformConnectOptions
8314        """
8315        _lldb.SBPlatformConnectOptions_swiginit(self, _lldb.new_SBPlatformConnectOptions(*args))
8316    __swig_destroy__ = _lldb.delete_SBPlatformConnectOptions
8317
8318    def GetURL(self):
8319        r"""GetURL(SBPlatformConnectOptions self) -> char const *"""
8320        return _lldb.SBPlatformConnectOptions_GetURL(self)
8321
8322    def SetURL(self, url):
8323        r"""SetURL(SBPlatformConnectOptions self, char const * url)"""
8324        return _lldb.SBPlatformConnectOptions_SetURL(self, url)
8325
8326    def GetRsyncEnabled(self):
8327        r"""GetRsyncEnabled(SBPlatformConnectOptions self) -> bool"""
8328        return _lldb.SBPlatformConnectOptions_GetRsyncEnabled(self)
8329
8330    def EnableRsync(self, options, remote_path_prefix, omit_remote_hostname):
8331        r"""EnableRsync(SBPlatformConnectOptions self, char const * options, char const * remote_path_prefix, bool omit_remote_hostname)"""
8332        return _lldb.SBPlatformConnectOptions_EnableRsync(self, options, remote_path_prefix, omit_remote_hostname)
8333
8334    def DisableRsync(self):
8335        r"""DisableRsync(SBPlatformConnectOptions self)"""
8336        return _lldb.SBPlatformConnectOptions_DisableRsync(self)
8337
8338    def GetLocalCacheDirectory(self):
8339        r"""GetLocalCacheDirectory(SBPlatformConnectOptions self) -> char const *"""
8340        return _lldb.SBPlatformConnectOptions_GetLocalCacheDirectory(self)
8341
8342    def SetLocalCacheDirectory(self, path):
8343        r"""SetLocalCacheDirectory(SBPlatformConnectOptions self, char const * path)"""
8344        return _lldb.SBPlatformConnectOptions_SetLocalCacheDirectory(self, path)
8345
8346# Register SBPlatformConnectOptions in _lldb:
8347_lldb.SBPlatformConnectOptions_swigregister(SBPlatformConnectOptions)
8348class SBPlatformShellCommand(object):
8349    r"""Represents a shell command that can be run by :py:class:`SBPlatform.Run`."""
8350
8351    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8352    __repr__ = _swig_repr
8353
8354    def __init__(self, *args):
8355        r"""
8356        __init__(SBPlatformShellCommand self, char const * shell, char const * shell_command) -> SBPlatformShellCommand
8357        __init__(SBPlatformShellCommand self, char const * shell_command) -> SBPlatformShellCommand
8358        __init__(SBPlatformShellCommand self, SBPlatformShellCommand rhs) -> SBPlatformShellCommand
8359        """
8360        _lldb.SBPlatformShellCommand_swiginit(self, _lldb.new_SBPlatformShellCommand(*args))
8361    __swig_destroy__ = _lldb.delete_SBPlatformShellCommand
8362
8363    def Clear(self):
8364        r"""Clear(SBPlatformShellCommand self)"""
8365        return _lldb.SBPlatformShellCommand_Clear(self)
8366
8367    def GetShell(self):
8368        r"""GetShell(SBPlatformShellCommand self) -> char const *"""
8369        return _lldb.SBPlatformShellCommand_GetShell(self)
8370
8371    def SetShell(self, shell):
8372        r"""SetShell(SBPlatformShellCommand self, char const * shell)"""
8373        return _lldb.SBPlatformShellCommand_SetShell(self, shell)
8374
8375    def GetCommand(self):
8376        r"""GetCommand(SBPlatformShellCommand self) -> char const *"""
8377        return _lldb.SBPlatformShellCommand_GetCommand(self)
8378
8379    def SetCommand(self, shell_command):
8380        r"""SetCommand(SBPlatformShellCommand self, char const * shell_command)"""
8381        return _lldb.SBPlatformShellCommand_SetCommand(self, shell_command)
8382
8383    def GetWorkingDirectory(self):
8384        r"""GetWorkingDirectory(SBPlatformShellCommand self) -> char const *"""
8385        return _lldb.SBPlatformShellCommand_GetWorkingDirectory(self)
8386
8387    def SetWorkingDirectory(self, path):
8388        r"""SetWorkingDirectory(SBPlatformShellCommand self, char const * path)"""
8389        return _lldb.SBPlatformShellCommand_SetWorkingDirectory(self, path)
8390
8391    def GetTimeoutSeconds(self):
8392        r"""GetTimeoutSeconds(SBPlatformShellCommand self) -> uint32_t"""
8393        return _lldb.SBPlatformShellCommand_GetTimeoutSeconds(self)
8394
8395    def SetTimeoutSeconds(self, sec):
8396        r"""SetTimeoutSeconds(SBPlatformShellCommand self, uint32_t sec)"""
8397        return _lldb.SBPlatformShellCommand_SetTimeoutSeconds(self, sec)
8398
8399    def GetSignal(self):
8400        r"""GetSignal(SBPlatformShellCommand self) -> int"""
8401        return _lldb.SBPlatformShellCommand_GetSignal(self)
8402
8403    def GetStatus(self):
8404        r"""GetStatus(SBPlatformShellCommand self) -> int"""
8405        return _lldb.SBPlatformShellCommand_GetStatus(self)
8406
8407    def GetOutput(self):
8408        r"""GetOutput(SBPlatformShellCommand self) -> char const *"""
8409        return _lldb.SBPlatformShellCommand_GetOutput(self)
8410
8411# Register SBPlatformShellCommand in _lldb:
8412_lldb.SBPlatformShellCommand_swigregister(SBPlatformShellCommand)
8413class SBPlatform(object):
8414    r"""
8415    A class that represents a platform that can represent the current host or a remote host debug platform.
8416
8417    The SBPlatform class represents the current host, or a remote host.
8418    It can be connected to a remote platform in order to provide ways
8419    to remotely launch and attach to processes, upload/download files,
8420    create directories, run remote shell commands, find locally cached
8421    versions of files from the remote system, and much more.
8422
8423    SBPlatform objects can be created and then used to connect to a remote
8424    platform which allows the SBPlatform to be used to get a list of the
8425    current processes on the remote host, attach to one of those processes,
8426    install programs on the remote system, attach and launch processes,
8427    and much more.
8428
8429    Every :py:class:`SBTarget` has a corresponding SBPlatform. The platform can be
8430    specified upon target creation, or the currently selected platform
8431    will attempt to be used when creating the target automatically as long
8432    as the currently selected platform matches the target architecture
8433    and executable type. If the architecture or executable type do not match,
8434    a suitable platform will be found automatically.
8435    """
8436
8437    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8438    __repr__ = _swig_repr
8439
8440    def __init__(self, *args):
8441        r"""
8442        __init__(SBPlatform self) -> SBPlatform
8443        __init__(SBPlatform self, char const * platform_name) -> SBPlatform
8444        __init__(SBPlatform self, SBPlatform rhs) -> SBPlatform
8445        """
8446        _lldb.SBPlatform_swiginit(self, _lldb.new_SBPlatform(*args))
8447    __swig_destroy__ = _lldb.delete_SBPlatform
8448
8449    @staticmethod
8450    def GetHostPlatform():
8451        r"""GetHostPlatform() -> SBPlatform"""
8452        return _lldb.SBPlatform_GetHostPlatform()
8453
8454    def __nonzero__(self):
8455        return _lldb.SBPlatform___nonzero__(self)
8456    __bool__ = __nonzero__
8457
8458
8459
8460    def IsValid(self):
8461        r"""IsValid(SBPlatform self) -> bool"""
8462        return _lldb.SBPlatform_IsValid(self)
8463
8464    def Clear(self):
8465        r"""Clear(SBPlatform self)"""
8466        return _lldb.SBPlatform_Clear(self)
8467
8468    def GetWorkingDirectory(self):
8469        r"""GetWorkingDirectory(SBPlatform self) -> char const *"""
8470        return _lldb.SBPlatform_GetWorkingDirectory(self)
8471
8472    def SetWorkingDirectory(self, path):
8473        r"""SetWorkingDirectory(SBPlatform self, char const * path) -> bool"""
8474        return _lldb.SBPlatform_SetWorkingDirectory(self, path)
8475
8476    def GetName(self):
8477        r"""GetName(SBPlatform self) -> char const *"""
8478        return _lldb.SBPlatform_GetName(self)
8479
8480    def ConnectRemote(self, connect_options):
8481        r"""ConnectRemote(SBPlatform self, SBPlatformConnectOptions connect_options) -> SBError"""
8482        return _lldb.SBPlatform_ConnectRemote(self, connect_options)
8483
8484    def DisconnectRemote(self):
8485        r"""DisconnectRemote(SBPlatform self)"""
8486        return _lldb.SBPlatform_DisconnectRemote(self)
8487
8488    def IsConnected(self):
8489        r"""IsConnected(SBPlatform self) -> bool"""
8490        return _lldb.SBPlatform_IsConnected(self)
8491
8492    def GetTriple(self):
8493        r"""GetTriple(SBPlatform self) -> char const *"""
8494        return _lldb.SBPlatform_GetTriple(self)
8495
8496    def GetHostname(self):
8497        r"""GetHostname(SBPlatform self) -> char const *"""
8498        return _lldb.SBPlatform_GetHostname(self)
8499
8500    def GetOSBuild(self):
8501        r"""GetOSBuild(SBPlatform self) -> char const *"""
8502        return _lldb.SBPlatform_GetOSBuild(self)
8503
8504    def GetOSDescription(self):
8505        r"""GetOSDescription(SBPlatform self) -> char const *"""
8506        return _lldb.SBPlatform_GetOSDescription(self)
8507
8508    def GetOSMajorVersion(self):
8509        r"""GetOSMajorVersion(SBPlatform self) -> uint32_t"""
8510        return _lldb.SBPlatform_GetOSMajorVersion(self)
8511
8512    def GetOSMinorVersion(self):
8513        r"""GetOSMinorVersion(SBPlatform self) -> uint32_t"""
8514        return _lldb.SBPlatform_GetOSMinorVersion(self)
8515
8516    def GetOSUpdateVersion(self):
8517        r"""GetOSUpdateVersion(SBPlatform self) -> uint32_t"""
8518        return _lldb.SBPlatform_GetOSUpdateVersion(self)
8519
8520    def SetSDKRoot(self, sysroot):
8521        r"""SetSDKRoot(SBPlatform self, char const * sysroot)"""
8522        return _lldb.SBPlatform_SetSDKRoot(self, sysroot)
8523
8524    def Put(self, src, dst):
8525        r"""Put(SBPlatform self, SBFileSpec src, SBFileSpec dst) -> SBError"""
8526        return _lldb.SBPlatform_Put(self, src, dst)
8527
8528    def Get(self, src, dst):
8529        r"""Get(SBPlatform self, SBFileSpec src, SBFileSpec dst) -> SBError"""
8530        return _lldb.SBPlatform_Get(self, src, dst)
8531
8532    def Install(self, src, dst):
8533        r"""Install(SBPlatform self, SBFileSpec src, SBFileSpec dst) -> SBError"""
8534        return _lldb.SBPlatform_Install(self, src, dst)
8535
8536    def Run(self, shell_command):
8537        r"""Run(SBPlatform self, SBPlatformShellCommand shell_command) -> SBError"""
8538        return _lldb.SBPlatform_Run(self, shell_command)
8539
8540    def Launch(self, launch_info):
8541        r"""Launch(SBPlatform self, SBLaunchInfo launch_info) -> SBError"""
8542        return _lldb.SBPlatform_Launch(self, launch_info)
8543
8544    def Attach(self, attach_info, debugger, target, error):
8545        r"""Attach(SBPlatform self, SBAttachInfo attach_info, SBDebugger debugger, SBTarget target, SBError error) -> SBProcess"""
8546        return _lldb.SBPlatform_Attach(self, attach_info, debugger, target, error)
8547
8548    def GetAllProcesses(self, error):
8549        r"""GetAllProcesses(SBPlatform self, SBError error) -> SBProcessInfoList"""
8550        return _lldb.SBPlatform_GetAllProcesses(self, error)
8551
8552    def Kill(self, pid):
8553        r"""Kill(SBPlatform self, lldb::pid_t const pid) -> SBError"""
8554        return _lldb.SBPlatform_Kill(self, pid)
8555
8556    def MakeDirectory(self, *args):
8557        r"""MakeDirectory(SBPlatform self, char const * path, uint32_t file_permissions=eFilePermissionsDirectoryDefault) -> SBError"""
8558        return _lldb.SBPlatform_MakeDirectory(self, *args)
8559
8560    def GetFilePermissions(self, path):
8561        r"""GetFilePermissions(SBPlatform self, char const * path) -> uint32_t"""
8562        return _lldb.SBPlatform_GetFilePermissions(self, path)
8563
8564    def SetFilePermissions(self, path, file_permissions):
8565        r"""SetFilePermissions(SBPlatform self, char const * path, uint32_t file_permissions) -> SBError"""
8566        return _lldb.SBPlatform_SetFilePermissions(self, path, file_permissions)
8567
8568    def GetUnixSignals(self):
8569        r"""GetUnixSignals(SBPlatform self) -> SBUnixSignals"""
8570        return _lldb.SBPlatform_GetUnixSignals(self)
8571
8572    def GetEnvironment(self):
8573        r"""GetEnvironment(SBPlatform self) -> SBEnvironment"""
8574        return _lldb.SBPlatform_GetEnvironment(self)
8575
8576    def SetLocateModuleCallback(self, callback):
8577        r"""SetLocateModuleCallback(SBPlatform self, lldb::SBPlatformLocateModuleCallback callback) -> SBError"""
8578        return _lldb.SBPlatform_SetLocateModuleCallback(self, callback)
8579
8580# Register SBPlatform in _lldb:
8581_lldb.SBPlatform_swigregister(SBPlatform)
8582class SBProcess(object):
8583    r"""
8584    Represents the process associated with the target program.
8585
8586    SBProcess supports thread iteration. For example (from test/lldbutil.py), ::
8587
8588        # ==================================================
8589        # Utility functions related to Threads and Processes
8590        # ==================================================
8591
8592        def get_stopped_threads(process, reason):
8593            '''Returns the thread(s) with the specified stop reason in a list.
8594
8595            The list can be empty if no such thread exists.
8596            '''
8597            threads = []
8598            for t in process:
8599                if t.GetStopReason() == reason:
8600                    threads.append(t)
8601            return threads
8602
8603    """
8604
8605    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8606    eBroadcastBitStateChanged = _lldb.SBProcess_eBroadcastBitStateChanged
8607
8608    eBroadcastBitInterrupt = _lldb.SBProcess_eBroadcastBitInterrupt
8609
8610    eBroadcastBitSTDOUT = _lldb.SBProcess_eBroadcastBitSTDOUT
8611
8612    eBroadcastBitSTDERR = _lldb.SBProcess_eBroadcastBitSTDERR
8613
8614    eBroadcastBitProfileData = _lldb.SBProcess_eBroadcastBitProfileData
8615
8616    eBroadcastBitStructuredData = _lldb.SBProcess_eBroadcastBitStructuredData
8617
8618
8619    def __init__(self, *args):
8620        r"""
8621        __init__(SBProcess self) -> SBProcess
8622        __init__(SBProcess self, SBProcess rhs) -> SBProcess
8623        """
8624        _lldb.SBProcess_swiginit(self, _lldb.new_SBProcess(*args))
8625    __swig_destroy__ = _lldb.delete_SBProcess
8626
8627    @staticmethod
8628    def GetBroadcasterClassName():
8629        r"""GetBroadcasterClassName() -> char const *"""
8630        return _lldb.SBProcess_GetBroadcasterClassName()
8631
8632    def GetPluginName(self):
8633        r"""GetPluginName(SBProcess self) -> char const *"""
8634        return _lldb.SBProcess_GetPluginName(self)
8635
8636    def GetShortPluginName(self):
8637        r"""GetShortPluginName(SBProcess self) -> char const *"""
8638        return _lldb.SBProcess_GetShortPluginName(self)
8639
8640    def Clear(self):
8641        r"""Clear(SBProcess self)"""
8642        return _lldb.SBProcess_Clear(self)
8643
8644    def __nonzero__(self):
8645        return _lldb.SBProcess___nonzero__(self)
8646    __bool__ = __nonzero__
8647
8648
8649
8650    def IsValid(self):
8651        r"""IsValid(SBProcess self) -> bool"""
8652        return _lldb.SBProcess_IsValid(self)
8653
8654    def GetTarget(self):
8655        r"""GetTarget(SBProcess self) -> SBTarget"""
8656        return _lldb.SBProcess_GetTarget(self)
8657
8658    def GetByteOrder(self):
8659        r"""GetByteOrder(SBProcess self) -> lldb::ByteOrder"""
8660        return _lldb.SBProcess_GetByteOrder(self)
8661
8662    def PutSTDIN(self, src):
8663        r"""
8664        PutSTDIN(SBProcess self, char const * src) -> size_t
8665
8666            Writes data into the current process's stdin. API client specifies a Python
8667            string as the only argument.
8668        """
8669        return _lldb.SBProcess_PutSTDIN(self, src)
8670
8671    def GetSTDOUT(self, dst):
8672        r"""
8673        GetSTDOUT(SBProcess self, char * dst) -> size_t
8674
8675            Reads data from the current process's stdout stream. API client specifies
8676            the size of the buffer to read data into. It returns the byte buffer in a
8677            Python string.
8678        """
8679        return _lldb.SBProcess_GetSTDOUT(self, dst)
8680
8681    def GetSTDERR(self, dst):
8682        r"""
8683        GetSTDERR(SBProcess self, char * dst) -> size_t
8684
8685            Reads data from the current process's stderr stream. API client specifies
8686            the size of the buffer to read data into. It returns the byte buffer in a
8687            Python string.
8688        """
8689        return _lldb.SBProcess_GetSTDERR(self, dst)
8690
8691    def GetAsyncProfileData(self, dst):
8692        r"""GetAsyncProfileData(SBProcess self, char * dst) -> size_t"""
8693        return _lldb.SBProcess_GetAsyncProfileData(self, dst)
8694
8695    def ReportEventState(self, *args):
8696        r"""
8697        ReportEventState(SBProcess self, SBEvent event, SBFile file)
8698        ReportEventState(SBProcess self, SBEvent event, lldb::FileSP BORROWED)
8699        """
8700        return _lldb.SBProcess_ReportEventState(self, *args)
8701
8702    def AppendEventStateReport(self, event, result):
8703        r"""AppendEventStateReport(SBProcess self, SBEvent event, SBCommandReturnObject result)"""
8704        return _lldb.SBProcess_AppendEventStateReport(self, event, result)
8705
8706    def RemoteAttachToProcessWithID(self, pid, error):
8707        r"""
8708        RemoteAttachToProcessWithID(SBProcess self, lldb::pid_t pid, SBError error) -> bool
8709
8710            Remote connection related functions. These will fail if the
8711            process is not in eStateConnected. They are intended for use
8712            when connecting to an externally managed debugserver instance.
8713        """
8714        return _lldb.SBProcess_RemoteAttachToProcessWithID(self, pid, error)
8715
8716    def RemoteLaunch(self, argv, envp, stdin_path, stdout_path, stderr_path, working_directory, launch_flags, stop_at_entry, error):
8717        r"""
8718        RemoteLaunch(SBProcess self, char const ** argv, char const ** envp, char const * stdin_path, char const * stdout_path, char const * stderr_path, char const * working_directory, uint32_t launch_flags, bool stop_at_entry, SBError error) -> bool
8719        See SBTarget.Launch for argument description and usage.
8720        """
8721        return _lldb.SBProcess_RemoteLaunch(self, argv, envp, stdin_path, stdout_path, stderr_path, working_directory, launch_flags, stop_at_entry, error)
8722
8723    def GetNumThreads(self):
8724        r"""GetNumThreads(SBProcess self) -> uint32_t"""
8725        return _lldb.SBProcess_GetNumThreads(self)
8726
8727    def GetThreadAtIndex(self, index):
8728        r"""
8729        GetThreadAtIndex(SBProcess self, size_t index) -> SBThread
8730
8731            Returns the INDEX'th thread from the list of current threads.  The index
8732            of a thread is only valid for the current stop.  For a persistent thread
8733            identifier use either the thread ID or the IndexID.  See help on SBThread
8734            for more details.
8735        """
8736        return _lldb.SBProcess_GetThreadAtIndex(self, index)
8737
8738    def GetThreadByID(self, sb_thread_id):
8739        r"""
8740        GetThreadByID(SBProcess self, lldb::tid_t sb_thread_id) -> SBThread
8741
8742            Returns the thread with the given thread ID.
8743        """
8744        return _lldb.SBProcess_GetThreadByID(self, sb_thread_id)
8745
8746    def GetThreadByIndexID(self, index_id):
8747        r"""
8748        GetThreadByIndexID(SBProcess self, uint32_t index_id) -> SBThread
8749
8750            Returns the thread with the given thread IndexID.
8751        """
8752        return _lldb.SBProcess_GetThreadByIndexID(self, index_id)
8753
8754    def GetSelectedThread(self):
8755        r"""
8756        GetSelectedThread(SBProcess self) -> SBThread
8757
8758            Returns the currently selected thread.
8759        """
8760        return _lldb.SBProcess_GetSelectedThread(self)
8761
8762    def CreateOSPluginThread(self, tid, context):
8763        r"""
8764        CreateOSPluginThread(SBProcess self, lldb::tid_t tid, lldb::addr_t context) -> SBThread
8765
8766            Lazily create a thread on demand through the current OperatingSystem plug-in, if the current OperatingSystem plug-in supports it.
8767        """
8768        return _lldb.SBProcess_CreateOSPluginThread(self, tid, context)
8769
8770    def SetSelectedThread(self, thread):
8771        r"""SetSelectedThread(SBProcess self, SBThread thread) -> bool"""
8772        return _lldb.SBProcess_SetSelectedThread(self, thread)
8773
8774    def SetSelectedThreadByID(self, tid):
8775        r"""SetSelectedThreadByID(SBProcess self, lldb::tid_t tid) -> bool"""
8776        return _lldb.SBProcess_SetSelectedThreadByID(self, tid)
8777
8778    def SetSelectedThreadByIndexID(self, index_id):
8779        r"""SetSelectedThreadByIndexID(SBProcess self, uint32_t index_id) -> bool"""
8780        return _lldb.SBProcess_SetSelectedThreadByIndexID(self, index_id)
8781
8782    def GetNumQueues(self):
8783        r"""GetNumQueues(SBProcess self) -> uint32_t"""
8784        return _lldb.SBProcess_GetNumQueues(self)
8785
8786    def GetQueueAtIndex(self, index):
8787        r"""GetQueueAtIndex(SBProcess self, size_t index) -> SBQueue"""
8788        return _lldb.SBProcess_GetQueueAtIndex(self, index)
8789
8790    def GetState(self):
8791        r"""GetState(SBProcess self) -> lldb::StateType"""
8792        return _lldb.SBProcess_GetState(self)
8793
8794    def GetExitStatus(self):
8795        r"""GetExitStatus(SBProcess self) -> int"""
8796        return _lldb.SBProcess_GetExitStatus(self)
8797
8798    def GetExitDescription(self):
8799        r"""GetExitDescription(SBProcess self) -> char const *"""
8800        return _lldb.SBProcess_GetExitDescription(self)
8801
8802    def GetProcessID(self):
8803        r"""
8804        GetProcessID(SBProcess self) -> lldb::pid_t
8805
8806            Returns the process ID of the process.
8807        """
8808        return _lldb.SBProcess_GetProcessID(self)
8809
8810    def GetUniqueID(self):
8811        r"""
8812        GetUniqueID(SBProcess self) -> uint32_t
8813
8814            Returns an integer ID that is guaranteed to be unique across all process instances. This is not the process ID, just a unique integer for comparison and caching purposes.
8815        """
8816        return _lldb.SBProcess_GetUniqueID(self)
8817
8818    def GetAddressByteSize(self):
8819        r"""GetAddressByteSize(SBProcess self) -> uint32_t"""
8820        return _lldb.SBProcess_GetAddressByteSize(self)
8821
8822    def Destroy(self):
8823        r"""
8824        Destroy(SBProcess self) -> SBError
8825
8826            Kills the process and shuts down all threads that were spawned to
8827            track and monitor process.
8828        """
8829        return _lldb.SBProcess_Destroy(self)
8830
8831    def Continue(self):
8832        r"""Continue(SBProcess self) -> SBError"""
8833        return _lldb.SBProcess_Continue(self)
8834
8835    def Stop(self):
8836        r"""Stop(SBProcess self) -> SBError"""
8837        return _lldb.SBProcess_Stop(self)
8838
8839    def Kill(self):
8840        r"""
8841        Kill(SBProcess self) -> SBError
8842        Same as Destroy(self).
8843        """
8844        return _lldb.SBProcess_Kill(self)
8845
8846    def Detach(self, *args):
8847        r"""
8848        Detach(SBProcess self) -> SBError
8849        Detach(SBProcess self, bool keep_stopped) -> SBError
8850        """
8851        return _lldb.SBProcess_Detach(self, *args)
8852
8853    def Signal(self, signal):
8854        r"""
8855        Signal(SBProcess self, int signal) -> SBError
8856        Sends the process a unix signal.
8857        """
8858        return _lldb.SBProcess_Signal(self, signal)
8859
8860    def GetUnixSignals(self):
8861        r"""GetUnixSignals(SBProcess self) -> SBUnixSignals"""
8862        return _lldb.SBProcess_GetUnixSignals(self)
8863
8864    def SendAsyncInterrupt(self):
8865        r"""SendAsyncInterrupt(SBProcess self)"""
8866        return _lldb.SBProcess_SendAsyncInterrupt(self)
8867
8868    def GetStopID(self, include_expression_stops=False):
8869        r"""
8870        GetStopID(SBProcess self, bool include_expression_stops=False) -> uint32_t
8871
8872            Returns a stop id that will increase every time the process executes.  If
8873            include_expression_stops is true, then stops caused by expression evaluation
8874            will cause the returned value to increase, otherwise the counter returned will
8875            only increase when execution is continued explicitly by the user.  Note, the value
8876            will always increase, but may increase by more than one per stop.
8877        """
8878        return _lldb.SBProcess_GetStopID(self, include_expression_stops)
8879
8880    def GetStopEventForStopID(self, stop_id):
8881        r"""GetStopEventForStopID(SBProcess self, uint32_t stop_id) -> SBEvent"""
8882        return _lldb.SBProcess_GetStopEventForStopID(self, stop_id)
8883
8884    def ForceScriptedState(self, new_state):
8885        r"""ForceScriptedState(SBProcess self, lldb::StateType new_state)"""
8886        return _lldb.SBProcess_ForceScriptedState(self, new_state)
8887
8888    def ReadMemory(self, addr, buf, error):
8889        r"""
8890        ReadMemory(SBProcess self, lldb::addr_t addr, void * buf, SBError error) -> size_t
8891
8892            Reads memory from the current process's address space and removes any
8893            traps that may have been inserted into the memory. It returns the byte
8894            buffer in a Python string. Example: ::
8895
8896                # Read 4 bytes from address 'addr' and assume error.Success() is True.
8897                content = process.ReadMemory(addr, 4, error)
8898                new_bytes = bytearray(content)
8899        """
8900        return _lldb.SBProcess_ReadMemory(self, addr, buf, error)
8901
8902    def WriteMemory(self, addr, buf, error):
8903        r"""
8904        WriteMemory(SBProcess self, lldb::addr_t addr, void const * buf, SBError error) -> size_t
8905
8906            Writes memory to the current process's address space and maintains any
8907            traps that might be present due to software breakpoints. Example: ::
8908
8909                # Create a Python string from the byte array.
8910                new_value = str(bytes)
8911                result = process.WriteMemory(addr, new_value, error)
8912                if not error.Success() or result != len(bytes):
8913                    print('SBProcess.WriteMemory() failed!')
8914        """
8915        return _lldb.SBProcess_WriteMemory(self, addr, buf, error)
8916
8917    def ReadCStringFromMemory(self, addr, char_buf, error):
8918        r"""
8919        ReadCStringFromMemory(SBProcess self, lldb::addr_t addr, void * char_buf, SBError error) -> size_t
8920
8921            Reads a NUL terminated C string from the current process's address space.
8922            It returns a python string of the exact length, or truncates the string if
8923            the maximum character limit is reached. Example: ::
8924
8925                # Read a C string of at most 256 bytes from address '0x1000'
8926                error = lldb.SBError()
8927                cstring = process.ReadCStringFromMemory(0x1000, 256, error)
8928                if error.Success():
8929                    print('cstring: ', cstring)
8930                else
8931                    print('error: ', error)
8932        """
8933        return _lldb.SBProcess_ReadCStringFromMemory(self, addr, char_buf, error)
8934
8935    def ReadUnsignedFromMemory(self, addr, byte_size, error):
8936        r"""
8937        ReadUnsignedFromMemory(SBProcess self, lldb::addr_t addr, uint32_t byte_size, SBError error) -> uint64_t
8938
8939            Reads an unsigned integer from memory given a byte size and an address.
8940            Returns the unsigned integer that was read. Example: ::
8941
8942                # Read a 4 byte unsigned integer from address 0x1000
8943                error = lldb.SBError()
8944                uint = ReadUnsignedFromMemory(0x1000, 4, error)
8945                if error.Success():
8946                    print('integer: %u' % uint)
8947                else
8948                    print('error: ', error)
8949        """
8950        return _lldb.SBProcess_ReadUnsignedFromMemory(self, addr, byte_size, error)
8951
8952    def ReadPointerFromMemory(self, addr, error):
8953        r"""
8954        ReadPointerFromMemory(SBProcess self, lldb::addr_t addr, SBError error) -> lldb::addr_t
8955
8956            Reads a pointer from memory from an address and returns the value. Example: ::
8957
8958                # Read a pointer from address 0x1000
8959                error = lldb.SBError()
8960                ptr = ReadPointerFromMemory(0x1000, error)
8961                if error.Success():
8962                    print('pointer: 0x%x' % ptr)
8963                else
8964                    print('error: ', error)
8965        """
8966        return _lldb.SBProcess_ReadPointerFromMemory(self, addr, error)
8967
8968    @staticmethod
8969    def GetStateFromEvent(event):
8970        r"""GetStateFromEvent(SBEvent event) -> lldb::StateType"""
8971        return _lldb.SBProcess_GetStateFromEvent(event)
8972
8973    @staticmethod
8974    def GetRestartedFromEvent(event):
8975        r"""GetRestartedFromEvent(SBEvent event) -> bool"""
8976        return _lldb.SBProcess_GetRestartedFromEvent(event)
8977
8978    @staticmethod
8979    def GetNumRestartedReasonsFromEvent(event):
8980        r"""GetNumRestartedReasonsFromEvent(SBEvent event) -> size_t"""
8981        return _lldb.SBProcess_GetNumRestartedReasonsFromEvent(event)
8982
8983    @staticmethod
8984    def GetRestartedReasonAtIndexFromEvent(event, idx):
8985        r"""GetRestartedReasonAtIndexFromEvent(SBEvent event, size_t idx) -> char const *"""
8986        return _lldb.SBProcess_GetRestartedReasonAtIndexFromEvent(event, idx)
8987
8988    @staticmethod
8989    def GetProcessFromEvent(event):
8990        r"""GetProcessFromEvent(SBEvent event) -> SBProcess"""
8991        return _lldb.SBProcess_GetProcessFromEvent(event)
8992
8993    @staticmethod
8994    def GetInterruptedFromEvent(event):
8995        r"""GetInterruptedFromEvent(SBEvent event) -> bool"""
8996        return _lldb.SBProcess_GetInterruptedFromEvent(event)
8997
8998    @staticmethod
8999    def GetStructuredDataFromEvent(event):
9000        r"""GetStructuredDataFromEvent(SBEvent event) -> SBStructuredData"""
9001        return _lldb.SBProcess_GetStructuredDataFromEvent(event)
9002
9003    @staticmethod
9004    def EventIsProcessEvent(event):
9005        r"""EventIsProcessEvent(SBEvent event) -> bool"""
9006        return _lldb.SBProcess_EventIsProcessEvent(event)
9007
9008    @staticmethod
9009    def EventIsStructuredDataEvent(event):
9010        r"""EventIsStructuredDataEvent(SBEvent event) -> bool"""
9011        return _lldb.SBProcess_EventIsStructuredDataEvent(event)
9012
9013    def GetBroadcaster(self):
9014        r"""GetBroadcaster(SBProcess self) -> SBBroadcaster"""
9015        return _lldb.SBProcess_GetBroadcaster(self)
9016
9017    @staticmethod
9018    def GetBroadcasterClass():
9019        r"""
9020        GetBroadcasterClass() -> char const *
9021        Get default process broadcaster class name (lldb.process).
9022        """
9023        return _lldb.SBProcess_GetBroadcasterClass()
9024
9025    def GetDescription(self, description):
9026        r"""GetDescription(SBProcess self, SBStream description) -> bool"""
9027        return _lldb.SBProcess_GetDescription(self, description)
9028
9029    def GetExtendedCrashInformation(self):
9030        r"""
9031        GetExtendedCrashInformation(SBProcess self) -> SBStructuredData
9032
9033            Returns the process' extended crash information.
9034        """
9035        return _lldb.SBProcess_GetExtendedCrashInformation(self)
9036
9037    def GetNumSupportedHardwareWatchpoints(self, error):
9038        r"""GetNumSupportedHardwareWatchpoints(SBProcess self, SBError error) -> uint32_t"""
9039        return _lldb.SBProcess_GetNumSupportedHardwareWatchpoints(self, error)
9040
9041    def LoadImage(self, *args):
9042        r"""
9043        LoadImage(SBProcess self, SBFileSpec remote_image_spec, SBError error) -> uint32_t
9044        LoadImage(SBProcess self, SBFileSpec local_image_spec, SBFileSpec remote_image_spec, SBError error) -> uint32_t
9045        """
9046        return _lldb.SBProcess_LoadImage(self, *args)
9047
9048    def LoadImageUsingPaths(self, image_spec, paths, loaded_path, error):
9049        r"""
9050        LoadImageUsingPaths(SBProcess self, SBFileSpec image_spec, SBStringList paths, SBFileSpec loaded_path, SBError error) -> uint32_t
9051
9052            Load the library whose filename is given by image_spec looking in all the
9053            paths supplied in the paths argument.  If successful, return a token that
9054            can be passed to UnloadImage and fill loaded_path with the path that was
9055            successfully loaded.  On failure, return
9056            lldb.LLDB_INVALID_IMAGE_TOKEN.
9057        """
9058        return _lldb.SBProcess_LoadImageUsingPaths(self, image_spec, paths, loaded_path, error)
9059
9060    def UnloadImage(self, image_token):
9061        r"""UnloadImage(SBProcess self, uint32_t image_token) -> SBError"""
9062        return _lldb.SBProcess_UnloadImage(self, image_token)
9063
9064    def SendEventData(self, data):
9065        r"""SendEventData(SBProcess self, char const * data) -> SBError"""
9066        return _lldb.SBProcess_SendEventData(self, data)
9067
9068    def GetNumExtendedBacktraceTypes(self):
9069        r"""
9070        GetNumExtendedBacktraceTypes(SBProcess self) -> uint32_t
9071
9072            Return the number of different thread-origin extended backtraces
9073            this process can support as a uint32_t.
9074            When the process is stopped and you have an SBThread, lldb may be
9075            able to show a backtrace of when that thread was originally created,
9076            or the work item was enqueued to it (in the case of a libdispatch
9077            queue).
9078        """
9079        return _lldb.SBProcess_GetNumExtendedBacktraceTypes(self)
9080
9081    def GetExtendedBacktraceTypeAtIndex(self, idx):
9082        r"""
9083        GetExtendedBacktraceTypeAtIndex(SBProcess self, uint32_t idx) -> char const *
9084
9085            Takes an index argument, returns the name of one of the thread-origin
9086            extended backtrace methods as a str.
9087        """
9088        return _lldb.SBProcess_GetExtendedBacktraceTypeAtIndex(self, idx)
9089
9090    def GetHistoryThreads(self, addr):
9091        r"""GetHistoryThreads(SBProcess self, lldb::addr_t addr) -> SBThreadCollection"""
9092        return _lldb.SBProcess_GetHistoryThreads(self, addr)
9093
9094    def IsInstrumentationRuntimePresent(self, type):
9095        r"""IsInstrumentationRuntimePresent(SBProcess self, lldb::InstrumentationRuntimeType type) -> bool"""
9096        return _lldb.SBProcess_IsInstrumentationRuntimePresent(self, type)
9097
9098    def SaveCore(self, *args):
9099        r"""
9100        SaveCore(SBProcess self, char const * file_name, char const * flavor, lldb::SaveCoreStyle core_style) -> SBError
9101        SaveCore(SBProcess self, char const * file_name) -> SBError
9102        """
9103        return _lldb.SBProcess_SaveCore(self, *args)
9104
9105    def GetMemoryRegionInfo(self, load_addr, region_info):
9106        r"""GetMemoryRegionInfo(SBProcess self, lldb::addr_t load_addr, SBMemoryRegionInfo region_info) -> SBError"""
9107        return _lldb.SBProcess_GetMemoryRegionInfo(self, load_addr, region_info)
9108
9109    def GetMemoryRegions(self):
9110        r"""GetMemoryRegions(SBProcess self) -> SBMemoryRegionInfoList"""
9111        return _lldb.SBProcess_GetMemoryRegions(self)
9112
9113    def GetProcessInfo(self):
9114        r"""
9115        GetProcessInfo(SBProcess self) -> SBProcessInfo
9116
9117            Get information about the process.
9118            Valid process info will only be returned when the process is alive,
9119            use IsValid() to check if the info returned is valid. ::
9120
9121                process_info = process.GetProcessInfo()
9122                if process_info.IsValid():
9123                    process_info.GetProcessID()
9124        """
9125        return _lldb.SBProcess_GetProcessInfo(self)
9126
9127    def GetCoreFile(self):
9128        r"""GetCoreFile(SBProcess self) -> SBFileSpec"""
9129        return _lldb.SBProcess_GetCoreFile(self)
9130
9131    def GetAddressMask(self, *args):
9132        r"""
9133        GetAddressMask(SBProcess self, lldb::AddressMaskType type, lldb::AddressMaskRange addr_range=eAddressMaskRangeLow) -> lldb::addr_t
9134
9135            Get the current address mask in this Process of a given type.
9136            There are lldb.eAddressMaskTypeCode and lldb.eAddressMaskTypeData address
9137            masks, and on most Targets, the the Data address mask is more general
9138            because there are no alignment restrictions, as there can be with Code
9139            addresses.
9140            lldb.eAddressMaskTypeAny may be used to get the most general mask.
9141            The bits which are not used for addressing are set to 1 in the returned
9142            mask.
9143            In an unusual environment with different address masks for high and low
9144            memory, this may also be specified.  This is uncommon, default is
9145            lldb.eAddressMaskRangeLow.
9146        """
9147        return _lldb.SBProcess_GetAddressMask(self, *args)
9148
9149    def SetAddressMask(self, *args):
9150        r"""
9151        SetAddressMask(SBProcess self, lldb::AddressMaskType type, lldb::addr_t mask, lldb::AddressMaskRange addr_range=eAddressMaskRangeLow)
9152
9153            Set the current address mask in this Process for a given type,
9154            lldb.eAddressMaskTypeCode or lldb.eAddressMaskTypeData.  Bits that are not
9155            used for addressing should be set to 1 in the mask.
9156            When setting all masks, lldb.eAddressMaskTypeAll may be specified.
9157            In an unusual environment with different address masks for high and low
9158            memory, this may also be specified.  This is uncommon, default is
9159            lldb.eAddressMaskRangeLow.
9160        """
9161        return _lldb.SBProcess_SetAddressMask(self, *args)
9162
9163    def SetAddressableBits(self, *args):
9164        r"""
9165        SetAddressableBits(SBProcess self, lldb::AddressMaskType type, uint32_t num_bits, lldb::AddressMaskRange addr_range=eAddressMaskRangeLow)
9166
9167            Set the number of low bits relevant for addressing in this Process
9168            for a given type, lldb.eAddressMaskTypeCode or lldb.eAddressMaskTypeData.
9169            When setting all masks, lldb.eAddressMaskTypeAll may be specified.
9170            In an unusual environment with different address masks for high and low
9171            memory, the address range  may also be specified.  This is uncommon,
9172            default is lldb.eAddressMaskRangeLow.
9173        """
9174        return _lldb.SBProcess_SetAddressableBits(self, *args)
9175
9176    def FixAddress(self, *args):
9177        r"""
9178        FixAddress(SBProcess self, lldb::addr_t addr, lldb::AddressMaskType type=eAddressMaskTypeAny) -> lldb::addr_t
9179
9180            Given a virtual address, clear the bits that are not used for addressing
9181            (and may be used for metadata, memory tagging, point authentication, etc).
9182            By default the most general mask, lldb.eAddressMaskTypeAny is used to
9183            process the address, but lldb.eAddressMaskTypeData and
9184            lldb.eAddressMaskTypeCode may be specified if the type of address is known.
9185        """
9186        return _lldb.SBProcess_FixAddress(self, *args)
9187
9188    def AllocateMemory(self, size, permissions, error):
9189        r"""
9190        AllocateMemory(SBProcess self, size_t size, uint32_t permissions, SBError error) -> lldb::addr_t
9191
9192            Allocates a block of memory within the process, with size and
9193            access permissions specified in the arguments. The permissions
9194            argument is an or-combination of zero or more of
9195            lldb.ePermissionsWritable, lldb.ePermissionsReadable, and
9196            lldb.ePermissionsExecutable. Returns the address
9197            of the allocated buffer in the process, or
9198            lldb.LLDB_INVALID_ADDRESS if the allocation failed.
9199        """
9200        return _lldb.SBProcess_AllocateMemory(self, size, permissions, error)
9201
9202    def DeallocateMemory(self, ptr):
9203        r"""
9204        DeallocateMemory(SBProcess self, lldb::addr_t ptr) -> SBError
9205
9206            Deallocates the block of memory (previously allocated using
9207            AllocateMemory) given in the argument.
9208        """
9209        return _lldb.SBProcess_DeallocateMemory(self, ptr)
9210
9211    def GetScriptedImplementation(self):
9212        r"""
9213        GetScriptedImplementation(SBProcess self) -> SBScriptObject
9214
9215            Returns the implementation object of the process plugin if available. None
9216            otherwise.
9217        """
9218        return _lldb.SBProcess_GetScriptedImplementation(self)
9219
9220    def GetStatus(self, status):
9221        r"""GetStatus(SBProcess self, SBStream status)"""
9222        return _lldb.SBProcess_GetStatus(self, status)
9223
9224    def __repr__(self):
9225        r"""__repr__(SBProcess self) -> std::string"""
9226        return _lldb.SBProcess___repr__(self)
9227
9228    def WriteMemoryAsCString(self, addr, str, error):
9229        '''
9230          WriteMemoryAsCString(self, addr, str, error):
9231            This functions the same as `WriteMemory` except a null-terminator is appended
9232            to the end of the buffer if it is not there already.
9233        '''
9234        if not str or len(str) == 0:
9235            return 0
9236        if not str[-1] == '\0':
9237            str += '\0'
9238        return self.WriteMemory(addr, str, error)
9239
9240    def __get_is_alive__(self):
9241        '''Returns "True" if the process is currently alive, "False" otherwise'''
9242        s = self.GetState()
9243        if (s == eStateAttaching or
9244            s == eStateLaunching or
9245            s == eStateStopped or
9246            s == eStateRunning or
9247            s == eStateStepping or
9248            s == eStateCrashed or
9249            s == eStateSuspended):
9250            return True
9251        return False
9252
9253    def __get_is_running__(self):
9254        '''Returns "True" if the process is currently running, "False" otherwise'''
9255        state = self.GetState()
9256        if state == eStateRunning or state == eStateStepping:
9257            return True
9258        return False
9259
9260    def __get_is_stopped__(self):
9261        '''Returns "True" if the process is currently stopped, "False" otherwise'''
9262        state = self.GetState()
9263        if state == eStateStopped or state == eStateCrashed or state == eStateSuspended:
9264            return True
9265        return False
9266
9267    class threads_access(object):
9268        '''A helper object that will lazily hand out thread for a process when supplied an index.'''
9269        def __init__(self, sbprocess):
9270            self.sbprocess = sbprocess
9271
9272        def __len__(self):
9273            if self.sbprocess:
9274                return int(self.sbprocess.GetNumThreads())
9275            return 0
9276
9277        def __getitem__(self, key):
9278            if isinstance(key, int):
9279                count = len(self)
9280                if -count <= key < count:
9281                    key %= count
9282                    return self.sbprocess.GetThreadAtIndex(key)
9283            return None
9284
9285    def get_threads_access_object(self):
9286        '''An accessor function that returns a modules_access() object which allows lazy thread access from a lldb.SBProcess object.'''
9287        return self.threads_access (self)
9288
9289    def get_process_thread_list(self):
9290        '''An accessor function that returns a list() that contains all threads in a lldb.SBProcess object.'''
9291        threads = []
9292        accessor = self.get_threads_access_object()
9293        for idx in range(len(accessor)):
9294            threads.append(accessor[idx])
9295        return threads
9296
9297    def __iter__(self):
9298        '''Iterate over all threads in a lldb.SBProcess object.'''
9299        return lldb_iter(self, 'GetNumThreads', 'GetThreadAtIndex')
9300
9301    def __len__(self):
9302        '''Return the number of threads in a lldb.SBProcess object.'''
9303        return self.GetNumThreads()
9304
9305    def __int__(self):
9306        return self.GetProcessID()
9307
9308    threads = property(get_process_thread_list, None, doc='''A read only property that returns a list() of lldb.SBThread objects for this process.''')
9309    thread = property(get_threads_access_object, None, doc='''A read only property that returns an object that can access threads by thread index (thread = lldb.process.thread[12]).''')
9310    is_alive = property(__get_is_alive__, None, doc='''A read only property that returns a boolean value that indicates if this process is currently alive.''')
9311    is_running = property(__get_is_running__, None, doc='''A read only property that returns a boolean value that indicates if this process is currently running.''')
9312    is_stopped = property(__get_is_stopped__, None, doc='''A read only property that returns a boolean value that indicates if this process is currently stopped.''')
9313    id = property(GetProcessID, None, doc='''A read only property that returns the process ID as an integer.''')
9314    target = property(GetTarget, None, doc='''A read only property that an lldb object that represents the target (lldb.SBTarget) that owns this process.''')
9315    num_threads = property(GetNumThreads, None, doc='''A read only property that returns the number of threads in this process as an integer.''')
9316    selected_thread = property(GetSelectedThread, SetSelectedThread, doc='''A read/write property that gets/sets the currently selected thread in this process. The getter returns a lldb.SBThread object and the setter takes an lldb.SBThread object.''')
9317    state = property(GetState, None, doc='''A read only property that returns an lldb enumeration value (see enumerations that start with "lldb.eState") that represents the current state of this process (running, stopped, exited, etc.).''')
9318    exit_state = property(GetExitStatus, None, doc='''A read only property that returns an exit status as an integer of this process when the process state is lldb.eStateExited.''')
9319    exit_description = property(GetExitDescription, None, doc='''A read only property that returns an exit description as a string of this process when the process state is lldb.eStateExited.''')
9320    broadcaster = property(GetBroadcaster, None, doc='''A read only property that an lldb object that represents the broadcaster (lldb.SBBroadcaster) for this process.''')
9321
9322
9323# Register SBProcess in _lldb:
9324_lldb.SBProcess_swigregister(SBProcess)
9325class SBProcessInfo(object):
9326    r"""
9327    Describes an existing process and any discoverable information that pertains to
9328    that process.
9329    """
9330
9331    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9332    __repr__ = _swig_repr
9333
9334    def __init__(self, *args):
9335        r"""
9336        __init__(SBProcessInfo self) -> SBProcessInfo
9337        __init__(SBProcessInfo self, SBProcessInfo rhs) -> SBProcessInfo
9338        """
9339        _lldb.SBProcessInfo_swiginit(self, _lldb.new_SBProcessInfo(*args))
9340    __swig_destroy__ = _lldb.delete_SBProcessInfo
9341
9342    def __nonzero__(self):
9343        return _lldb.SBProcessInfo___nonzero__(self)
9344    __bool__ = __nonzero__
9345
9346
9347
9348    def IsValid(self):
9349        r"""IsValid(SBProcessInfo self) -> bool"""
9350        return _lldb.SBProcessInfo_IsValid(self)
9351
9352    def GetName(self):
9353        r"""GetName(SBProcessInfo self) -> char const *"""
9354        return _lldb.SBProcessInfo_GetName(self)
9355
9356    def GetExecutableFile(self):
9357        r"""GetExecutableFile(SBProcessInfo self) -> SBFileSpec"""
9358        return _lldb.SBProcessInfo_GetExecutableFile(self)
9359
9360    def GetProcessID(self):
9361        r"""GetProcessID(SBProcessInfo self) -> lldb::pid_t"""
9362        return _lldb.SBProcessInfo_GetProcessID(self)
9363
9364    def GetUserID(self):
9365        r"""GetUserID(SBProcessInfo self) -> uint32_t"""
9366        return _lldb.SBProcessInfo_GetUserID(self)
9367
9368    def GetGroupID(self):
9369        r"""GetGroupID(SBProcessInfo self) -> uint32_t"""
9370        return _lldb.SBProcessInfo_GetGroupID(self)
9371
9372    def UserIDIsValid(self):
9373        r"""UserIDIsValid(SBProcessInfo self) -> bool"""
9374        return _lldb.SBProcessInfo_UserIDIsValid(self)
9375
9376    def GroupIDIsValid(self):
9377        r"""GroupIDIsValid(SBProcessInfo self) -> bool"""
9378        return _lldb.SBProcessInfo_GroupIDIsValid(self)
9379
9380    def GetEffectiveUserID(self):
9381        r"""GetEffectiveUserID(SBProcessInfo self) -> uint32_t"""
9382        return _lldb.SBProcessInfo_GetEffectiveUserID(self)
9383
9384    def GetEffectiveGroupID(self):
9385        r"""GetEffectiveGroupID(SBProcessInfo self) -> uint32_t"""
9386        return _lldb.SBProcessInfo_GetEffectiveGroupID(self)
9387
9388    def EffectiveUserIDIsValid(self):
9389        r"""EffectiveUserIDIsValid(SBProcessInfo self) -> bool"""
9390        return _lldb.SBProcessInfo_EffectiveUserIDIsValid(self)
9391
9392    def EffectiveGroupIDIsValid(self):
9393        r"""EffectiveGroupIDIsValid(SBProcessInfo self) -> bool"""
9394        return _lldb.SBProcessInfo_EffectiveGroupIDIsValid(self)
9395
9396    def GetParentProcessID(self):
9397        r"""GetParentProcessID(SBProcessInfo self) -> lldb::pid_t"""
9398        return _lldb.SBProcessInfo_GetParentProcessID(self)
9399
9400    def GetTriple(self):
9401        r"""
9402        GetTriple(SBProcessInfo self) -> char const *
9403        Return the target triple (arch-vendor-os) for the described process.
9404        """
9405        return _lldb.SBProcessInfo_GetTriple(self)
9406
9407# Register SBProcessInfo in _lldb:
9408_lldb.SBProcessInfo_swigregister(SBProcessInfo)
9409class SBProcessInfoList(object):
9410    r"""Proxy of C++ lldb::SBProcessInfoList class."""
9411
9412    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9413    __repr__ = _swig_repr
9414    __swig_destroy__ = _lldb.delete_SBProcessInfoList
9415
9416    def __init__(self, *args):
9417        r"""
9418        __init__(SBProcessInfoList self) -> SBProcessInfoList
9419        __init__(SBProcessInfoList self, SBProcessInfoList rhs) -> SBProcessInfoList
9420        """
9421        _lldb.SBProcessInfoList_swiginit(self, _lldb.new_SBProcessInfoList(*args))
9422
9423    def GetSize(self):
9424        r"""GetSize(SBProcessInfoList self) -> uint32_t"""
9425        return _lldb.SBProcessInfoList_GetSize(self)
9426
9427    def GetProcessInfoAtIndex(self, idx, info):
9428        r"""GetProcessInfoAtIndex(SBProcessInfoList self, uint32_t idx, SBProcessInfo info) -> bool"""
9429        return _lldb.SBProcessInfoList_GetProcessInfoAtIndex(self, idx, info)
9430
9431    def Clear(self):
9432        r"""Clear(SBProcessInfoList self)"""
9433        return _lldb.SBProcessInfoList_Clear(self)
9434
9435    def __len__(self):
9436      '''Return the number of process info in a lldb.SBProcessInfoListExtensions object.'''
9437      return self.GetSize()
9438
9439    def __iter__(self):
9440      '''Iterate over all the process info in a lldb.SBProcessInfoListExtensions object.'''
9441      return lldb_iter(self, 'GetSize', 'GetProcessInfoAtIndex')
9442
9443
9444# Register SBProcessInfoList in _lldb:
9445_lldb.SBProcessInfoList_swigregister(SBProcessInfoList)
9446class SBQueue(object):
9447    r"""Represents a libdispatch queue in the process."""
9448
9449    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9450    __repr__ = _swig_repr
9451
9452    def __init__(self, *args):
9453        r"""
9454        __init__(SBQueue self) -> SBQueue
9455        __init__(SBQueue self, SBQueue rhs) -> SBQueue
9456        """
9457        _lldb.SBQueue_swiginit(self, _lldb.new_SBQueue(*args))
9458    __swig_destroy__ = _lldb.delete_SBQueue
9459
9460    def __nonzero__(self):
9461        return _lldb.SBQueue___nonzero__(self)
9462    __bool__ = __nonzero__
9463
9464
9465
9466    def IsValid(self):
9467        r"""IsValid(SBQueue self) -> bool"""
9468        return _lldb.SBQueue_IsValid(self)
9469
9470    def Clear(self):
9471        r"""Clear(SBQueue self)"""
9472        return _lldb.SBQueue_Clear(self)
9473
9474    def GetProcess(self):
9475        r"""GetProcess(SBQueue self) -> SBProcess"""
9476        return _lldb.SBQueue_GetProcess(self)
9477
9478    def GetQueueID(self):
9479        r"""
9480        GetQueueID(SBQueue self) -> lldb::queue_id_t
9481
9482            Returns an lldb::queue_id_t type unique identifier number for this
9483            queue that will not be used by any other queue during this process'
9484            execution.  These ID numbers often start at 1 with the first
9485            system-created queues and increment from there.
9486        """
9487        return _lldb.SBQueue_GetQueueID(self)
9488
9489    def GetName(self):
9490        r"""GetName(SBQueue self) -> char const *"""
9491        return _lldb.SBQueue_GetName(self)
9492
9493    def GetIndexID(self):
9494        r"""GetIndexID(SBQueue self) -> uint32_t"""
9495        return _lldb.SBQueue_GetIndexID(self)
9496
9497    def GetNumThreads(self):
9498        r"""GetNumThreads(SBQueue self) -> uint32_t"""
9499        return _lldb.SBQueue_GetNumThreads(self)
9500
9501    def GetThreadAtIndex(self, arg2):
9502        r"""GetThreadAtIndex(SBQueue self, uint32_t arg2) -> SBThread"""
9503        return _lldb.SBQueue_GetThreadAtIndex(self, arg2)
9504
9505    def GetNumPendingItems(self):
9506        r"""GetNumPendingItems(SBQueue self) -> uint32_t"""
9507        return _lldb.SBQueue_GetNumPendingItems(self)
9508
9509    def GetPendingItemAtIndex(self, arg2):
9510        r"""GetPendingItemAtIndex(SBQueue self, uint32_t arg2) -> SBQueueItem"""
9511        return _lldb.SBQueue_GetPendingItemAtIndex(self, arg2)
9512
9513    def GetNumRunningItems(self):
9514        r"""GetNumRunningItems(SBQueue self) -> uint32_t"""
9515        return _lldb.SBQueue_GetNumRunningItems(self)
9516
9517    def GetKind(self):
9518        r"""
9519        GetKind(SBQueue self) -> lldb::QueueKind
9520
9521            Returns an lldb::QueueKind enumerated value (e.g. eQueueKindUnknown,
9522            eQueueKindSerial, eQueueKindConcurrent) describing the type of this
9523            queue.
9524        """
9525        return _lldb.SBQueue_GetKind(self)
9526
9527# Register SBQueue in _lldb:
9528_lldb.SBQueue_swigregister(SBQueue)
9529class SBQueueItem(object):
9530    r"""This class represents an item in an :py:class:`SBQueue`."""
9531
9532    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9533    __repr__ = _swig_repr
9534
9535    def __init__(self):
9536        r"""__init__(SBQueueItem self) -> SBQueueItem"""
9537        _lldb.SBQueueItem_swiginit(self, _lldb.new_SBQueueItem())
9538    __swig_destroy__ = _lldb.delete_SBQueueItem
9539
9540    def __nonzero__(self):
9541        return _lldb.SBQueueItem___nonzero__(self)
9542    __bool__ = __nonzero__
9543
9544
9545
9546    def IsValid(self):
9547        r"""IsValid(SBQueueItem self) -> bool"""
9548        return _lldb.SBQueueItem_IsValid(self)
9549
9550    def Clear(self):
9551        r"""Clear(SBQueueItem self)"""
9552        return _lldb.SBQueueItem_Clear(self)
9553
9554    def GetKind(self):
9555        r"""GetKind(SBQueueItem self) -> lldb::QueueItemKind"""
9556        return _lldb.SBQueueItem_GetKind(self)
9557
9558    def SetKind(self, kind):
9559        r"""SetKind(SBQueueItem self, lldb::QueueItemKind kind)"""
9560        return _lldb.SBQueueItem_SetKind(self, kind)
9561
9562    def GetAddress(self):
9563        r"""GetAddress(SBQueueItem self) -> SBAddress"""
9564        return _lldb.SBQueueItem_GetAddress(self)
9565
9566    def SetAddress(self, addr):
9567        r"""SetAddress(SBQueueItem self, SBAddress addr)"""
9568        return _lldb.SBQueueItem_SetAddress(self, addr)
9569
9570    def GetExtendedBacktraceThread(self, type):
9571        r"""GetExtendedBacktraceThread(SBQueueItem self, char const * type) -> SBThread"""
9572        return _lldb.SBQueueItem_GetExtendedBacktraceThread(self, type)
9573
9574    def __hex__(self):
9575      return self.GetAddress()
9576
9577
9578# Register SBQueueItem in _lldb:
9579_lldb.SBQueueItem_swigregister(SBQueueItem)
9580class SBReproducer(object):
9581    r"""Controls LLDB's reproducer functionality."""
9582
9583    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9584    __repr__ = _swig_repr
9585
9586    @staticmethod
9587    def Capture(path):
9588        r"""Capture(char const * path) -> char const *"""
9589        return _lldb.SBReproducer_Capture(path)
9590
9591    @staticmethod
9592    def PassiveReplay(path):
9593        r"""PassiveReplay(char const * path) -> char const *"""
9594        return _lldb.SBReproducer_PassiveReplay(path)
9595
9596    @staticmethod
9597    def SetAutoGenerate(b):
9598        r"""SetAutoGenerate(bool b) -> bool"""
9599        return _lldb.SBReproducer_SetAutoGenerate(b)
9600
9601    @staticmethod
9602    def SetWorkingDirectory(path):
9603        r"""SetWorkingDirectory(char const * path)"""
9604        return _lldb.SBReproducer_SetWorkingDirectory(path)
9605
9606    def __init__(self):
9607        r"""__init__(SBReproducer self) -> SBReproducer"""
9608        _lldb.SBReproducer_swiginit(self, _lldb.new_SBReproducer())
9609    __swig_destroy__ = _lldb.delete_SBReproducer
9610
9611# Register SBReproducer in _lldb:
9612_lldb.SBReproducer_swigregister(SBReproducer)
9613class SBScriptObject(object):
9614    r"""Proxy of C++ lldb::SBScriptObject class."""
9615
9616    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9617    __repr__ = _swig_repr
9618
9619    def __init__(self, *args):
9620        r"""
9621        __init__(SBScriptObject self, lldb::ScriptObjectPtr const ptr, lldb::ScriptLanguage lang) -> SBScriptObject
9622        __init__(SBScriptObject self, SBScriptObject rhs) -> SBScriptObject
9623        """
9624        _lldb.SBScriptObject_swiginit(self, _lldb.new_SBScriptObject(*args))
9625    __swig_destroy__ = _lldb.delete_SBScriptObject
9626
9627    def __nonzero__(self):
9628        return _lldb.SBScriptObject___nonzero__(self)
9629    __bool__ = __nonzero__
9630
9631
9632
9633    def __ne__(self, rhs):
9634        r"""__ne__(SBScriptObject self, SBScriptObject rhs) -> bool"""
9635        return _lldb.SBScriptObject___ne__(self, rhs)
9636
9637    def IsValid(self):
9638        r"""IsValid(SBScriptObject self) -> bool"""
9639        return _lldb.SBScriptObject_IsValid(self)
9640
9641    def GetPointer(self):
9642        r"""GetPointer(SBScriptObject self) -> lldb::ScriptObjectPtr"""
9643        return _lldb.SBScriptObject_GetPointer(self)
9644
9645    def GetLanguage(self):
9646        r"""GetLanguage(SBScriptObject self) -> lldb::ScriptLanguage"""
9647        return _lldb.SBScriptObject_GetLanguage(self)
9648
9649            # operator== is a free function, which swig does not handle, so we inject
9650            # our own equality operator here
9651    def __eq__(self, other):
9652        return not self.__ne__(other)
9653
9654    ptr = property(GetPointer, None, doc='''A read only property that returns the underlying script object.''')
9655    lang = property(GetLanguage, None, doc='''A read only property that returns the script language associated with with this script object.''')
9656
9657
9658# Register SBScriptObject in _lldb:
9659_lldb.SBScriptObject_swigregister(SBScriptObject)
9660class SBSection(object):
9661    r"""
9662    Represents an executable image section.
9663
9664    SBSection supports iteration through its subsection, represented as SBSection
9665    as well.  For example, ::
9666
9667        for sec in exe_module:
9668            if sec.GetName() == '__TEXT':
9669                print sec
9670                break
9671        print INDENT + 'Number of subsections: %d' % sec.GetNumSubSections()
9672        for subsec in sec:
9673            print INDENT + repr(subsec)
9674
9675    produces: ::
9676
9677      [0x0000000100000000-0x0000000100002000) a.out.__TEXT
9678          Number of subsections: 6
9679          [0x0000000100001780-0x0000000100001d5c) a.out.__TEXT.__text
9680          [0x0000000100001d5c-0x0000000100001da4) a.out.__TEXT.__stubs
9681          [0x0000000100001da4-0x0000000100001e2c) a.out.__TEXT.__stub_helper
9682          [0x0000000100001e2c-0x0000000100001f10) a.out.__TEXT.__cstring
9683          [0x0000000100001f10-0x0000000100001f68) a.out.__TEXT.__unwind_info
9684          [0x0000000100001f68-0x0000000100001ff8) a.out.__TEXT.__eh_frame
9685
9686    See also :py:class:`SBModule` .
9687    """
9688
9689    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9690
9691    def __init__(self, *args):
9692        r"""
9693        __init__(SBSection self) -> SBSection
9694        __init__(SBSection self, SBSection rhs) -> SBSection
9695        """
9696        _lldb.SBSection_swiginit(self, _lldb.new_SBSection(*args))
9697    __swig_destroy__ = _lldb.delete_SBSection
9698
9699    def __nonzero__(self):
9700        return _lldb.SBSection___nonzero__(self)
9701    __bool__ = __nonzero__
9702
9703
9704
9705    def IsValid(self):
9706        r"""IsValid(SBSection self) -> bool"""
9707        return _lldb.SBSection_IsValid(self)
9708
9709    def GetName(self):
9710        r"""GetName(SBSection self) -> char const *"""
9711        return _lldb.SBSection_GetName(self)
9712
9713    def GetParent(self):
9714        r"""GetParent(SBSection self) -> SBSection"""
9715        return _lldb.SBSection_GetParent(self)
9716
9717    def FindSubSection(self, sect_name):
9718        r"""FindSubSection(SBSection self, char const * sect_name) -> SBSection"""
9719        return _lldb.SBSection_FindSubSection(self, sect_name)
9720
9721    def GetNumSubSections(self):
9722        r"""GetNumSubSections(SBSection self) -> size_t"""
9723        return _lldb.SBSection_GetNumSubSections(self)
9724
9725    def GetSubSectionAtIndex(self, idx):
9726        r"""GetSubSectionAtIndex(SBSection self, size_t idx) -> SBSection"""
9727        return _lldb.SBSection_GetSubSectionAtIndex(self, idx)
9728
9729    def GetFileAddress(self):
9730        r"""GetFileAddress(SBSection self) -> lldb::addr_t"""
9731        return _lldb.SBSection_GetFileAddress(self)
9732
9733    def GetLoadAddress(self, target):
9734        r"""GetLoadAddress(SBSection self, SBTarget target) -> lldb::addr_t"""
9735        return _lldb.SBSection_GetLoadAddress(self, target)
9736
9737    def GetByteSize(self):
9738        r"""GetByteSize(SBSection self) -> lldb::addr_t"""
9739        return _lldb.SBSection_GetByteSize(self)
9740
9741    def GetFileOffset(self):
9742        r"""GetFileOffset(SBSection self) -> uint64_t"""
9743        return _lldb.SBSection_GetFileOffset(self)
9744
9745    def GetFileByteSize(self):
9746        r"""GetFileByteSize(SBSection self) -> uint64_t"""
9747        return _lldb.SBSection_GetFileByteSize(self)
9748
9749    def GetSectionData(self, *args):
9750        r"""
9751        GetSectionData(SBSection self) -> SBData
9752        GetSectionData(SBSection self, uint64_t offset, uint64_t size) -> SBData
9753        """
9754        return _lldb.SBSection_GetSectionData(self, *args)
9755
9756    def GetSectionType(self):
9757        r"""GetSectionType(SBSection self) -> lldb::SectionType"""
9758        return _lldb.SBSection_GetSectionType(self)
9759
9760    def GetPermissions(self):
9761        r"""GetPermissions(SBSection self) -> uint32_t"""
9762        return _lldb.SBSection_GetPermissions(self)
9763
9764    def GetTargetByteSize(self):
9765        r"""
9766        GetTargetByteSize(SBSection self) -> uint32_t
9767
9768            Return the size of a target's byte represented by this section
9769            in numbers of host bytes. Note that certain architectures have
9770            varying minimum addressable unit (i.e. byte) size for their
9771            CODE or DATA buses.
9772
9773            @return
9774                The number of host (8-bit) bytes needed to hold a target byte
9775        """
9776        return _lldb.SBSection_GetTargetByteSize(self)
9777
9778    def GetAlignment(self):
9779        r"""GetAlignment(SBSection self) -> uint32_t"""
9780        return _lldb.SBSection_GetAlignment(self)
9781
9782    def __eq__(self, rhs):
9783        r"""__eq__(SBSection self, SBSection rhs) -> bool"""
9784        return _lldb.SBSection___eq__(self, rhs)
9785
9786    def __ne__(self, rhs):
9787        r"""__ne__(SBSection self, SBSection rhs) -> bool"""
9788        return _lldb.SBSection___ne__(self, rhs)
9789
9790    def GetDescription(self, description):
9791        r"""GetDescription(SBSection self, SBStream description) -> bool"""
9792        return _lldb.SBSection_GetDescription(self, description)
9793
9794    def __repr__(self):
9795        r"""__repr__(SBSection self) -> std::string"""
9796        return _lldb.SBSection___repr__(self)
9797
9798            # operator== is a free function, which swig does not handle, so we inject
9799            # our own equality operator here
9800    def __eq__(self, other):
9801        return not self.__ne__(other)
9802
9803    def __iter__(self):
9804        '''Iterate over all subsections in a lldb.SBSection object.'''
9805        return lldb_iter(self, 'GetNumSubSections', 'GetSubSectionAtIndex')
9806
9807    def __len__(self):
9808        '''Return the number of subsections in a lldb.SBSection object.'''
9809        return self.GetNumSubSections()
9810
9811    def get_addr(self):
9812        return SBAddress(self, 0)
9813
9814    name = property(GetName, None, doc='''A read only property that returns the name of this section as a string.''')
9815    addr = property(get_addr, None, doc='''A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this section.''')
9816    file_addr = property(GetFileAddress, None, doc='''A read only property that returns an integer that represents the starting "file" address for this section, or the address of the section in the object file in which it is defined.''')
9817    size = property(GetByteSize, None, doc='''A read only property that returns the size in bytes of this section as an integer.''')
9818    file_offset = property(GetFileOffset, None, doc='''A read only property that returns the file offset in bytes of this section as an integer.''')
9819    file_size = property(GetFileByteSize, None, doc='''A read only property that returns the file size in bytes of this section as an integer.''')
9820    data = property(GetSectionData, None, doc='''A read only property that returns an lldb object that represents the bytes for this section (lldb.SBData) for this section.''')
9821    type = property(GetSectionType, None, doc='''A read only property that returns an lldb enumeration value (see enumerations that start with "lldb.eSectionType") that represents the type of this section (code, data, etc.).''')
9822    target_byte_size = property(GetTargetByteSize, None, doc='''A read only property that returns the size of a target byte represented by this section as a number of host bytes.''')
9823    alignment = property(GetAlignment, None, doc='''A read only property that returns the alignment of this section as a number of host bytes.''')
9824
9825
9826    def __eq__(self, rhs):
9827        if not isinstance(rhs, type(self)):
9828            return False
9829
9830        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
9831
9832    def __ne__(self, rhs):
9833        if not isinstance(rhs, type(self)):
9834            return True
9835
9836        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
9837
9838
9839# Register SBSection in _lldb:
9840_lldb.SBSection_swigregister(SBSection)
9841class SBSourceManager(object):
9842    r"""
9843    Represents a central authority for displaying source code.
9844
9845    For example (from test/source-manager/TestSourceManager.py), ::
9846
9847            # Create the filespec for 'main.c'.
9848            filespec = lldb.SBFileSpec('main.c', False)
9849            source_mgr = self.dbg.GetSourceManager()
9850            # Use a string stream as the destination.
9851            stream = lldb.SBStream()
9852            source_mgr.DisplaySourceLinesWithLineNumbers(filespec,
9853                                                         self.line,
9854                                                         2, # context before
9855                                                         2, # context after
9856                                                         '=>', # prefix for current line
9857                                                         stream)
9858
9859            #    2
9860            #    3    int main(int argc, char const *argv[]) {
9861            # => 4        printf('Hello world.\n'); // Set break point at this line.
9862            #    5        return 0;
9863            #    6    }
9864            self.expect(stream.GetData(), 'Source code displayed correctly',
9865                        exe=False,
9866                patterns = ['=> %d.*Hello world' % self.line])
9867    """
9868
9869    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9870    __repr__ = _swig_repr
9871
9872    def __init__(self, *args):
9873        r"""
9874        __init__(SBSourceManager self, SBDebugger debugger) -> SBSourceManager
9875        __init__(SBSourceManager self, SBTarget target) -> SBSourceManager
9876        __init__(SBSourceManager self, SBSourceManager rhs) -> SBSourceManager
9877        """
9878        _lldb.SBSourceManager_swiginit(self, _lldb.new_SBSourceManager(*args))
9879    __swig_destroy__ = _lldb.delete_SBSourceManager
9880
9881    def DisplaySourceLinesWithLineNumbers(self, file, line, context_before, context_after, current_line_cstr, s):
9882        r"""DisplaySourceLinesWithLineNumbers(SBSourceManager self, SBFileSpec file, uint32_t line, uint32_t context_before, uint32_t context_after, char const * current_line_cstr, SBStream s) -> size_t"""
9883        return _lldb.SBSourceManager_DisplaySourceLinesWithLineNumbers(self, file, line, context_before, context_after, current_line_cstr, s)
9884
9885    def DisplaySourceLinesWithLineNumbersAndColumn(self, file, line, column, context_before, context_after, current_line_cstr, s):
9886        r"""DisplaySourceLinesWithLineNumbersAndColumn(SBSourceManager self, SBFileSpec file, uint32_t line, uint32_t column, uint32_t context_before, uint32_t context_after, char const * current_line_cstr, SBStream s) -> size_t"""
9887        return _lldb.SBSourceManager_DisplaySourceLinesWithLineNumbersAndColumn(self, file, line, column, context_before, context_after, current_line_cstr, s)
9888
9889# Register SBSourceManager in _lldb:
9890_lldb.SBSourceManager_swigregister(SBSourceManager)
9891class SBStatisticsOptions(object):
9892    r"""A container for options to use when dumping statistics."""
9893
9894    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9895    __repr__ = _swig_repr
9896
9897    def __init__(self, *args):
9898        r"""
9899        __init__(SBStatisticsOptions self) -> SBStatisticsOptions
9900        __init__(SBStatisticsOptions self, SBStatisticsOptions rhs) -> SBStatisticsOptions
9901        """
9902        _lldb.SBStatisticsOptions_swiginit(self, _lldb.new_SBStatisticsOptions(*args))
9903    __swig_destroy__ = _lldb.delete_SBStatisticsOptions
9904
9905    def SetSummaryOnly(self, b):
9906        r"""
9907        SetSummaryOnly(SBStatisticsOptions self, bool b)
9908        Sets whether the statistics should only dump a summary.
9909        """
9910        return _lldb.SBStatisticsOptions_SetSummaryOnly(self, b)
9911
9912    def GetSummaryOnly(self):
9913        r"""
9914        GetSummaryOnly(SBStatisticsOptions self) -> bool
9915        Gets whether the statistics only dump a summary.
9916        """
9917        return _lldb.SBStatisticsOptions_GetSummaryOnly(self)
9918
9919    def SetReportAllAvailableDebugInfo(self, b):
9920        r"""
9921        SetReportAllAvailableDebugInfo(SBStatisticsOptions self, bool b)
9922
9923            Sets whether the statistics will force loading all possible debug info.
9924        """
9925        return _lldb.SBStatisticsOptions_SetReportAllAvailableDebugInfo(self, b)
9926
9927    def GetReportAllAvailableDebugInfo(self):
9928        r"""
9929        GetReportAllAvailableDebugInfo(SBStatisticsOptions self) -> bool
9930
9931            Gets whether the statistics will force loading all possible debug info.
9932        """
9933        return _lldb.SBStatisticsOptions_GetReportAllAvailableDebugInfo(self)
9934
9935# Register SBStatisticsOptions in _lldb:
9936_lldb.SBStatisticsOptions_swigregister(SBStatisticsOptions)
9937class SBStream(object):
9938    r"""
9939    Represents a destination for streaming data output to. By default, a string
9940    stream is created.
9941
9942    For example (from test/source-manager/TestSourceManager.py), ::
9943
9944            # Create the filespec for 'main.c'.
9945            filespec = lldb.SBFileSpec('main.c', False)
9946            source_mgr = self.dbg.GetSourceManager()
9947            # Use a string stream as the destination.
9948            stream = lldb.SBStream()
9949            source_mgr.DisplaySourceLinesWithLineNumbers(filespec,
9950                                                         self.line,
9951                                                         2, # context before
9952                                                         2, # context after
9953                                                         '=>', # prefix for current line
9954                                                         stream)
9955
9956            #    2
9957            #    3    int main(int argc, char const *argv[]) {
9958            # => 4        printf('Hello world.\n'); // Set break point at this line.
9959            #    5        return 0;
9960            #    6    }
9961            self.expect(stream.GetData(), 'Source code displayed correctly',
9962                        exe=False,
9963                patterns = ['=> %d.*Hello world' % self.line])
9964    """
9965
9966    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9967    __repr__ = _swig_repr
9968
9969    def __init__(self):
9970        r"""__init__(SBStream self) -> SBStream"""
9971        _lldb.SBStream_swiginit(self, _lldb.new_SBStream())
9972    __swig_destroy__ = _lldb.delete_SBStream
9973
9974    def __nonzero__(self):
9975        return _lldb.SBStream___nonzero__(self)
9976    __bool__ = __nonzero__
9977
9978
9979
9980    def IsValid(self):
9981        r"""IsValid(SBStream self) -> bool"""
9982        return _lldb.SBStream_IsValid(self)
9983
9984    def GetData(self):
9985        r"""
9986        GetData(SBStream self) -> char const *
9987
9988            If this stream is not redirected to a file, it will maintain a local
9989            cache for the stream data which can be accessed using this accessor.
9990        """
9991        return _lldb.SBStream_GetData(self)
9992
9993    def GetSize(self):
9994        r"""
9995        GetSize(SBStream self) -> size_t
9996
9997            If this stream is not redirected to a file, it will maintain a local
9998            cache for the stream output whose length can be accessed using this
9999            accessor.
10000        """
10001        return _lldb.SBStream_GetSize(self)
10002
10003    def Print(self, str):
10004        r"""Print(SBStream self, char const * str)"""
10005        return _lldb.SBStream_Print(self, str)
10006
10007    def RedirectToFile(self, *args):
10008        r"""
10009        RedirectToFile(SBStream self, char const * path, bool append)
10010        RedirectToFile(SBStream self, SBFile file)
10011        RedirectToFile(SBStream self, lldb::FileSP file)
10012        """
10013        return _lldb.SBStream_RedirectToFile(self, *args)
10014
10015    def RedirectToFileDescriptor(self, fd, transfer_fh_ownership):
10016        r"""RedirectToFileDescriptor(SBStream self, int fd, bool transfer_fh_ownership)"""
10017        return _lldb.SBStream_RedirectToFileDescriptor(self, fd, transfer_fh_ownership)
10018
10019    def Clear(self):
10020        r"""
10021        Clear(SBStream self)
10022
10023            If the stream is redirected to a file, forget about the file and if
10024            ownership of the file was transferred to this object, close the file.
10025            If the stream is backed by a local cache, clear this cache.
10026        """
10027        return _lldb.SBStream_Clear(self)
10028
10029    def __len__(self):
10030      return self.GetSize()
10031
10032
10033    def RedirectToFileHandle(self, file, transfer_fh_ownership):
10034        r"""DEPRECATED, use RedirectToFile"""
10035        return _lldb.SBStream_RedirectToFileHandle(self, file, transfer_fh_ownership)
10036
10037    def write(self, str):
10038        r"""write(SBStream self, char const * str)"""
10039        return _lldb.SBStream_write(self, str)
10040
10041    def flush(self):
10042        r"""flush(SBStream self)"""
10043        return _lldb.SBStream_flush(self)
10044
10045# Register SBStream in _lldb:
10046_lldb.SBStream_swigregister(SBStream)
10047class SBStringList(object):
10048    r"""Represents a list of strings."""
10049
10050    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10051    __repr__ = _swig_repr
10052
10053    def __init__(self, *args):
10054        r"""
10055        __init__(SBStringList self) -> SBStringList
10056        __init__(SBStringList self, SBStringList rhs) -> SBStringList
10057        """
10058        _lldb.SBStringList_swiginit(self, _lldb.new_SBStringList(*args))
10059    __swig_destroy__ = _lldb.delete_SBStringList
10060
10061    def __nonzero__(self):
10062        return _lldb.SBStringList___nonzero__(self)
10063    __bool__ = __nonzero__
10064
10065
10066
10067    def IsValid(self):
10068        r"""IsValid(SBStringList self) -> bool"""
10069        return _lldb.SBStringList_IsValid(self)
10070
10071    def AppendString(self, str):
10072        r"""AppendString(SBStringList self, char const * str)"""
10073        return _lldb.SBStringList_AppendString(self, str)
10074
10075    def AppendList(self, *args):
10076        r"""
10077        AppendList(SBStringList self, char const ** strv, int strc)
10078        AppendList(SBStringList self, SBStringList strings)
10079        """
10080        return _lldb.SBStringList_AppendList(self, *args)
10081
10082    def GetSize(self):
10083        r"""GetSize(SBStringList self) -> uint32_t"""
10084        return _lldb.SBStringList_GetSize(self)
10085
10086    def GetStringAtIndex(self, *args):
10087        r"""
10088        GetStringAtIndex(SBStringList self, size_t idx) -> char const
10089        GetStringAtIndex(SBStringList self, size_t idx) -> char const *
10090        """
10091        return _lldb.SBStringList_GetStringAtIndex(self, *args)
10092
10093    def Clear(self):
10094        r"""Clear(SBStringList self)"""
10095        return _lldb.SBStringList_Clear(self)
10096
10097    def __iter__(self):
10098        '''Iterate over all strings in a lldb.SBStringList object.'''
10099        return lldb_iter(self, 'GetSize', 'GetStringAtIndex')
10100
10101    def __len__(self):
10102        '''Return the number of strings in a lldb.SBStringList object.'''
10103        return self.GetSize()
10104
10105
10106# Register SBStringList in _lldb:
10107_lldb.SBStringList_swigregister(SBStringList)
10108class SBStructuredData(object):
10109    r"""
10110    A class representing a StructuredData event.
10111
10112    This class wraps the event type generated by StructuredData features.
10113    """
10114
10115    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10116
10117    def __init__(self, *args):
10118        r"""
10119        __init__(SBStructuredData self) -> SBStructuredData
10120        __init__(SBStructuredData self, SBStructuredData rhs) -> SBStructuredData
10121        __init__(SBStructuredData self, SBScriptObject obj, SBDebugger debugger) -> SBStructuredData
10122        """
10123        _lldb.SBStructuredData_swiginit(self, _lldb.new_SBStructuredData(*args))
10124    __swig_destroy__ = _lldb.delete_SBStructuredData
10125
10126    def __nonzero__(self):
10127        return _lldb.SBStructuredData___nonzero__(self)
10128    __bool__ = __nonzero__
10129
10130
10131
10132    def IsValid(self):
10133        r"""IsValid(SBStructuredData self) -> bool"""
10134        return _lldb.SBStructuredData_IsValid(self)
10135
10136    def SetFromJSON(self, *args):
10137        r"""
10138        SetFromJSON(SBStructuredData self, SBStream stream) -> SBError
10139        SetFromJSON(SBStructuredData self, char const * json) -> SBError
10140        """
10141        return _lldb.SBStructuredData_SetFromJSON(self, *args)
10142
10143    def Clear(self):
10144        r"""Clear(SBStructuredData self)"""
10145        return _lldb.SBStructuredData_Clear(self)
10146
10147    def GetAsJSON(self, stream):
10148        r"""GetAsJSON(SBStructuredData self, SBStream stream) -> SBError"""
10149        return _lldb.SBStructuredData_GetAsJSON(self, stream)
10150
10151    def GetDescription(self, stream):
10152        r"""GetDescription(SBStructuredData self, SBStream stream) -> SBError"""
10153        return _lldb.SBStructuredData_GetDescription(self, stream)
10154
10155    def GetType(self):
10156        r"""GetType(SBStructuredData self) -> lldb::StructuredDataType"""
10157        return _lldb.SBStructuredData_GetType(self)
10158
10159    def GetSize(self):
10160        r"""GetSize(SBStructuredData self) -> size_t"""
10161        return _lldb.SBStructuredData_GetSize(self)
10162
10163    def GetKeys(self, keys):
10164        r"""GetKeys(SBStructuredData self, SBStringList keys) -> bool"""
10165        return _lldb.SBStructuredData_GetKeys(self, keys)
10166
10167    def GetValueForKey(self, key):
10168        r"""GetValueForKey(SBStructuredData self, char const * key) -> SBStructuredData"""
10169        return _lldb.SBStructuredData_GetValueForKey(self, key)
10170
10171    def GetItemAtIndex(self, idx):
10172        r"""GetItemAtIndex(SBStructuredData self, size_t idx) -> SBStructuredData"""
10173        return _lldb.SBStructuredData_GetItemAtIndex(self, idx)
10174
10175    def GetUnsignedIntegerValue(self, fail_value=0):
10176        r"""GetUnsignedIntegerValue(SBStructuredData self, uint64_t fail_value=0) -> uint64_t"""
10177        return _lldb.SBStructuredData_GetUnsignedIntegerValue(self, fail_value)
10178
10179    def GetSignedIntegerValue(self, fail_value=0):
10180        r"""GetSignedIntegerValue(SBStructuredData self, int64_t fail_value=0) -> int64_t"""
10181        return _lldb.SBStructuredData_GetSignedIntegerValue(self, fail_value)
10182
10183    def GetIntegerValue(self, fail_value=0):
10184        r"""GetIntegerValue(SBStructuredData self, uint64_t fail_value=0) -> uint64_t"""
10185        return _lldb.SBStructuredData_GetIntegerValue(self, fail_value)
10186
10187    def GetFloatValue(self, fail_value=0.0):
10188        r"""GetFloatValue(SBStructuredData self, double fail_value=0.0) -> double"""
10189        return _lldb.SBStructuredData_GetFloatValue(self, fail_value)
10190
10191    def GetBooleanValue(self, fail_value=False):
10192        r"""GetBooleanValue(SBStructuredData self, bool fail_value=False) -> bool"""
10193        return _lldb.SBStructuredData_GetBooleanValue(self, fail_value)
10194
10195    def GetStringValue(self, dst):
10196        r"""GetStringValue(SBStructuredData self, char * dst) -> size_t"""
10197        return _lldb.SBStructuredData_GetStringValue(self, dst)
10198
10199    def GetGenericValue(self):
10200        r"""GetGenericValue(SBStructuredData self) -> SBScriptObject"""
10201        return _lldb.SBStructuredData_GetGenericValue(self)
10202
10203    def __repr__(self):
10204        r"""__repr__(SBStructuredData self) -> std::string"""
10205        return _lldb.SBStructuredData___repr__(self)
10206
10207    def __int__(self):
10208      return self.GetSignedInteger()
10209
10210    def __len__(self):
10211      '''Return the number of element in a lldb.SBStructuredData object.'''
10212      return self.GetSize()
10213
10214    def __iter__(self):
10215        '''Iterate over all the elements in a lldb.SBStructuredData object.'''
10216        return lldb_iter(self, 'GetSize', 'GetItemAtIndex')
10217
10218
10219# Register SBStructuredData in _lldb:
10220_lldb.SBStructuredData_swigregister(SBStructuredData)
10221class SBSymbol(object):
10222    r"""
10223    Represents the symbol possibly associated with a stack frame.
10224    :py:class:`SBModule` contains SBSymbol(s). SBSymbol can also be retrieved from :py:class:`SBFrame` .
10225    """
10226
10227    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10228    __swig_destroy__ = _lldb.delete_SBSymbol
10229
10230    def __init__(self, *args):
10231        r"""
10232        __init__(SBSymbol self) -> SBSymbol
10233        __init__(SBSymbol self, SBSymbol rhs) -> SBSymbol
10234        """
10235        _lldb.SBSymbol_swiginit(self, _lldb.new_SBSymbol(*args))
10236
10237    def __nonzero__(self):
10238        return _lldb.SBSymbol___nonzero__(self)
10239    __bool__ = __nonzero__
10240
10241
10242
10243    def IsValid(self):
10244        r"""IsValid(SBSymbol self) -> bool"""
10245        return _lldb.SBSymbol_IsValid(self)
10246
10247    def GetName(self):
10248        r"""GetName(SBSymbol self) -> char const *"""
10249        return _lldb.SBSymbol_GetName(self)
10250
10251    def GetDisplayName(self):
10252        r"""GetDisplayName(SBSymbol self) -> char const *"""
10253        return _lldb.SBSymbol_GetDisplayName(self)
10254
10255    def GetMangledName(self):
10256        r"""GetMangledName(SBSymbol self) -> char const *"""
10257        return _lldb.SBSymbol_GetMangledName(self)
10258
10259    def GetInstructions(self, *args):
10260        r"""
10261        GetInstructions(SBSymbol self, SBTarget target) -> SBInstructionList
10262        GetInstructions(SBSymbol self, SBTarget target, char const * flavor_string) -> SBInstructionList
10263        """
10264        return _lldb.SBSymbol_GetInstructions(self, *args)
10265
10266    def GetStartAddress(self):
10267        r"""GetStartAddress(SBSymbol self) -> SBAddress"""
10268        return _lldb.SBSymbol_GetStartAddress(self)
10269
10270    def GetEndAddress(self):
10271        r"""GetEndAddress(SBSymbol self) -> SBAddress"""
10272        return _lldb.SBSymbol_GetEndAddress(self)
10273
10274    def GetValue(self):
10275        r"""GetValue(SBSymbol self) -> uint64_t"""
10276        return _lldb.SBSymbol_GetValue(self)
10277
10278    def GetSize(self):
10279        r"""GetSize(SBSymbol self) -> uint64_t"""
10280        return _lldb.SBSymbol_GetSize(self)
10281
10282    def GetPrologueByteSize(self):
10283        r"""GetPrologueByteSize(SBSymbol self) -> uint32_t"""
10284        return _lldb.SBSymbol_GetPrologueByteSize(self)
10285
10286    def GetType(self):
10287        r"""GetType(SBSymbol self) -> lldb::SymbolType"""
10288        return _lldb.SBSymbol_GetType(self)
10289
10290    def __eq__(self, rhs):
10291        r"""__eq__(SBSymbol self, SBSymbol rhs) -> bool"""
10292        return _lldb.SBSymbol___eq__(self, rhs)
10293
10294    def __ne__(self, rhs):
10295        r"""__ne__(SBSymbol self, SBSymbol rhs) -> bool"""
10296        return _lldb.SBSymbol___ne__(self, rhs)
10297
10298    def GetDescription(self, description):
10299        r"""GetDescription(SBSymbol self, SBStream description) -> bool"""
10300        return _lldb.SBSymbol_GetDescription(self, description)
10301
10302    def IsExternal(self):
10303        r"""IsExternal(SBSymbol self) -> bool"""
10304        return _lldb.SBSymbol_IsExternal(self)
10305
10306    def IsSynthetic(self):
10307        r"""IsSynthetic(SBSymbol self) -> bool"""
10308        return _lldb.SBSymbol_IsSynthetic(self)
10309
10310    def __repr__(self):
10311        r"""__repr__(SBSymbol self) -> std::string"""
10312        return _lldb.SBSymbol___repr__(self)
10313
10314            # operator== is a free function, which swig does not handle, so we inject
10315            # our own equality operator here
10316    def __eq__(self, other):
10317        return not self.__ne__(other)
10318
10319    def __hex__(self):
10320        return self.GetStartAddress()
10321
10322    def get_instructions_from_current_target (self):
10323        return self.GetInstructions (target)
10324
10325    name = property(GetName, None, doc='''A read only property that returns the name for this symbol as a string.''')
10326    mangled = property(GetMangledName, None, doc='''A read only property that returns the mangled (linkage) name for this symbol as a string.''')
10327    type = property(GetType, None, doc='''A read only property that returns an lldb enumeration value (see enumerations that start with "lldb.eSymbolType") that represents the type of this symbol.''')
10328    addr = property(GetStartAddress, None, doc='''A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this symbol.''')
10329    end_addr = property(GetEndAddress, None, doc='''A read only property that returns an lldb object that represents the end address (lldb.SBAddress) for this symbol.''')
10330    prologue_size = property(GetPrologueByteSize, None, doc='''A read only property that returns the size in bytes of the prologue instructions as an unsigned integer.''')
10331    instructions = property(get_instructions_from_current_target, None, doc='''A read only property that returns an lldb object that represents the instructions (lldb.SBInstructionList) for this symbol.''')
10332    external = property(IsExternal, None, doc='''A read only property that returns a boolean value that indicates if this symbol is externally visiable (exported) from the module that contains it.''')
10333    synthetic = property(IsSynthetic, None, doc='''A read only property that returns a boolean value that indicates if this symbol was synthetically created from information in module that contains it.''')
10334
10335
10336    def __eq__(self, rhs):
10337        if not isinstance(rhs, type(self)):
10338            return False
10339
10340        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
10341
10342    def __ne__(self, rhs):
10343        if not isinstance(rhs, type(self)):
10344            return True
10345
10346        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
10347
10348
10349# Register SBSymbol in _lldb:
10350_lldb.SBSymbol_swigregister(SBSymbol)
10351class SBSymbolContext(object):
10352    r"""
10353    A context object that provides access to core debugger entities.
10354
10355    Many debugger functions require a context when doing lookups. This class
10356    provides a common structure that can be used as the result of a query that
10357    can contain a single result.
10358
10359    For example, ::
10360
10361            exe = os.path.join(os.getcwd(), 'a.out')
10362
10363            # Create a target for the debugger.
10364            target = self.dbg.CreateTarget(exe)
10365
10366            # Now create a breakpoint on main.c by name 'c'.
10367            breakpoint = target.BreakpointCreateByName('c', 'a.out')
10368
10369            # Now launch the process, and do not stop at entry point.
10370            process = target.LaunchSimple(None, None, os.getcwd())
10371
10372            # The inferior should stop on 'c'.
10373            from lldbutil import get_stopped_thread
10374            thread = get_stopped_thread(process, lldb.eStopReasonBreakpoint)
10375            frame0 = thread.GetFrameAtIndex(0)
10376
10377            # Now get the SBSymbolContext from this frame.  We want everything. :-)
10378            context = frame0.GetSymbolContext(lldb.eSymbolContextEverything)
10379
10380            # Get the module.
10381            module = context.GetModule()
10382            ...
10383
10384            # And the compile unit associated with the frame.
10385            compileUnit = context.GetCompileUnit()
10386            ...
10387
10388    """
10389
10390    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10391
10392    def __init__(self, *args):
10393        r"""
10394        __init__(SBSymbolContext self) -> SBSymbolContext
10395        __init__(SBSymbolContext self, SBSymbolContext rhs) -> SBSymbolContext
10396        """
10397        _lldb.SBSymbolContext_swiginit(self, _lldb.new_SBSymbolContext(*args))
10398    __swig_destroy__ = _lldb.delete_SBSymbolContext
10399
10400    def __nonzero__(self):
10401        return _lldb.SBSymbolContext___nonzero__(self)
10402    __bool__ = __nonzero__
10403
10404
10405
10406    def IsValid(self):
10407        r"""IsValid(SBSymbolContext self) -> bool"""
10408        return _lldb.SBSymbolContext_IsValid(self)
10409
10410    def GetModule(self):
10411        r"""GetModule(SBSymbolContext self) -> SBModule"""
10412        return _lldb.SBSymbolContext_GetModule(self)
10413
10414    def GetCompileUnit(self):
10415        r"""GetCompileUnit(SBSymbolContext self) -> SBCompileUnit"""
10416        return _lldb.SBSymbolContext_GetCompileUnit(self)
10417
10418    def GetFunction(self):
10419        r"""GetFunction(SBSymbolContext self) -> SBFunction"""
10420        return _lldb.SBSymbolContext_GetFunction(self)
10421
10422    def GetBlock(self):
10423        r"""GetBlock(SBSymbolContext self) -> SBBlock"""
10424        return _lldb.SBSymbolContext_GetBlock(self)
10425
10426    def GetLineEntry(self):
10427        r"""GetLineEntry(SBSymbolContext self) -> SBLineEntry"""
10428        return _lldb.SBSymbolContext_GetLineEntry(self)
10429
10430    def GetSymbol(self):
10431        r"""GetSymbol(SBSymbolContext self) -> SBSymbol"""
10432        return _lldb.SBSymbolContext_GetSymbol(self)
10433
10434    def SetModule(self, module):
10435        r"""SetModule(SBSymbolContext self, SBModule module)"""
10436        return _lldb.SBSymbolContext_SetModule(self, module)
10437
10438    def SetCompileUnit(self, compile_unit):
10439        r"""SetCompileUnit(SBSymbolContext self, SBCompileUnit compile_unit)"""
10440        return _lldb.SBSymbolContext_SetCompileUnit(self, compile_unit)
10441
10442    def SetFunction(self, function):
10443        r"""SetFunction(SBSymbolContext self, SBFunction function)"""
10444        return _lldb.SBSymbolContext_SetFunction(self, function)
10445
10446    def SetBlock(self, block):
10447        r"""SetBlock(SBSymbolContext self, SBBlock block)"""
10448        return _lldb.SBSymbolContext_SetBlock(self, block)
10449
10450    def SetLineEntry(self, line_entry):
10451        r"""SetLineEntry(SBSymbolContext self, SBLineEntry line_entry)"""
10452        return _lldb.SBSymbolContext_SetLineEntry(self, line_entry)
10453
10454    def SetSymbol(self, symbol):
10455        r"""SetSymbol(SBSymbolContext self, SBSymbol symbol)"""
10456        return _lldb.SBSymbolContext_SetSymbol(self, symbol)
10457
10458    def GetParentOfInlinedScope(self, curr_frame_pc, parent_frame_addr):
10459        r"""GetParentOfInlinedScope(SBSymbolContext self, SBAddress curr_frame_pc, SBAddress parent_frame_addr) -> SBSymbolContext"""
10460        return _lldb.SBSymbolContext_GetParentOfInlinedScope(self, curr_frame_pc, parent_frame_addr)
10461
10462    def GetDescription(self, description):
10463        r"""GetDescription(SBSymbolContext self, SBStream description) -> bool"""
10464        return _lldb.SBSymbolContext_GetDescription(self, description)
10465
10466    def __repr__(self):
10467        r"""__repr__(SBSymbolContext self) -> std::string"""
10468        return _lldb.SBSymbolContext___repr__(self)
10469
10470    module = property(GetModule, SetModule, doc='''A read/write property that allows the getting/setting of the module (lldb.SBModule) in this symbol context.''')
10471    compile_unit = property(GetCompileUnit, SetCompileUnit, doc='''A read/write property that allows the getting/setting of the compile unit (lldb.SBCompileUnit) in this symbol context.''')
10472    function = property(GetFunction, SetFunction, doc='''A read/write property that allows the getting/setting of the function (lldb.SBFunction) in this symbol context.''')
10473    block = property(GetBlock, SetBlock, doc='''A read/write property that allows the getting/setting of the block (lldb.SBBlock) in this symbol context.''')
10474    symbol = property(GetSymbol, SetSymbol, doc='''A read/write property that allows the getting/setting of the symbol (lldb.SBSymbol) in this symbol context.''')
10475    line_entry = property(GetLineEntry, SetLineEntry, doc='''A read/write property that allows the getting/setting of the line entry (lldb.SBLineEntry) in this symbol context.''')
10476
10477
10478# Register SBSymbolContext in _lldb:
10479_lldb.SBSymbolContext_swigregister(SBSymbolContext)
10480class SBSymbolContextList(object):
10481    r"""
10482    Represents a list of symbol context object. See also SBSymbolContext.
10483
10484    For example (from test/python_api/target/TestTargetAPI.py), ::
10485
10486        def find_functions(self, exe_name):
10487            '''Exercise SBTarget.FindFunctions() API.'''
10488            exe = os.path.join(os.getcwd(), exe_name)
10489
10490            # Create a target by the debugger.
10491            target = self.dbg.CreateTarget(exe)
10492            self.assertTrue(target, VALID_TARGET)
10493
10494            list = lldb.SBSymbolContextList()
10495            num = target.FindFunctions('c', lldb.eFunctionNameTypeAuto, False, list)
10496            self.assertTrue(num == 1 and list.GetSize() == 1)
10497
10498            for sc in list:
10499                self.assertTrue(sc.GetModule().GetFileSpec().GetFilename() == exe_name)
10500                self.assertTrue(sc.GetSymbol().GetName() == 'c')
10501    """
10502
10503    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10504
10505    def __init__(self, *args):
10506        r"""
10507        __init__(SBSymbolContextList self) -> SBSymbolContextList
10508        __init__(SBSymbolContextList self, SBSymbolContextList rhs) -> SBSymbolContextList
10509        """
10510        _lldb.SBSymbolContextList_swiginit(self, _lldb.new_SBSymbolContextList(*args))
10511    __swig_destroy__ = _lldb.delete_SBSymbolContextList
10512
10513    def __nonzero__(self):
10514        return _lldb.SBSymbolContextList___nonzero__(self)
10515    __bool__ = __nonzero__
10516
10517
10518
10519    def IsValid(self):
10520        r"""IsValid(SBSymbolContextList self) -> bool"""
10521        return _lldb.SBSymbolContextList_IsValid(self)
10522
10523    def GetSize(self):
10524        r"""GetSize(SBSymbolContextList self) -> uint32_t"""
10525        return _lldb.SBSymbolContextList_GetSize(self)
10526
10527    def GetContextAtIndex(self, idx):
10528        r"""GetContextAtIndex(SBSymbolContextList self, uint32_t idx) -> SBSymbolContext"""
10529        return _lldb.SBSymbolContextList_GetContextAtIndex(self, idx)
10530
10531    def GetDescription(self, description):
10532        r"""GetDescription(SBSymbolContextList self, SBStream description) -> bool"""
10533        return _lldb.SBSymbolContextList_GetDescription(self, description)
10534
10535    def Append(self, *args):
10536        r"""
10537        Append(SBSymbolContextList self, SBSymbolContext sc)
10538        Append(SBSymbolContextList self, SBSymbolContextList sc_list)
10539        """
10540        return _lldb.SBSymbolContextList_Append(self, *args)
10541
10542    def Clear(self):
10543        r"""Clear(SBSymbolContextList self)"""
10544        return _lldb.SBSymbolContextList_Clear(self)
10545
10546    def __repr__(self):
10547        r"""__repr__(SBSymbolContextList self) -> std::string"""
10548        return _lldb.SBSymbolContextList___repr__(self)
10549
10550    def __iter__(self):
10551        '''Iterate over all symbol contexts in a lldb.SBSymbolContextList
10552        object.'''
10553        return lldb_iter(self, 'GetSize', 'GetContextAtIndex')
10554
10555    def __len__(self):
10556        return int(self.GetSize())
10557
10558    def __getitem__(self, key):
10559        count = len(self)
10560        if isinstance(key, int):
10561            if -count <= key < count:
10562                key %= count
10563                return self.GetContextAtIndex(key)
10564            else:
10565                raise IndexError
10566        raise TypeError
10567
10568    def get_module_array(self):
10569        a = []
10570        for i in range(len(self)):
10571            obj = self.GetContextAtIndex(i).module
10572            if obj:
10573                a.append(obj)
10574        return a
10575
10576    def get_compile_unit_array(self):
10577        a = []
10578        for i in range(len(self)):
10579            obj = self.GetContextAtIndex(i).compile_unit
10580            if obj:
10581                a.append(obj)
10582        return a
10583    def get_function_array(self):
10584        a = []
10585        for i in range(len(self)):
10586            obj = self.GetContextAtIndex(i).function
10587            if obj:
10588                a.append(obj)
10589        return a
10590    def get_block_array(self):
10591        a = []
10592        for i in range(len(self)):
10593            obj = self.GetContextAtIndex(i).block
10594            if obj:
10595                a.append(obj)
10596        return a
10597    def get_symbol_array(self):
10598        a = []
10599        for i in range(len(self)):
10600            obj = self.GetContextAtIndex(i).symbol
10601            if obj:
10602                a.append(obj)
10603        return a
10604    def get_line_entry_array(self):
10605        a = []
10606        for i in range(len(self)):
10607            obj = self.GetContextAtIndex(i).line_entry
10608            if obj:
10609                a.append(obj)
10610        return a
10611
10612    modules = property(get_module_array, None, doc='''Returns a list() of lldb.SBModule objects, one for each module in each SBSymbolContext object in this list.''')
10613    compile_units = property(get_compile_unit_array, None, doc='''Returns a list() of lldb.SBCompileUnit objects, one for each compile unit in each SBSymbolContext object in this list.''')
10614    functions = property(get_function_array, None, doc='''Returns a list() of lldb.SBFunction objects, one for each function in each SBSymbolContext object in this list.''')
10615    blocks = property(get_block_array, None, doc='''Returns a list() of lldb.SBBlock objects, one for each block in each SBSymbolContext object in this list.''')
10616    line_entries = property(get_line_entry_array, None, doc='''Returns a list() of lldb.SBLineEntry objects, one for each line entry in each SBSymbolContext object in this list.''')
10617    symbols = property(get_symbol_array, None, doc='''Returns a list() of lldb.SBSymbol objects, one for each symbol in each SBSymbolContext object in this list.''')
10618
10619
10620# Register SBSymbolContextList in _lldb:
10621_lldb.SBSymbolContextList_swigregister(SBSymbolContextList)
10622class SBTarget(object):
10623    r"""
10624    Represents the target program running under the debugger.
10625
10626    SBTarget supports module, breakpoint, and watchpoint iterations. For example, ::
10627
10628        for m in target.module_iter():
10629            print m
10630
10631    produces: ::
10632
10633        (x86_64) /Volumes/data/lldb/svn/trunk/test/python_api/lldbutil/iter/a.out
10634        (x86_64) /usr/lib/dyld
10635        (x86_64) /usr/lib/libstdc++.6.dylib
10636        (x86_64) /usr/lib/libSystem.B.dylib
10637        (x86_64) /usr/lib/system/libmathCommon.A.dylib
10638        (x86_64) /usr/lib/libSystem.B.dylib(__commpage)
10639
10640    and, ::
10641
10642        for b in target.breakpoint_iter():
10643            print b
10644
10645    produces: ::
10646
10647        SBBreakpoint: id = 1, file ='main.cpp', line = 66, locations = 1
10648        SBBreakpoint: id = 2, file ='main.cpp', line = 85, locations = 1
10649
10650    and, ::
10651
10652        for wp_loc in target.watchpoint_iter():
10653            print wp_loc
10654
10655    produces: ::
10656
10657        Watchpoint 1: addr = 0x1034ca048 size = 4 state = enabled type = rw
10658            declare @ '/Volumes/data/lldb/svn/trunk/test/python_api/watchpoint/main.c:12'
10659            hit_count = 2     ignore_count = 0
10660    """
10661
10662    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10663    eBroadcastBitBreakpointChanged = _lldb.SBTarget_eBroadcastBitBreakpointChanged
10664
10665    eBroadcastBitModulesLoaded = _lldb.SBTarget_eBroadcastBitModulesLoaded
10666
10667    eBroadcastBitModulesUnloaded = _lldb.SBTarget_eBroadcastBitModulesUnloaded
10668
10669    eBroadcastBitWatchpointChanged = _lldb.SBTarget_eBroadcastBitWatchpointChanged
10670
10671    eBroadcastBitSymbolsLoaded = _lldb.SBTarget_eBroadcastBitSymbolsLoaded
10672
10673    eBroadcastBitSymbolsChanged = _lldb.SBTarget_eBroadcastBitSymbolsChanged
10674
10675
10676    def __init__(self, *args):
10677        r"""
10678        __init__(SBTarget self) -> SBTarget
10679        __init__(SBTarget self, SBTarget rhs) -> SBTarget
10680        """
10681        _lldb.SBTarget_swiginit(self, _lldb.new_SBTarget(*args))
10682    __swig_destroy__ = _lldb.delete_SBTarget
10683
10684    def __nonzero__(self):
10685        return _lldb.SBTarget___nonzero__(self)
10686    __bool__ = __nonzero__
10687
10688
10689
10690    def IsValid(self):
10691        r"""IsValid(SBTarget self) -> bool"""
10692        return _lldb.SBTarget_IsValid(self)
10693
10694    @staticmethod
10695    def EventIsTargetEvent(event):
10696        r"""EventIsTargetEvent(SBEvent event) -> bool"""
10697        return _lldb.SBTarget_EventIsTargetEvent(event)
10698
10699    @staticmethod
10700    def GetTargetFromEvent(event):
10701        r"""GetTargetFromEvent(SBEvent event) -> SBTarget"""
10702        return _lldb.SBTarget_GetTargetFromEvent(event)
10703
10704    @staticmethod
10705    def GetNumModulesFromEvent(event):
10706        r"""GetNumModulesFromEvent(SBEvent event) -> uint32_t"""
10707        return _lldb.SBTarget_GetNumModulesFromEvent(event)
10708
10709    @staticmethod
10710    def GetModuleAtIndexFromEvent(idx, event):
10711        r"""GetModuleAtIndexFromEvent(uint32_t const idx, SBEvent event) -> SBModule"""
10712        return _lldb.SBTarget_GetModuleAtIndexFromEvent(idx, event)
10713
10714    @staticmethod
10715    def GetBroadcasterClassName():
10716        r"""GetBroadcasterClassName() -> char const *"""
10717        return _lldb.SBTarget_GetBroadcasterClassName()
10718
10719    def GetProcess(self):
10720        r"""GetProcess(SBTarget self) -> SBProcess"""
10721        return _lldb.SBTarget_GetProcess(self)
10722
10723    def SetCollectingStats(self, v):
10724        r"""SetCollectingStats(SBTarget self, bool v)"""
10725        return _lldb.SBTarget_SetCollectingStats(self, v)
10726
10727    def GetCollectingStats(self):
10728        r"""GetCollectingStats(SBTarget self) -> bool"""
10729        return _lldb.SBTarget_GetCollectingStats(self)
10730
10731    def GetStatistics(self, *args):
10732        r"""
10733        GetStatistics(SBTarget self) -> SBStructuredData
10734        GetStatistics(SBTarget self, SBStatisticsOptions options) -> SBStructuredData
10735        """
10736        return _lldb.SBTarget_GetStatistics(self, *args)
10737
10738    def GetPlatform(self):
10739        r"""
10740        GetPlatform(SBTarget self) -> SBPlatform
10741
10742            Return the platform object associated with the target.
10743
10744            After return, the platform object should be checked for
10745            validity.
10746
10747            @return
10748                A platform object.
10749        """
10750        return _lldb.SBTarget_GetPlatform(self)
10751
10752    def GetEnvironment(self):
10753        r"""GetEnvironment(SBTarget self) -> SBEnvironment"""
10754        return _lldb.SBTarget_GetEnvironment(self)
10755
10756    def Install(self):
10757        r"""
10758        Install(SBTarget self) -> SBError
10759
10760            Install any binaries that need to be installed.
10761
10762            This function does nothing when debugging on the host system.
10763            When connected to remote platforms, the target's main executable
10764            and any modules that have their install path set will be
10765            installed on the remote platform. If the main executable doesn't
10766            have an install location set, it will be installed in the remote
10767            platform's working directory.
10768
10769            @return
10770                An error describing anything that went wrong during
10771                installation.
10772        """
10773        return _lldb.SBTarget_Install(self)
10774
10775    def LoadCore(self, *args):
10776        r"""
10777        LoadCore(SBTarget self, char const * core_file) -> SBProcess
10778        LoadCore(SBTarget self, char const * core_file, SBError error) -> SBProcess
10779
10780            Load a core file
10781
10782            @param[in] core_file
10783                File path of the core dump.
10784
10785            @param[out] error
10786                An error explaining what went wrong if the operation fails.
10787                (Optional)
10788
10789            @return
10790                 A process object for the newly created core file.
10791
10792            For example,
10793
10794                process = target.LoadCore('./a.out.core')
10795
10796            loads a new core file and returns the process object.
10797        """
10798        return _lldb.SBTarget_LoadCore(self, *args)
10799
10800    def LaunchSimple(self, argv, envp, working_directory):
10801        r"""
10802        LaunchSimple(SBTarget self, char const ** argv, char const ** envp, char const * working_directory) -> SBProcess
10803
10804            Launch a new process with sensible defaults.
10805
10806            :param argv: The argument array.
10807            :param envp: The environment array.
10808            :param working_directory: The working directory to have the child process run in
10809            :return: The newly created process.
10810            :rtype: SBProcess
10811
10812            A pseudo terminal will be used as stdin/stdout/stderr.
10813            No launch flags are passed and the target's debuger is used as a listener.
10814
10815            For example, ::
10816
10817                process = target.LaunchSimple(['X', 'Y', 'Z'], None, os.getcwd())
10818
10819            launches a new process by passing 'X', 'Y', 'Z' as the args to the
10820            executable.
10821        """
10822        return _lldb.SBTarget_LaunchSimple(self, argv, envp, working_directory)
10823
10824    def Launch(self, *args):
10825        r"""
10826        Launch(SBTarget self, SBListener listener, char const ** argv, char const ** envp, char const * stdin_path, char const * stdout_path, char const * stderr_path, char const * working_directory, uint32_t launch_flags, bool stop_at_entry, SBError error) -> SBProcess
10827        Launch(SBTarget self, SBLaunchInfo launch_info, SBError error) -> SBProcess
10828
10829            Launch a new process.
10830
10831            Launch a new process by spawning a new process using the
10832            target object's executable module's file as the file to launch.
10833            Arguments are given in argv, and the environment variables
10834            are in envp. Standard input and output files can be
10835            optionally re-directed to stdin_path, stdout_path, and
10836            stderr_path.
10837
10838            @param[in] listener
10839                An optional listener that will receive all process events.
10840                If listener is valid then listener will listen to all
10841                process events. If not valid, then this target's debugger
10842                (SBTarget::GetDebugger()) will listen to all process events.
10843
10844            @param[in] argv
10845                The argument array.
10846
10847            @param[in] envp
10848                The environment array.
10849
10850            @param[in] launch_flags
10851                Flags to modify the launch (@see lldb::LaunchFlags)
10852
10853            @param[in] stdin_path
10854                The path to use when re-directing the STDIN of the new
10855                process. If all stdXX_path arguments are NULL, a pseudo
10856                terminal will be used.
10857
10858            @param[in] stdout_path
10859                The path to use when re-directing the STDOUT of the new
10860                process. If all stdXX_path arguments are NULL, a pseudo
10861                terminal will be used.
10862
10863            @param[in] stderr_path
10864                The path to use when re-directing the STDERR of the new
10865                process. If all stdXX_path arguments are NULL, a pseudo
10866                terminal will be used.
10867
10868            @param[in] working_directory
10869                The working directory to have the child process run in
10870
10871            @param[in] launch_flags
10872                Some launch options specified by logical OR'ing
10873                lldb::LaunchFlags enumeration values together.
10874
10875            @param[in] stop_at_entry
10876                If false do not stop the inferior at the entry point.
10877
10878            @param[out]
10879                An error object. Contains the reason if there is some failure.
10880
10881            @return
10882                 A process object for the newly created process.
10883
10884            For example,
10885
10886                process = target.Launch(self.dbg.GetListener(), None, None,
10887                                        None, '/tmp/stdout.txt', None,
10888                                        None, 0, False, error)
10889
10890            launches a new process by passing nothing for both the args and the envs
10891            and redirect the standard output of the inferior to the /tmp/stdout.txt
10892            file. It does not specify a working directory so that the debug server
10893            will use its idea of what the current working directory is for the
10894            inferior. Also, we ask the debugger not to stop the inferior at the
10895            entry point. If no breakpoint is specified for the inferior, it should
10896            run to completion if no user interaction is required.
10897        """
10898        return _lldb.SBTarget_Launch(self, *args)
10899
10900    def Attach(self, attach_info, error):
10901        r"""Attach(SBTarget self, SBAttachInfo attach_info, SBError error) -> SBProcess"""
10902        return _lldb.SBTarget_Attach(self, attach_info, error)
10903
10904    def AttachToProcessWithID(self, listener, pid, error):
10905        r"""
10906        AttachToProcessWithID(SBTarget self, SBListener listener, lldb::pid_t pid, SBError error) -> SBProcess
10907
10908            Attach to process with pid.
10909
10910            @param[in] listener
10911                An optional listener that will receive all process events.
10912                If listener is valid then listener will listen to all
10913                process events. If not valid, then this target's debugger
10914                (SBTarget::GetDebugger()) will listen to all process events.
10915
10916            @param[in] pid
10917                The process ID to attach to.
10918
10919            @param[out]
10920                An error explaining what went wrong if attach fails.
10921
10922            @return
10923                 A process object for the attached process.
10924        """
10925        return _lldb.SBTarget_AttachToProcessWithID(self, listener, pid, error)
10926
10927    def AttachToProcessWithName(self, listener, name, wait_for, error):
10928        r"""
10929        AttachToProcessWithName(SBTarget self, SBListener listener, char const * name, bool wait_for, SBError error) -> SBProcess
10930
10931            Attach to process with name.
10932
10933            @param[in] listener
10934                An optional listener that will receive all process events.
10935                If listener is valid then listener will listen to all
10936                process events. If not valid, then this target's debugger
10937                (SBTarget::GetDebugger()) will listen to all process events.
10938
10939            @param[in] name
10940                Basename of process to attach to.
10941
10942            @param[in] wait_for
10943                If true wait for a new instance of 'name' to be launched.
10944
10945            @param[out]
10946                An error explaining what went wrong if attach fails.
10947
10948            @return
10949                 A process object for the attached process.
10950        """
10951        return _lldb.SBTarget_AttachToProcessWithName(self, listener, name, wait_for, error)
10952
10953    def ConnectRemote(self, listener, url, plugin_name, error):
10954        r"""
10955        ConnectRemote(SBTarget self, SBListener listener, char const * url, char const * plugin_name, SBError error) -> SBProcess
10956
10957            Connect to a remote debug server with url.
10958
10959            @param[in] listener
10960                An optional listener that will receive all process events.
10961                If listener is valid then listener will listen to all
10962                process events. If not valid, then this target's debugger
10963                (SBTarget::GetDebugger()) will listen to all process events.
10964
10965            @param[in] url
10966                The url to connect to, e.g., 'connect://localhost:12345'.
10967
10968            @param[in] plugin_name
10969                The plugin name to be used; can be NULL.
10970
10971            @param[out]
10972                An error explaining what went wrong if the connect fails.
10973
10974            @return
10975                 A process object for the connected process.
10976        """
10977        return _lldb.SBTarget_ConnectRemote(self, listener, url, plugin_name, error)
10978
10979    def GetExecutable(self):
10980        r"""GetExecutable(SBTarget self) -> SBFileSpec"""
10981        return _lldb.SBTarget_GetExecutable(self)
10982
10983    def AppendImageSearchPath(self, _from, to, error):
10984        r"""
10985        AppendImageSearchPath(SBTarget self, char const * _from, char const * to, SBError error)
10986
10987            Append the path mapping (from -> to) to the target's paths mapping list.
10988        """
10989        return _lldb.SBTarget_AppendImageSearchPath(self, _from, to, error)
10990
10991    def AddModule(self, *args):
10992        r"""
10993        AddModule(SBTarget self, SBModule module) -> bool
10994        AddModule(SBTarget self, char const * path, char const * triple, char const * uuid) -> SBModule
10995        AddModule(SBTarget self, char const * path, char const * triple, char const * uuid_cstr, char const * symfile) -> SBModule
10996        AddModule(SBTarget self, SBModuleSpec module_spec) -> SBModule
10997        """
10998        return _lldb.SBTarget_AddModule(self, *args)
10999
11000    def GetNumModules(self):
11001        r"""GetNumModules(SBTarget self) -> uint32_t"""
11002        return _lldb.SBTarget_GetNumModules(self)
11003
11004    def GetModuleAtIndex(self, idx):
11005        r"""GetModuleAtIndex(SBTarget self, uint32_t idx) -> SBModule"""
11006        return _lldb.SBTarget_GetModuleAtIndex(self, idx)
11007
11008    def RemoveModule(self, module):
11009        r"""RemoveModule(SBTarget self, SBModule module) -> bool"""
11010        return _lldb.SBTarget_RemoveModule(self, module)
11011
11012    def GetDebugger(self):
11013        r"""GetDebugger(SBTarget self) -> SBDebugger"""
11014        return _lldb.SBTarget_GetDebugger(self)
11015
11016    def FindModule(self, file_spec):
11017        r"""FindModule(SBTarget self, SBFileSpec file_spec) -> SBModule"""
11018        return _lldb.SBTarget_FindModule(self, file_spec)
11019
11020    def FindCompileUnits(self, sb_file_spec):
11021        r"""
11022        FindCompileUnits(SBTarget self, SBFileSpec sb_file_spec) -> SBSymbolContextList
11023
11024            Find compile units related to this target and passed source
11025            file.
11026
11027            :param sb_file_spec: A :py:class:`lldb::SBFileSpec` object that contains source file
11028                specification.
11029            :return: The symbol contexts for all the matches.
11030            :rtype: SBSymbolContextList
11031        """
11032        return _lldb.SBTarget_FindCompileUnits(self, sb_file_spec)
11033
11034    def GetByteOrder(self):
11035        r"""GetByteOrder(SBTarget self) -> lldb::ByteOrder"""
11036        return _lldb.SBTarget_GetByteOrder(self)
11037
11038    def GetAddressByteSize(self):
11039        r"""GetAddressByteSize(SBTarget self) -> uint32_t"""
11040        return _lldb.SBTarget_GetAddressByteSize(self)
11041
11042    def GetTriple(self):
11043        r"""GetTriple(SBTarget self) -> char const *"""
11044        return _lldb.SBTarget_GetTriple(self)
11045
11046    def GetABIName(self):
11047        r"""GetABIName(SBTarget self) -> char const *"""
11048        return _lldb.SBTarget_GetABIName(self)
11049
11050    def GetLabel(self):
11051        r"""GetLabel(SBTarget self) -> char const *"""
11052        return _lldb.SBTarget_GetLabel(self)
11053
11054    def SetLabel(self, label):
11055        r"""SetLabel(SBTarget self, char const * label) -> SBError"""
11056        return _lldb.SBTarget_SetLabel(self, label)
11057
11058    def GetDataByteSize(self):
11059        r"""
11060        GetDataByteSize(SBTarget self) -> uint32_t
11061
11062            Architecture data byte width accessor
11063
11064            :return: The size in 8-bit (host) bytes of a minimum addressable unit from the Architecture's data bus.
11065
11066
11067        """
11068        return _lldb.SBTarget_GetDataByteSize(self)
11069
11070    def GetCodeByteSize(self):
11071        r"""
11072        GetCodeByteSize(SBTarget self) -> uint32_t
11073
11074            Architecture code byte width accessor.
11075
11076            :return: The size in 8-bit (host) bytes of a minimum addressable unit from the Architecture's code bus.
11077
11078
11079        """
11080        return _lldb.SBTarget_GetCodeByteSize(self)
11081
11082    def GetMaximumNumberOfChildrenToDisplay(self):
11083        r"""GetMaximumNumberOfChildrenToDisplay(SBTarget self) -> uint32_t"""
11084        return _lldb.SBTarget_GetMaximumNumberOfChildrenToDisplay(self)
11085
11086    def SetSectionLoadAddress(self, section, section_base_addr):
11087        r"""SetSectionLoadAddress(SBTarget self, SBSection section, lldb::addr_t section_base_addr) -> SBError"""
11088        return _lldb.SBTarget_SetSectionLoadAddress(self, section, section_base_addr)
11089
11090    def ClearSectionLoadAddress(self, section):
11091        r"""ClearSectionLoadAddress(SBTarget self, SBSection section) -> SBError"""
11092        return _lldb.SBTarget_ClearSectionLoadAddress(self, section)
11093
11094    def SetModuleLoadAddress(self, module, sections_offset):
11095        r"""SetModuleLoadAddress(SBTarget self, SBModule module, uint64_t sections_offset) -> SBError"""
11096        return _lldb.SBTarget_SetModuleLoadAddress(self, module, sections_offset)
11097
11098    def ClearModuleLoadAddress(self, module):
11099        r"""ClearModuleLoadAddress(SBTarget self, SBModule module) -> SBError"""
11100        return _lldb.SBTarget_ClearModuleLoadAddress(self, module)
11101
11102    def FindFunctions(self, *args):
11103        r"""
11104        FindFunctions(SBTarget self, char const * name, uint32_t name_type_mask=eFunctionNameTypeAny) -> SBSymbolContextList
11105
11106            Find functions by name.
11107
11108            :param name: The name of the function we are looking for.
11109
11110            :param name_type_mask:
11111                A logical OR of one or more FunctionNameType enum bits that
11112                indicate what kind of names should be used when doing the
11113                lookup. Bits include fully qualified names, base names,
11114                C++ methods, or ObjC selectors.
11115                See FunctionNameType for more details.
11116
11117            :return:
11118                A lldb::SBSymbolContextList that gets filled in with all of
11119                the symbol contexts for all the matches.
11120        """
11121        return _lldb.SBTarget_FindFunctions(self, *args)
11122
11123    def FindFirstGlobalVariable(self, name):
11124        r"""
11125        FindFirstGlobalVariable(SBTarget self, char const * name) -> SBValue
11126
11127            Find the first global (or static) variable by name.
11128
11129            @param[in] name
11130                The name of the global or static variable we are looking
11131                for.
11132
11133            @return
11134                An SBValue that gets filled in with the found variable (if any).
11135        """
11136        return _lldb.SBTarget_FindFirstGlobalVariable(self, name)
11137
11138    def FindGlobalVariables(self, *args):
11139        r"""
11140        FindGlobalVariables(SBTarget self, char const * name, uint32_t max_matches) -> SBValueList
11141        FindGlobalVariables(SBTarget self, char const * name, uint32_t max_matches, lldb::MatchType matchtype) -> SBValueList
11142
11143            Find global and static variables by name.
11144
11145            @param[in] name
11146                The name of the global or static variable we are looking
11147                for.
11148
11149            @param[in] max_matches
11150                Allow the number of matches to be limited to max_matches.
11151
11152            @return
11153                A list of matched variables in an SBValueList.
11154        """
11155        return _lldb.SBTarget_FindGlobalVariables(self, *args)
11156
11157    def FindGlobalFunctions(self, name, max_matches, matchtype):
11158        r"""FindGlobalFunctions(SBTarget self, char const * name, uint32_t max_matches, lldb::MatchType matchtype) -> SBSymbolContextList"""
11159        return _lldb.SBTarget_FindGlobalFunctions(self, name, max_matches, matchtype)
11160
11161    def Clear(self):
11162        r"""Clear(SBTarget self)"""
11163        return _lldb.SBTarget_Clear(self)
11164
11165    def ResolveFileAddress(self, file_addr):
11166        r"""
11167        ResolveFileAddress(SBTarget self, lldb::addr_t file_addr) -> SBAddress
11168
11169            Resolve a current file address into a section offset address.
11170
11171            @param[in] file_addr
11172
11173            @return
11174                An SBAddress which will be valid if...
11175        """
11176        return _lldb.SBTarget_ResolveFileAddress(self, file_addr)
11177
11178    def ResolveLoadAddress(self, vm_addr):
11179        r"""ResolveLoadAddress(SBTarget self, lldb::addr_t vm_addr) -> SBAddress"""
11180        return _lldb.SBTarget_ResolveLoadAddress(self, vm_addr)
11181
11182    def ResolvePastLoadAddress(self, stop_id, vm_addr):
11183        r"""ResolvePastLoadAddress(SBTarget self, uint32_t stop_id, lldb::addr_t vm_addr) -> SBAddress"""
11184        return _lldb.SBTarget_ResolvePastLoadAddress(self, stop_id, vm_addr)
11185
11186    def ResolveSymbolContextForAddress(self, addr, resolve_scope):
11187        r"""ResolveSymbolContextForAddress(SBTarget self, SBAddress addr, uint32_t resolve_scope) -> SBSymbolContext"""
11188        return _lldb.SBTarget_ResolveSymbolContextForAddress(self, addr, resolve_scope)
11189
11190    def ReadMemory(self, addr, buf, error):
11191        r"""
11192        ReadMemory(SBTarget self, SBAddress addr, void * buf, SBError error) -> size_t
11193
11194            Read target memory. If a target process is running then memory
11195            is read from here. Otherwise the memory is read from the object
11196            files. For a target whose bytes are sized as a multiple of host
11197            bytes, the data read back will preserve the target's byte order.
11198
11199            @param[in] addr
11200                A target address to read from.
11201
11202            @param[out] buf
11203                The buffer to read memory into.
11204
11205            @param[in] size
11206                The maximum number of host bytes to read in the buffer passed
11207                into this call
11208
11209            @param[out] error
11210                Error information is written here if the memory read fails.
11211
11212            @return
11213                The amount of data read in host bytes.
11214        """
11215        return _lldb.SBTarget_ReadMemory(self, addr, buf, error)
11216
11217    def BreakpointCreateByLocation(self, *args):
11218        r"""
11219        BreakpointCreateByLocation(SBTarget self, char const * file, uint32_t line) -> SBBreakpoint
11220        BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line) -> SBBreakpoint
11221        BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line, lldb::addr_t offset) -> SBBreakpoint
11222        BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line, lldb::addr_t offset, SBFileSpecList module_list) -> SBBreakpoint
11223        BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line, uint32_t column, lldb::addr_t offset, SBFileSpecList module_list) -> SBBreakpoint
11224        BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line, uint32_t column, lldb::addr_t offset, SBFileSpecList module_list, bool move_to_nearest_code) -> SBBreakpoint
11225        """
11226        return _lldb.SBTarget_BreakpointCreateByLocation(self, *args)
11227
11228    def BreakpointCreateByName(self, *args):
11229        r"""
11230        BreakpointCreateByName(SBTarget self, char const * symbol_name, char const * module_name=None) -> SBBreakpoint
11231        BreakpointCreateByName(SBTarget self, char const * symbol_name, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint
11232        BreakpointCreateByName(SBTarget self, char const * symbol_name, uint32_t name_type_mask, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint
11233        BreakpointCreateByName(SBTarget self, char const * symbol_name, uint32_t name_type_mask, lldb::LanguageType symbol_language, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint
11234        """
11235        return _lldb.SBTarget_BreakpointCreateByName(self, *args)
11236
11237    def BreakpointCreateByNames(self, *args):
11238        r"""
11239        BreakpointCreateByNames(SBTarget self, char const ** symbol_name, uint32_t name_type_mask, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint
11240        BreakpointCreateByNames(SBTarget self, char const ** symbol_name, uint32_t name_type_mask, lldb::LanguageType symbol_language, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint
11241        BreakpointCreateByNames(SBTarget self, char const ** symbol_name, uint32_t name_type_mask, lldb::LanguageType symbol_language, lldb::addr_t offset, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint
11242        """
11243        return _lldb.SBTarget_BreakpointCreateByNames(self, *args)
11244
11245    def BreakpointCreateByRegex(self, *args):
11246        r"""
11247        BreakpointCreateByRegex(SBTarget self, char const * symbol_name_regex, char const * module_name=None) -> SBBreakpoint
11248        BreakpointCreateByRegex(SBTarget self, char const * symbol_name_regex, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint
11249        BreakpointCreateByRegex(SBTarget self, char const * symbol_name_regex, lldb::LanguageType symbol_language, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint
11250        """
11251        return _lldb.SBTarget_BreakpointCreateByRegex(self, *args)
11252
11253    def BreakpointCreateBySourceRegex(self, *args):
11254        r"""
11255        BreakpointCreateBySourceRegex(SBTarget self, char const * source_regex, SBFileSpec source_file, char const * module_name=None) -> SBBreakpoint
11256        BreakpointCreateBySourceRegex(SBTarget self, char const * source_regex, SBFileSpecList module_list, SBFileSpecList source_file) -> SBBreakpoint
11257        BreakpointCreateBySourceRegex(SBTarget self, char const * source_regex, SBFileSpecList module_list, SBFileSpecList source_file, SBStringList func_names) -> SBBreakpoint
11258        """
11259        return _lldb.SBTarget_BreakpointCreateBySourceRegex(self, *args)
11260
11261    def BreakpointCreateForException(self, language, catch_bp, throw_bp):
11262        r"""BreakpointCreateForException(SBTarget self, lldb::LanguageType language, bool catch_bp, bool throw_bp) -> SBBreakpoint"""
11263        return _lldb.SBTarget_BreakpointCreateForException(self, language, catch_bp, throw_bp)
11264
11265    def BreakpointCreateByAddress(self, address):
11266        r"""BreakpointCreateByAddress(SBTarget self, lldb::addr_t address) -> SBBreakpoint"""
11267        return _lldb.SBTarget_BreakpointCreateByAddress(self, address)
11268
11269    def BreakpointCreateBySBAddress(self, address):
11270        r"""BreakpointCreateBySBAddress(SBTarget self, SBAddress address) -> SBBreakpoint"""
11271        return _lldb.SBTarget_BreakpointCreateBySBAddress(self, address)
11272
11273    def BreakpointCreateFromScript(self, class_name, extra_args, module_list, file_list, request_hardware=False):
11274        r"""
11275        BreakpointCreateFromScript(SBTarget self, char const * class_name, SBStructuredData extra_args, SBFileSpecList module_list, SBFileSpecList file_list, bool request_hardware=False) -> SBBreakpoint
11276
11277            Create a breakpoint using a scripted resolver.
11278
11279            @param[in] class_name
11280               This is the name of the class that implements a scripted resolver.
11281               The class should have the following signature: ::
11282
11283                   class Resolver:
11284                       def __init__(self, bkpt, extra_args):
11285                           # bkpt - the breakpoint for which this is the resolver.  When
11286                           # the resolver finds an interesting address, call AddLocation
11287                           # on this breakpoint to add it.
11288                           #
11289                           # extra_args - an SBStructuredData that can be used to
11290                           # parametrize this instance.  Same as the extra_args passed
11291                           # to BreakpointCreateFromScript.
11292
11293                       def __get_depth__ (self):
11294                           # This is optional, but if defined, you should return the
11295                           # depth at which you want the callback to be called.  The
11296                           # available options are:
11297                           #    lldb.eSearchDepthModule
11298                           #    lldb.eSearchDepthCompUnit
11299                           # The default if you don't implement this method is
11300                           # eSearchDepthModule.
11301
11302                       def __callback__(self, sym_ctx):
11303                           # sym_ctx - an SBSymbolContext that is the cursor in the
11304                           # search through the program to resolve breakpoints.
11305                           # The sym_ctx will be filled out to the depth requested in
11306                           # __get_depth__.
11307                           # Look in this sym_ctx for new breakpoint locations,
11308                           # and if found use bkpt.AddLocation to add them.
11309                           # Note, you will only get called for modules/compile_units that
11310                           # pass the SearchFilter provided by the module_list & file_list
11311                           # passed into BreakpointCreateFromScript.
11312
11313                       def get_short_help(self):
11314                           # Optional, but if implemented return a short string that will
11315                           # be printed at the beginning of the break list output for the
11316                           # breakpoint.
11317
11318            @param[in] extra_args
11319               This is an SBStructuredData object that will get passed to the
11320               constructor of the class in class_name.  You can use this to
11321               reuse the same class, parametrizing it with entries from this
11322               dictionary.
11323
11324            @param module_list
11325               If this is non-empty, this will be used as the module filter in the
11326               SearchFilter created for this breakpoint.
11327
11328            @param file_list
11329               If this is non-empty, this will be used as the comp unit filter in the
11330               SearchFilter created for this breakpoint.
11331
11332            @return
11333                An SBBreakpoint that will set locations based on the logic in the
11334                resolver's search callback.
11335        """
11336        return _lldb.SBTarget_BreakpointCreateFromScript(self, class_name, extra_args, module_list, file_list, request_hardware)
11337
11338    def BreakpointsCreateFromFile(self, *args):
11339        r"""
11340        BreakpointsCreateFromFile(SBTarget self, SBFileSpec source_file, SBBreakpointList new_bps) -> SBError
11341        BreakpointsCreateFromFile(SBTarget self, SBFileSpec source_file, SBStringList matching_names, SBBreakpointList new_bps) -> SBError
11342
11343            Read breakpoints from source_file and return the newly created
11344            breakpoints in bkpt_list.
11345
11346            @param[in] source_file
11347               The file from which to read the breakpoints
11348
11349            @param[in] matching_names
11350               Only read in breakpoints whose names match one of the names in this
11351               list.
11352
11353            @param[out] bkpt_list
11354               A list of the newly created breakpoints.
11355
11356            @return
11357                An SBError detailing any errors in reading in the breakpoints.
11358        """
11359        return _lldb.SBTarget_BreakpointsCreateFromFile(self, *args)
11360
11361    def BreakpointsWriteToFile(self, *args):
11362        r"""
11363        BreakpointsWriteToFile(SBTarget self, SBFileSpec dest_file) -> SBError
11364        BreakpointsWriteToFile(SBTarget self, SBFileSpec dest_file, SBBreakpointList bkpt_list, bool append=False) -> SBError
11365
11366            Write breakpoints listed in bkpt_list to dest_file.
11367
11368            @param[in] dest_file
11369               The file to which to write the breakpoints.
11370
11371            @param[in] bkpt_list
11372               Only write breakpoints from this list.
11373
11374            @param[in] append
11375               If true, append the breakpoints in bkpt_list to the others
11376               serialized in dest_file.  If dest_file doesn't exist, then a new
11377               file will be created and the breakpoints in bkpt_list written to it.
11378
11379            @return
11380                An SBError detailing any errors in writing in the breakpoints.
11381        """
11382        return _lldb.SBTarget_BreakpointsWriteToFile(self, *args)
11383
11384    def GetNumBreakpoints(self):
11385        r"""GetNumBreakpoints(SBTarget self) -> uint32_t"""
11386        return _lldb.SBTarget_GetNumBreakpoints(self)
11387
11388    def GetBreakpointAtIndex(self, idx):
11389        r"""GetBreakpointAtIndex(SBTarget self, uint32_t idx) -> SBBreakpoint"""
11390        return _lldb.SBTarget_GetBreakpointAtIndex(self, idx)
11391
11392    def BreakpointDelete(self, break_id):
11393        r"""BreakpointDelete(SBTarget self, lldb::break_id_t break_id) -> bool"""
11394        return _lldb.SBTarget_BreakpointDelete(self, break_id)
11395
11396    def FindBreakpointByID(self, break_id):
11397        r"""FindBreakpointByID(SBTarget self, lldb::break_id_t break_id) -> SBBreakpoint"""
11398        return _lldb.SBTarget_FindBreakpointByID(self, break_id)
11399
11400    def FindBreakpointsByName(self, name, bkpt_list):
11401        r"""FindBreakpointsByName(SBTarget self, char const * name, SBBreakpointList bkpt_list) -> bool"""
11402        return _lldb.SBTarget_FindBreakpointsByName(self, name, bkpt_list)
11403
11404    def GetBreakpointNames(self, names):
11405        r"""GetBreakpointNames(SBTarget self, SBStringList names)"""
11406        return _lldb.SBTarget_GetBreakpointNames(self, names)
11407
11408    def DeleteBreakpointName(self, name):
11409        r"""DeleteBreakpointName(SBTarget self, char const * name)"""
11410        return _lldb.SBTarget_DeleteBreakpointName(self, name)
11411
11412    def EnableAllBreakpoints(self):
11413        r"""EnableAllBreakpoints(SBTarget self) -> bool"""
11414        return _lldb.SBTarget_EnableAllBreakpoints(self)
11415
11416    def DisableAllBreakpoints(self):
11417        r"""DisableAllBreakpoints(SBTarget self) -> bool"""
11418        return _lldb.SBTarget_DisableAllBreakpoints(self)
11419
11420    def DeleteAllBreakpoints(self):
11421        r"""DeleteAllBreakpoints(SBTarget self) -> bool"""
11422        return _lldb.SBTarget_DeleteAllBreakpoints(self)
11423
11424    def GetNumWatchpoints(self):
11425        r"""GetNumWatchpoints(SBTarget self) -> uint32_t"""
11426        return _lldb.SBTarget_GetNumWatchpoints(self)
11427
11428    def GetWatchpointAtIndex(self, idx):
11429        r"""GetWatchpointAtIndex(SBTarget self, uint32_t idx) -> SBWatchpoint"""
11430        return _lldb.SBTarget_GetWatchpointAtIndex(self, idx)
11431
11432    def DeleteWatchpoint(self, watch_id):
11433        r"""DeleteWatchpoint(SBTarget self, lldb::watch_id_t watch_id) -> bool"""
11434        return _lldb.SBTarget_DeleteWatchpoint(self, watch_id)
11435
11436    def FindWatchpointByID(self, watch_id):
11437        r"""FindWatchpointByID(SBTarget self, lldb::watch_id_t watch_id) -> SBWatchpoint"""
11438        return _lldb.SBTarget_FindWatchpointByID(self, watch_id)
11439
11440    def WatchAddress(self, addr, size, read, modify, error):
11441        r"""WatchAddress(SBTarget self, lldb::addr_t addr, size_t size, bool read, bool modify, SBError error) -> SBWatchpoint"""
11442        return _lldb.SBTarget_WatchAddress(self, addr, size, read, modify, error)
11443
11444    def WatchpointCreateByAddress(self, addr, size, options, error):
11445        r"""WatchpointCreateByAddress(SBTarget self, lldb::addr_t addr, size_t size, SBWatchpointOptions options, SBError error) -> SBWatchpoint"""
11446        return _lldb.SBTarget_WatchpointCreateByAddress(self, addr, size, options, error)
11447
11448    def EnableAllWatchpoints(self):
11449        r"""EnableAllWatchpoints(SBTarget self) -> bool"""
11450        return _lldb.SBTarget_EnableAllWatchpoints(self)
11451
11452    def DisableAllWatchpoints(self):
11453        r"""DisableAllWatchpoints(SBTarget self) -> bool"""
11454        return _lldb.SBTarget_DisableAllWatchpoints(self)
11455
11456    def DeleteAllWatchpoints(self):
11457        r"""DeleteAllWatchpoints(SBTarget self) -> bool"""
11458        return _lldb.SBTarget_DeleteAllWatchpoints(self)
11459
11460    def GetBroadcaster(self):
11461        r"""GetBroadcaster(SBTarget self) -> SBBroadcaster"""
11462        return _lldb.SBTarget_GetBroadcaster(self)
11463
11464    def FindFirstType(self, type):
11465        r"""FindFirstType(SBTarget self, char const * type) -> SBType"""
11466        return _lldb.SBTarget_FindFirstType(self, type)
11467
11468    def FindTypes(self, type):
11469        r"""FindTypes(SBTarget self, char const * type) -> SBTypeList"""
11470        return _lldb.SBTarget_FindTypes(self, type)
11471
11472    def GetBasicType(self, type):
11473        r"""GetBasicType(SBTarget self, lldb::BasicType type) -> SBType"""
11474        return _lldb.SBTarget_GetBasicType(self, type)
11475
11476    def CreateValueFromAddress(self, name, addr, type):
11477        r"""
11478        CreateValueFromAddress(SBTarget self, char const * name, SBAddress addr, SBType type) -> SBValue
11479
11480            Create an SBValue with the given name by treating the memory starting at addr as an entity of type.
11481
11482            @param[in] name
11483                The name of the resultant SBValue
11484
11485            @param[in] addr
11486                The address of the start of the memory region to be used.
11487
11488            @param[in] type
11489                The type to use to interpret the memory starting at addr.
11490
11491            @return
11492                An SBValue of the given type, may be invalid if there was an error reading
11493                the underlying memory.
11494        """
11495        return _lldb.SBTarget_CreateValueFromAddress(self, name, addr, type)
11496
11497    def CreateValueFromData(self, name, data, type):
11498        r"""CreateValueFromData(SBTarget self, char const * name, SBData data, SBType type) -> SBValue"""
11499        return _lldb.SBTarget_CreateValueFromData(self, name, data, type)
11500
11501    def CreateValueFromExpression(self, name, expr):
11502        r"""CreateValueFromExpression(SBTarget self, char const * name, char const * expr) -> SBValue"""
11503        return _lldb.SBTarget_CreateValueFromExpression(self, name, expr)
11504
11505    def GetSourceManager(self):
11506        r"""GetSourceManager(SBTarget self) -> SBSourceManager"""
11507        return _lldb.SBTarget_GetSourceManager(self)
11508
11509    def ReadInstructions(self, *args):
11510        r"""
11511        ReadInstructions(SBTarget self, SBAddress base_addr, uint32_t count) -> SBInstructionList
11512        ReadInstructions(SBTarget self, SBAddress base_addr, uint32_t count, char const * flavor_string) -> SBInstructionList
11513        ReadInstructions(SBTarget self, SBAddress start_addr, SBAddress end_addr, char const * flavor_string) -> SBInstructionList
11514
11515            Disassemble a specified number of instructions starting at an address.
11516
11517            :param base_addr: the address to start disassembly from.
11518            :param count: the number of instructions to disassemble.
11519            :param flavor_string: may be 'intel' or 'att' on x86 targets to specify that style of disassembly.
11520            :rtype: SBInstructionList
11521
11522        """
11523        return _lldb.SBTarget_ReadInstructions(self, *args)
11524
11525    def GetInstructions(self, base_addr, buf):
11526        r"""
11527        GetInstructions(SBTarget self, SBAddress base_addr, void const * buf) -> SBInstructionList
11528
11529            Disassemble the bytes in a buffer and return them in an SBInstructionList.
11530
11531            :param base_addr: used for symbolicating the offsets in the byte stream when disassembling.
11532            :param buf: bytes to be disassembled.
11533            :param size: (C++) size of the buffer.
11534            :rtype: SBInstructionList
11535
11536        """
11537        return _lldb.SBTarget_GetInstructions(self, base_addr, buf)
11538
11539    def GetInstructionsWithFlavor(self, base_addr, flavor_string, buf):
11540        r"""
11541        GetInstructionsWithFlavor(SBTarget self, SBAddress base_addr, char const * flavor_string, void const * buf) -> SBInstructionList
11542
11543            Disassemble the bytes in a buffer and return them in an SBInstructionList, with a supplied flavor.
11544
11545            :param base_addr: used for symbolicating the offsets in the byte stream when disassembling.
11546            :param flavor:  may be 'intel' or 'att' on x86 targets to specify that style of disassembly.
11547            :param buf: bytes to be disassembled.
11548            :param size: (C++) size of the buffer.
11549            :rtype: SBInstructionList
11550
11551        """
11552        return _lldb.SBTarget_GetInstructionsWithFlavor(self, base_addr, flavor_string, buf)
11553
11554    def FindSymbols(self, *args):
11555        r"""FindSymbols(SBTarget self, char const * name, lldb::SymbolType type=eSymbolTypeAny) -> SBSymbolContextList"""
11556        return _lldb.SBTarget_FindSymbols(self, *args)
11557
11558    def __eq__(self, rhs):
11559        r"""__eq__(SBTarget self, SBTarget rhs) -> bool"""
11560        return _lldb.SBTarget___eq__(self, rhs)
11561
11562    def __ne__(self, rhs):
11563        r"""__ne__(SBTarget self, SBTarget rhs) -> bool"""
11564        return _lldb.SBTarget___ne__(self, rhs)
11565
11566    def GetDescription(self, description, description_level):
11567        r"""GetDescription(SBTarget self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
11568        return _lldb.SBTarget_GetDescription(self, description, description_level)
11569
11570    def EvaluateExpression(self, *args):
11571        r"""
11572        EvaluateExpression(SBTarget self, char const * expr) -> SBValue
11573        EvaluateExpression(SBTarget self, char const * expr, SBExpressionOptions options) -> SBValue
11574        """
11575        return _lldb.SBTarget_EvaluateExpression(self, *args)
11576
11577    def GetStackRedZoneSize(self):
11578        r"""GetStackRedZoneSize(SBTarget self) -> lldb::addr_t"""
11579        return _lldb.SBTarget_GetStackRedZoneSize(self)
11580
11581    def IsLoaded(self, module):
11582        r"""
11583        IsLoaded(SBTarget self, SBModule module) -> bool
11584
11585            Returns true if the module has been loaded in this `SBTarget`.
11586            A module can be loaded either by the dynamic loader or by being manually
11587            added to the target (see `SBTarget.AddModule` and the ``target module add`` command).
11588
11589            :rtype: bool
11590
11591        """
11592        return _lldb.SBTarget_IsLoaded(self, module)
11593
11594    def GetLaunchInfo(self):
11595        r"""GetLaunchInfo(SBTarget self) -> SBLaunchInfo"""
11596        return _lldb.SBTarget_GetLaunchInfo(self)
11597
11598    def SetLaunchInfo(self, launch_info):
11599        r"""SetLaunchInfo(SBTarget self, SBLaunchInfo launch_info)"""
11600        return _lldb.SBTarget_SetLaunchInfo(self, launch_info)
11601
11602    def GetTrace(self):
11603        r"""GetTrace(SBTarget self) -> SBTrace"""
11604        return _lldb.SBTarget_GetTrace(self)
11605
11606    def CreateTrace(self, error):
11607        r"""CreateTrace(SBTarget self, SBError error) -> SBTrace"""
11608        return _lldb.SBTarget_CreateTrace(self, error)
11609
11610    def __repr__(self):
11611        r"""__repr__(SBTarget self) -> std::string"""
11612        return _lldb.SBTarget___repr__(self)
11613
11614            # operator== is a free function, which swig does not handle, so we inject
11615            # our own equality operator here
11616    def __eq__(self, other):
11617        return not self.__ne__(other)
11618
11619    class modules_access(object):
11620        '''A helper object that will lazily hand out lldb.SBModule objects for a target when supplied an index, or by full or partial path.'''
11621        def __init__(self, sbtarget):
11622            self.sbtarget = sbtarget
11623
11624        def __len__(self):
11625            if self.sbtarget:
11626                return int(self.sbtarget.GetNumModules())
11627            return 0
11628
11629        def __getitem__(self, key):
11630            num_modules = self.sbtarget.GetNumModules()
11631            if type(key) is int:
11632                if -num_modules <= key < num_modules:
11633                    key %= num_modules
11634                    return self.sbtarget.GetModuleAtIndex(key)
11635            elif type(key) is str:
11636                if key.find('/') == -1:
11637                    for idx in range(num_modules):
11638                        module = self.sbtarget.GetModuleAtIndex(idx)
11639                        if module.file.basename == key:
11640                            return module
11641                else:
11642                    for idx in range(num_modules):
11643                        module = self.sbtarget.GetModuleAtIndex(idx)
11644                        if module.file.fullpath == key:
11645                            return module
11646    # See if the string is a UUID
11647                try:
11648                    the_uuid = uuid.UUID(key)
11649                    if the_uuid:
11650                        for idx in range(num_modules):
11651                            module = self.sbtarget.GetModuleAtIndex(idx)
11652                            if module.uuid == the_uuid:
11653                                return module
11654                except:
11655                    return None
11656            elif type(key) is uuid.UUID:
11657                for idx in range(num_modules):
11658                    module = self.sbtarget.GetModuleAtIndex(idx)
11659                    if module.uuid == key:
11660                        return module
11661            elif type(key) is re.SRE_Pattern:
11662                matching_modules = []
11663                for idx in range(num_modules):
11664                    module = self.sbtarget.GetModuleAtIndex(idx)
11665                    re_match = key.search(module.path.fullpath)
11666                    if re_match:
11667                        matching_modules.append(module)
11668                return matching_modules
11669            else:
11670                print("error: unsupported item type: %s" % type(key))
11671            return None
11672
11673    def get_modules_access_object(self):
11674        '''An accessor function that returns a modules_access() object which allows lazy module access from a lldb.SBTarget object.'''
11675        return self.modules_access(self)
11676
11677    def get_modules_array(self):
11678        '''An accessor function that returns a list() that contains all modules in a lldb.SBTarget object.'''
11679        modules = []
11680        for idx in range(self.GetNumModules()):
11681            modules.append(self.GetModuleAtIndex(idx))
11682        return modules
11683
11684    def module_iter(self):
11685        '''Returns an iterator over all modules in a lldb.SBTarget
11686        object.'''
11687        return lldb_iter(self, 'GetNumModules', 'GetModuleAtIndex')
11688
11689    def breakpoint_iter(self):
11690        '''Returns an iterator over all breakpoints in a lldb.SBTarget
11691        object.'''
11692        return lldb_iter(self, 'GetNumBreakpoints', 'GetBreakpointAtIndex')
11693
11694    class bkpts_access(object):
11695        '''A helper object that will lazily hand out bkpts for a target when supplied an index.'''
11696        def __init__(self, sbtarget):
11697            self.sbtarget = sbtarget
11698
11699        def __len__(self):
11700            if self.sbtarget:
11701                return int(self.sbtarget.GetNumBreakpoints())
11702            return 0
11703
11704        def __getitem__(self, key):
11705            if isinstance(key, int):
11706                count = len(self)
11707                if -count <= key < count:
11708                    key %= count
11709                    return self.sbtarget.GetBreakpointAtIndex(key)
11710            return None
11711
11712    def get_bkpts_access_object(self):
11713        '''An accessor function that returns a bkpts_access() object which allows lazy bkpt access from a lldb.SBtarget object.'''
11714        return self.bkpts_access(self)
11715
11716    def get_target_bkpts(self):
11717        '''An accessor function that returns a list() that contains all bkpts in a lldb.SBtarget object.'''
11718        bkpts = []
11719        for idx in range(self.GetNumBreakpoints()):
11720            bkpts.append(self.GetBreakpointAtIndex(idx))
11721        return bkpts
11722
11723    def watchpoint_iter(self):
11724        '''Returns an iterator over all watchpoints in a lldb.SBTarget
11725        object.'''
11726        return lldb_iter(self, 'GetNumWatchpoints', 'GetWatchpointAtIndex')
11727
11728    class watchpoints_access(object):
11729        '''A helper object that will lazily hand out watchpoints for a target when supplied an index.'''
11730        def __init__(self, sbtarget):
11731            self.sbtarget = sbtarget
11732
11733        def __len__(self):
11734            if self.sbtarget:
11735                return int(self.sbtarget.GetNumWatchpoints())
11736            return 0
11737
11738        def __getitem__(self, key):
11739            if isinstance(key, int):
11740                count = len(self)
11741                if -count <= key < count:
11742                    key %= count
11743                    return self.sbtarget.GetWatchpointAtIndex(key)
11744            return None
11745
11746    def get_watchpoints_access_object(self):
11747        '''An accessor function that returns a watchpoints_access() object which allows lazy watchpoint access from a lldb.SBtarget object.'''
11748        return self.watchpoints_access(self)
11749
11750    def get_target_watchpoints(self):
11751        '''An accessor function that returns a list() that contains all watchpoints in a lldb.SBtarget object.'''
11752        watchpoints = []
11753        for idx in range(self.GetNumWatchpoints()):
11754            watchpoints.append(self.GetWatchpointAtIndex(idx))
11755        return watchpoints
11756
11757    modules = property(get_modules_array, None, doc='''A read only property that returns a list() of lldb.SBModule objects contained in this target. This list is a list all modules that the target currently is tracking (the main executable and all dependent shared libraries).''')
11758    module = property(get_modules_access_object, None, doc=r'''A read only property that returns an object that implements python operator overloading with the square brackets().\n    target.module[<int>] allows array access to any modules.\n    target.module[<str>] allows access to modules by basename, full path, or uuid string value.\n    target.module[uuid.UUID()] allows module access by UUID.\n    target.module[re] allows module access using a regular expression that matches the module full path.''')
11759    process = property(GetProcess, None, doc='''A read only property that returns an lldb object that represents the process (lldb.SBProcess) that this target owns.''')
11760    executable = property(GetExecutable, None, doc='''A read only property that returns an lldb object that represents the main executable module (lldb.SBModule) for this target.''')
11761    debugger = property(GetDebugger, None, doc='''A read only property that returns an lldb object that represents the debugger (lldb.SBDebugger) that owns this target.''')
11762    num_breakpoints = property(GetNumBreakpoints, None, doc='''A read only property that returns the number of breakpoints that this target has as an integer.''')
11763    breakpoints = property(get_target_bkpts, None, doc='''A read only property that returns a list() of lldb.SBBreakpoint objects for all breakpoints in this target.''')
11764    breakpoint = property(get_bkpts_access_object, None, doc='''A read only property that returns an object that can be used to access breakpoints as an array ("bkpt_12 = lldb.target.bkpt[12]").''')
11765    num_watchpoints = property(GetNumWatchpoints, None, doc='''A read only property that returns the number of watchpoints that this target has as an integer.''')
11766    watchpoints = property(get_target_watchpoints, None, doc='''A read only property that returns a list() of lldb.SBwatchpoint objects for all watchpoints in this target.''')
11767    watchpoint = property(get_watchpoints_access_object, None, doc='''A read only property that returns an object that can be used to access watchpoints as an array ("watchpoint_12 = lldb.target.watchpoint[12]").''')
11768    broadcaster = property(GetBroadcaster, None, doc='''A read only property that an lldb object that represents the broadcaster (lldb.SBBroadcaster) for this target.''')
11769    byte_order = property(GetByteOrder, None, doc='''A read only property that returns an lldb enumeration value (lldb.eByteOrderLittle, lldb.eByteOrderBig, lldb.eByteOrderInvalid) that represents the byte order for this target.''')
11770    addr_size = property(GetAddressByteSize, None, doc='''A read only property that returns the size in bytes of an address for this target.''')
11771    triple = property(GetTriple, None, doc='''A read only property that returns the target triple (arch-vendor-os) for this target as a string.''')
11772    data_byte_size = property(GetDataByteSize, None, doc='''A read only property that returns the size in host bytes of a byte in the data address space for this target.''')
11773    code_byte_size = property(GetCodeByteSize, None, doc='''A read only property that returns the size in host bytes of a byte in the code address space for this target.''')
11774    platform = property(GetPlatform, None, doc='''A read only property that returns the platform associated with with this target.''')
11775
11776
11777    def __eq__(self, rhs):
11778        if not isinstance(rhs, type(self)):
11779            return False
11780
11781        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
11782
11783    def __ne__(self, rhs):
11784        if not isinstance(rhs, type(self)):
11785            return True
11786
11787        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
11788
11789
11790# Register SBTarget in _lldb:
11791_lldb.SBTarget_swigregister(SBTarget)
11792class SBThread(object):
11793    r"""
11794    Represents a thread of execution. :py:class:`SBProcess` contains SBThread(s).
11795
11796    SBThreads can be referred to by their ID, which maps to the system specific thread
11797    identifier, or by IndexID.  The ID may or may not be unique depending on whether the
11798    system reuses its thread identifiers.  The IndexID is a monotonically increasing identifier
11799    that will always uniquely reference a particular thread, and when that thread goes
11800    away it will not be reused.
11801
11802    SBThread supports frame iteration. For example (from test/python_api/
11803    lldbutil/iter/TestLLDBIterator.py), ::
11804
11805            from lldbutil import print_stacktrace
11806            stopped_due_to_breakpoint = False
11807            for thread in process:
11808                if self.TraceOn():
11809                    print_stacktrace(thread)
11810                ID = thread.GetThreadID()
11811                if thread.GetStopReason() == lldb.eStopReasonBreakpoint:
11812                    stopped_due_to_breakpoint = True
11813                for frame in thread:
11814                    self.assertTrue(frame.GetThread().GetThreadID() == ID)
11815                    if self.TraceOn():
11816                        print frame
11817
11818            self.assertTrue(stopped_due_to_breakpoint)
11819
11820    See also :py:class:`SBFrame` .
11821    """
11822
11823    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11824    eBroadcastBitStackChanged = _lldb.SBThread_eBroadcastBitStackChanged
11825
11826    eBroadcastBitThreadSuspended = _lldb.SBThread_eBroadcastBitThreadSuspended
11827
11828    eBroadcastBitThreadResumed = _lldb.SBThread_eBroadcastBitThreadResumed
11829
11830    eBroadcastBitSelectedFrameChanged = _lldb.SBThread_eBroadcastBitSelectedFrameChanged
11831
11832    eBroadcastBitThreadSelected = _lldb.SBThread_eBroadcastBitThreadSelected
11833
11834
11835    @staticmethod
11836    def GetBroadcasterClassName():
11837        r"""GetBroadcasterClassName() -> char const *"""
11838        return _lldb.SBThread_GetBroadcasterClassName()
11839
11840    def __init__(self, *args):
11841        r"""
11842        __init__(SBThread self) -> SBThread
11843        __init__(SBThread self, SBThread thread) -> SBThread
11844        """
11845        _lldb.SBThread_swiginit(self, _lldb.new_SBThread(*args))
11846    __swig_destroy__ = _lldb.delete_SBThread
11847
11848    def GetQueue(self):
11849        r"""
11850        GetQueue(SBThread self) -> SBQueue
11851
11852            Return the SBQueue for this thread.  If this thread is not currently associated
11853            with a libdispatch queue, the SBQueue object's IsValid() method will return false.
11854            If this SBThread is actually a HistoryThread, we may be able to provide QueueID
11855            and QueueName, but not provide an SBQueue.  Those individual attributes may have
11856            been saved for the HistoryThread without enough information to reconstitute the
11857            entire SBQueue at that time.
11858            This method takes no arguments, returns an SBQueue.
11859        """
11860        return _lldb.SBThread_GetQueue(self)
11861
11862    def __nonzero__(self):
11863        return _lldb.SBThread___nonzero__(self)
11864    __bool__ = __nonzero__
11865
11866
11867
11868    def IsValid(self):
11869        r"""IsValid(SBThread self) -> bool"""
11870        return _lldb.SBThread_IsValid(self)
11871
11872    def Clear(self):
11873        r"""Clear(SBThread self)"""
11874        return _lldb.SBThread_Clear(self)
11875
11876    def GetStopReason(self):
11877        r"""GetStopReason(SBThread self) -> lldb::StopReason"""
11878        return _lldb.SBThread_GetStopReason(self)
11879
11880    def GetStopReasonDataCount(self):
11881        r"""
11882        GetStopReasonDataCount(SBThread self) -> size_t
11883
11884            Get the number of words associated with the stop reason.
11885            See also GetStopReasonDataAtIndex().
11886        """
11887        return _lldb.SBThread_GetStopReasonDataCount(self)
11888
11889    def GetStopReasonDataAtIndex(self, idx):
11890        r"""
11891        GetStopReasonDataAtIndex(SBThread self, uint32_t idx) -> uint64_t
11892
11893            Get information associated with a stop reason.
11894
11895            Breakpoint stop reasons will have data that consists of pairs of
11896            breakpoint IDs followed by the breakpoint location IDs (they always come
11897            in pairs).
11898
11899            Stop Reason              Count Data Type
11900            ======================== ===== =========================================
11901            eStopReasonNone          0
11902            eStopReasonTrace         0
11903            eStopReasonBreakpoint    N     duple: {breakpoint id, location id}
11904            eStopReasonWatchpoint    1     watchpoint id
11905            eStopReasonSignal        1     unix signal number
11906            eStopReasonException     N     exception data
11907            eStopReasonExec          0
11908            eStopReasonFork          1     pid of the child process
11909            eStopReasonVFork         1     pid of the child process
11910            eStopReasonVForkDone     0
11911            eStopReasonPlanComplete  0
11912        """
11913        return _lldb.SBThread_GetStopReasonDataAtIndex(self, idx)
11914
11915    def GetStopReasonExtendedInfoAsJSON(self, stream):
11916        r"""
11917        GetStopReasonExtendedInfoAsJSON(SBThread self, SBStream stream) -> bool
11918
11919            Collects a thread's stop reason extended information dictionary and prints it
11920            into the SBStream in a JSON format. The format of this JSON dictionary depends
11921            on the stop reason and is currently used only for instrumentation plugins.
11922        """
11923        return _lldb.SBThread_GetStopReasonExtendedInfoAsJSON(self, stream)
11924
11925    def GetStopReasonExtendedBacktraces(self, type):
11926        r"""
11927        GetStopReasonExtendedBacktraces(SBThread self, lldb::InstrumentationRuntimeType type) -> SBThreadCollection
11928
11929            Returns a collection of historical stack traces that are significant to the
11930            current stop reason. Used by ThreadSanitizer, where we provide various stack
11931            traces that were involved in a data race or other type of detected issue.
11932        """
11933        return _lldb.SBThread_GetStopReasonExtendedBacktraces(self, type)
11934
11935    def GetStopDescription(self, dst_or_null):
11936        r"""
11937        GetStopDescription(SBThread self, char * dst_or_null) -> size_t
11938
11939            Pass only an (int)length and expect to get a Python string describing the
11940            stop reason.
11941        """
11942        return _lldb.SBThread_GetStopDescription(self, dst_or_null)
11943
11944    def GetStopReturnValue(self):
11945        r"""GetStopReturnValue(SBThread self) -> SBValue"""
11946        return _lldb.SBThread_GetStopReturnValue(self)
11947
11948    def GetThreadID(self):
11949        r"""
11950        GetThreadID(SBThread self) -> lldb::tid_t
11951
11952            Returns a unique thread identifier (type lldb::tid_t, typically a 64-bit type)
11953            for the current SBThread that will remain constant throughout the thread's
11954            lifetime in this process and will not be reused by another thread during this
11955            process lifetime.  On Mac OS X systems, this is a system-wide unique thread
11956            identifier; this identifier is also used by other tools like sample which helps
11957            to associate data from those tools with lldb.  See related GetIndexID.
11958        """
11959        return _lldb.SBThread_GetThreadID(self)
11960
11961    def GetIndexID(self):
11962        r"""
11963        GetIndexID(SBThread self) -> uint32_t
11964
11965            Return the index number for this SBThread.  The index number is the same thing
11966            that a user gives as an argument to 'thread select' in the command line lldb.
11967            These numbers start at 1 (for the first thread lldb sees in a debug session)
11968            and increments up throughout the process lifetime.  An index number will not be
11969            reused for a different thread later in a process - thread 1 will always be
11970            associated with the same thread.  See related GetThreadID.
11971            This method returns a uint32_t index number, takes no arguments.
11972        """
11973        return _lldb.SBThread_GetIndexID(self)
11974
11975    def GetName(self):
11976        r"""GetName(SBThread self) -> char const *"""
11977        return _lldb.SBThread_GetName(self)
11978
11979    def GetQueueName(self):
11980        r"""
11981        GetQueueName(SBThread self) -> char const *
11982
11983            Return the queue name associated with this thread, if any, as a str.
11984            For example, with a libdispatch (aka Grand Central Dispatch) queue.
11985        """
11986        return _lldb.SBThread_GetQueueName(self)
11987
11988    def GetQueueID(self):
11989        r"""
11990        GetQueueID(SBThread self) -> lldb::queue_id_t
11991
11992            Return the dispatch_queue_id for this thread, if any, as a lldb::queue_id_t.
11993            For example, with a libdispatch (aka Grand Central Dispatch) queue.
11994        """
11995        return _lldb.SBThread_GetQueueID(self)
11996
11997    def GetInfoItemByPathAsString(self, path, strm):
11998        r"""
11999        GetInfoItemByPathAsString(SBThread self, char const * path, SBStream strm) -> bool
12000
12001            Takes a path string and a SBStream reference as parameters, returns a bool.
12002            Collects the thread's 'info' dictionary from the remote system, uses the path
12003            argument to descend into the dictionary to an item of interest, and prints
12004            it into the SBStream in a natural format.  Return bool is to indicate if
12005            anything was printed into the stream (true) or not (false).
12006        """
12007        return _lldb.SBThread_GetInfoItemByPathAsString(self, path, strm)
12008
12009    def StepOver(self, *args):
12010        r"""
12011        StepOver(SBThread self, lldb::RunMode stop_other_threads=eOnlyDuringStepping)
12012        StepOver(SBThread self, lldb::RunMode stop_other_threads, SBError error)
12013        Do a source level single step over in the currently selected thread.
12014        """
12015        return _lldb.SBThread_StepOver(self, *args)
12016
12017    def StepInto(self, *args):
12018        r"""
12019        StepInto(SBThread self, lldb::RunMode stop_other_threads=eOnlyDuringStepping)
12020        StepInto(SBThread self, char const * target_name, lldb::RunMode stop_other_threads=eOnlyDuringStepping)
12021        StepInto(SBThread self, char const * target_name, uint32_t end_line, SBError error, lldb::RunMode stop_other_threads=eOnlyDuringStepping)
12022
12023            Step the current thread from the current source line to the line given by end_line, stopping if
12024            the thread steps into the function given by target_name.  If target_name is None, then stepping will stop
12025            in any of the places we would normally stop.
12026        """
12027        return _lldb.SBThread_StepInto(self, *args)
12028
12029    def StepOut(self, *args):
12030        r"""
12031        StepOut(SBThread self)
12032        StepOut(SBThread self, SBError error)
12033        Step out of the currently selected thread.
12034        """
12035        return _lldb.SBThread_StepOut(self, *args)
12036
12037    def StepOutOfFrame(self, *args):
12038        r"""
12039        StepOutOfFrame(SBThread self, SBFrame frame)
12040        StepOutOfFrame(SBThread self, SBFrame frame, SBError error)
12041        Step out of the specified frame.
12042        """
12043        return _lldb.SBThread_StepOutOfFrame(self, *args)
12044
12045    def StepInstruction(self, *args):
12046        r"""
12047        StepInstruction(SBThread self, bool step_over)
12048        StepInstruction(SBThread self, bool step_over, SBError error)
12049        Do an instruction level single step in the currently selected thread.
12050        """
12051        return _lldb.SBThread_StepInstruction(self, *args)
12052
12053    def StepOverUntil(self, frame, file_spec, line):
12054        r"""StepOverUntil(SBThread self, SBFrame frame, SBFileSpec file_spec, uint32_t line) -> SBError"""
12055        return _lldb.SBThread_StepOverUntil(self, frame, file_spec, line)
12056
12057    def StepUsingScriptedThreadPlan(self, *args):
12058        r"""
12059        StepUsingScriptedThreadPlan(SBThread self, char const * script_class_name) -> SBError
12060        StepUsingScriptedThreadPlan(SBThread self, char const * script_class_name, bool resume_immediately) -> SBError
12061        StepUsingScriptedThreadPlan(SBThread self, char const * script_class_name, SBStructuredData args_data, bool resume_immediately) -> SBError
12062        """
12063        return _lldb.SBThread_StepUsingScriptedThreadPlan(self, *args)
12064
12065    def JumpToLine(self, file_spec, line):
12066        r"""JumpToLine(SBThread self, SBFileSpec file_spec, uint32_t line) -> SBError"""
12067        return _lldb.SBThread_JumpToLine(self, file_spec, line)
12068
12069    def RunToAddress(self, *args):
12070        r"""
12071        RunToAddress(SBThread self, lldb::addr_t addr)
12072        RunToAddress(SBThread self, lldb::addr_t addr, SBError error)
12073        """
12074        return _lldb.SBThread_RunToAddress(self, *args)
12075
12076    def ReturnFromFrame(self, frame, return_value):
12077        r"""
12078        ReturnFromFrame(SBThread self, SBFrame frame, SBValue return_value) -> SBError
12079
12080            Force a return from the frame passed in (and any frames younger than it)
12081            without executing any more code in those frames.  If return_value contains
12082            a valid SBValue, that will be set as the return value from frame.  Note, at
12083            present only scalar return values are supported.
12084        """
12085        return _lldb.SBThread_ReturnFromFrame(self, frame, return_value)
12086
12087    def UnwindInnermostExpression(self):
12088        r"""
12089        UnwindInnermostExpression(SBThread self) -> SBError
12090
12091            Unwind the stack frames from the innermost expression evaluation.
12092            This API is equivalent to 'thread return -x'.
12093        """
12094        return _lldb.SBThread_UnwindInnermostExpression(self)
12095
12096    def Suspend(self, *args):
12097        r"""
12098        Suspend(SBThread self) -> bool
12099        Suspend(SBThread self, SBError error) -> bool
12100
12101            LLDB currently supports process centric debugging which means when any
12102            thread in a process stops, all other threads are stopped. The Suspend()
12103            call here tells our process to suspend a thread and not let it run when
12104            the other threads in a process are allowed to run. So when
12105            SBProcess::Continue() is called, any threads that aren't suspended will
12106            be allowed to run. If any of the SBThread functions for stepping are
12107            called (StepOver, StepInto, StepOut, StepInstruction, RunToAddres), the
12108            thread will now be allowed to run and these functions will simply return.
12109
12110            Eventually we plan to add support for thread centric debugging where
12111            each thread is controlled individually and each thread would broadcast
12112            its state, but we haven't implemented this yet.
12113
12114            Likewise the SBThread::Resume() call will again allow the thread to run
12115            when the process is continued.
12116
12117            Suspend() and Resume() functions are not currently reference counted, if
12118            anyone has the need for them to be reference counted, please let us
12119            know.
12120        """
12121        return _lldb.SBThread_Suspend(self, *args)
12122
12123    def Resume(self, *args):
12124        r"""
12125        Resume(SBThread self) -> bool
12126        Resume(SBThread self, SBError error) -> bool
12127        """
12128        return _lldb.SBThread_Resume(self, *args)
12129
12130    def IsSuspended(self):
12131        r"""IsSuspended(SBThread self) -> bool"""
12132        return _lldb.SBThread_IsSuspended(self)
12133
12134    def IsStopped(self):
12135        r"""IsStopped(SBThread self) -> bool"""
12136        return _lldb.SBThread_IsStopped(self)
12137
12138    def GetNumFrames(self):
12139        r"""GetNumFrames(SBThread self) -> uint32_t"""
12140        return _lldb.SBThread_GetNumFrames(self)
12141
12142    def GetFrameAtIndex(self, idx):
12143        r"""GetFrameAtIndex(SBThread self, uint32_t idx) -> SBFrame"""
12144        return _lldb.SBThread_GetFrameAtIndex(self, idx)
12145
12146    def GetSelectedFrame(self):
12147        r"""GetSelectedFrame(SBThread self) -> SBFrame"""
12148        return _lldb.SBThread_GetSelectedFrame(self)
12149
12150    def SetSelectedFrame(self, frame_idx):
12151        r"""SetSelectedFrame(SBThread self, uint32_t frame_idx) -> SBFrame"""
12152        return _lldb.SBThread_SetSelectedFrame(self, frame_idx)
12153
12154    @staticmethod
12155    def EventIsThreadEvent(event):
12156        r"""EventIsThreadEvent(SBEvent event) -> bool"""
12157        return _lldb.SBThread_EventIsThreadEvent(event)
12158
12159    @staticmethod
12160    def GetStackFrameFromEvent(event):
12161        r"""GetStackFrameFromEvent(SBEvent event) -> SBFrame"""
12162        return _lldb.SBThread_GetStackFrameFromEvent(event)
12163
12164    @staticmethod
12165    def GetThreadFromEvent(event):
12166        r"""GetThreadFromEvent(SBEvent event) -> SBThread"""
12167        return _lldb.SBThread_GetThreadFromEvent(event)
12168
12169    def GetProcess(self):
12170        r"""GetProcess(SBThread self) -> SBProcess"""
12171        return _lldb.SBThread_GetProcess(self)
12172
12173    def __eq__(self, rhs):
12174        r"""__eq__(SBThread self, SBThread rhs) -> bool"""
12175        return _lldb.SBThread___eq__(self, rhs)
12176
12177    def __ne__(self, rhs):
12178        r"""__ne__(SBThread self, SBThread rhs) -> bool"""
12179        return _lldb.SBThread___ne__(self, rhs)
12180
12181    def GetDescription(self, *args):
12182        r"""
12183        GetDescription(SBThread self, SBStream description) -> bool
12184        GetDescription(SBThread self, SBStream description, bool stop_format) -> bool
12185
12186            Get the description strings for this thread that match what the
12187            lldb driver will present, using the thread-format (stop_format==false)
12188            or thread-stop-format (stop_format = true).
12189        """
12190        return _lldb.SBThread_GetDescription(self, *args)
12191
12192    def GetDescriptionWithFormat(self, format, output):
12193        r"""GetDescriptionWithFormat(SBThread self, SBFormat format, SBStream output) -> SBError"""
12194        return _lldb.SBThread_GetDescriptionWithFormat(self, format, output)
12195
12196    def GetStatus(self, status):
12197        r"""GetStatus(SBThread self, SBStream status) -> bool"""
12198        return _lldb.SBThread_GetStatus(self, status)
12199
12200    def GetExtendedBacktraceThread(self, type):
12201        r"""
12202        GetExtendedBacktraceThread(SBThread self, char const * type) -> SBThread
12203
12204            Given an argument of str to specify the type of thread-origin extended
12205            backtrace to retrieve, query whether the origin of this thread is
12206            available.  An SBThread is retured; SBThread.IsValid will return true
12207            if an extended backtrace was available.  The returned SBThread is not
12208            a part of the SBProcess' thread list and it cannot be manipulated like
12209            normal threads -- you cannot step or resume it, for instance -- it is
12210            intended to used primarily for generating a backtrace.  You may request
12211            the returned thread's own thread origin in turn.
12212        """
12213        return _lldb.SBThread_GetExtendedBacktraceThread(self, type)
12214
12215    def GetExtendedBacktraceOriginatingIndexID(self):
12216        r"""
12217        GetExtendedBacktraceOriginatingIndexID(SBThread self) -> uint32_t
12218
12219            If this SBThread is an ExtendedBacktrace thread, get the IndexID of the
12220            original thread that this ExtendedBacktrace thread represents, if
12221            available.  The thread that was running this backtrace in the past may
12222            not have been registered with lldb's thread index (if it was created,
12223            did its work, and was destroyed without lldb ever stopping execution).
12224            In that case, this ExtendedBacktrace thread's IndexID will be returned.
12225        """
12226        return _lldb.SBThread_GetExtendedBacktraceOriginatingIndexID(self)
12227
12228    def GetCurrentException(self):
12229        r"""
12230        GetCurrentException(SBThread self) -> SBValue
12231
12232            Returns an SBValue object represeting the current exception for the thread,
12233            if there is any. Currently, this works for Obj-C code and returns an SBValue
12234            representing the NSException object at the throw site or that's currently
12235            being processes.
12236        """
12237        return _lldb.SBThread_GetCurrentException(self)
12238
12239    def GetCurrentExceptionBacktrace(self):
12240        r"""
12241        GetCurrentExceptionBacktrace(SBThread self) -> SBThread
12242
12243            Returns a historical (fake) SBThread representing the stack trace of an
12244            exception, if there is one for the thread. Currently, this works for Obj-C
12245            code, and can retrieve the throw-site backtrace of an NSException object
12246            even when the program is no longer at the throw site.
12247        """
12248        return _lldb.SBThread_GetCurrentExceptionBacktrace(self)
12249
12250    def SafeToCallFunctions(self):
12251        r"""
12252        SafeToCallFunctions(SBThread self) -> bool
12253
12254            lldb may be able to detect that function calls should not be executed
12255            on a given thread at a particular point in time.  It is recommended that
12256            this is checked before performing an inferior function call on a given
12257            thread.
12258        """
12259        return _lldb.SBThread_SafeToCallFunctions(self)
12260
12261    def GetSiginfo(self):
12262        r"""
12263        GetSiginfo(SBThread self) -> SBValue
12264
12265            Returns a SBValue object representing the siginfo for the current signal.
12266
12267        """
12268        return _lldb.SBThread_GetSiginfo(self)
12269
12270    def __repr__(self):
12271        r"""__repr__(SBThread self) -> std::string"""
12272        return _lldb.SBThread___repr__(self)
12273
12274            # operator== is a free function, which swig does not handle, so we inject
12275            # our own equality operator here
12276    def __eq__(self, other):
12277        return not self.__ne__(other)
12278
12279    def __iter__(self):
12280        '''Iterate over all frames in a lldb.SBThread object.'''
12281        return lldb_iter(self, 'GetNumFrames', 'GetFrameAtIndex')
12282
12283    def __len__(self):
12284        '''Return the number of frames in a lldb.SBThread object.'''
12285        return self.GetNumFrames()
12286
12287    class frames_access(object):
12288        '''A helper object that will lazily hand out frames for a thread when supplied an index.'''
12289        def __init__(self, sbthread):
12290            self.sbthread = sbthread
12291
12292        def __len__(self):
12293            if self.sbthread:
12294                return int(self.sbthread.GetNumFrames())
12295            return 0
12296
12297        def __getitem__(self, key):
12298            if isinstance(key, int):
12299                count = len(self)
12300                if -count <= key < count:
12301                    key %= count
12302                    return self.sbthread.GetFrameAtIndex(key)
12303            return None
12304
12305    def get_frames_access_object(self):
12306        '''An accessor function that returns a frames_access() object which allows lazy frame access from a lldb.SBThread object.'''
12307        return self.frames_access (self)
12308
12309    def get_thread_frames(self):
12310        '''An accessor function that returns a list() that contains all frames in a lldb.SBThread object.'''
12311        frames = []
12312        for frame in self:
12313            frames.append(frame)
12314        return frames
12315
12316    id = property(GetThreadID, None, doc='''A read only property that returns the thread ID as an integer.''')
12317    idx = property(GetIndexID, None, doc='''A read only property that returns the thread index ID as an integer. Thread index ID values start at 1 and increment as threads come and go and can be used to uniquely identify threads.''')
12318    return_value = property(GetStopReturnValue, None, doc='''A read only property that returns an lldb object that represents the return value from the last stop (lldb.SBValue) if we just stopped due to stepping out of a function.''')
12319    process = property(GetProcess, None, doc='''A read only property that returns an lldb object that represents the process (lldb.SBProcess) that owns this thread.''')
12320    num_frames = property(GetNumFrames, None, doc='''A read only property that returns the number of stack frames in this thread as an integer.''')
12321    frames = property(get_thread_frames, None, doc='''A read only property that returns a list() of lldb.SBFrame objects for all frames in this thread.''')
12322    frame = property(get_frames_access_object, None, doc='''A read only property that returns an object that can be used to access frames as an array ("frame_12 = lldb.thread.frame[12]").''')
12323    name = property(GetName, None, doc='''A read only property that returns the name of this thread as a string.''')
12324    queue = property(GetQueueName, None, doc='''A read only property that returns the dispatch queue name of this thread as a string.''')
12325    queue_id = property(GetQueueID, None, doc='''A read only property that returns the dispatch queue id of this thread as an integer.''')
12326    stop_reason = property(GetStopReason, None, doc='''A read only property that returns an lldb enumeration value (see enumerations that start with "lldb.eStopReason") that represents the reason this thread stopped.''')
12327    is_suspended = property(IsSuspended, None, doc='''A read only property that returns a boolean value that indicates if this thread is suspended.''')
12328    is_stopped = property(IsStopped, None, doc='''A read only property that returns a boolean value that indicates if this thread is stopped but not exited.''')
12329
12330
12331    def __eq__(self, rhs):
12332        if not isinstance(rhs, type(self)):
12333            return False
12334
12335        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
12336
12337    def __ne__(self, rhs):
12338        if not isinstance(rhs, type(self)):
12339            return True
12340
12341        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
12342
12343
12344# Register SBThread in _lldb:
12345_lldb.SBThread_swigregister(SBThread)
12346class SBThreadCollection(object):
12347    r"""Represents a collection of SBThread objects."""
12348
12349    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12350    __repr__ = _swig_repr
12351
12352    def __init__(self, *args):
12353        r"""
12354        __init__(SBThreadCollection self) -> SBThreadCollection
12355        __init__(SBThreadCollection self, SBThreadCollection rhs) -> SBThreadCollection
12356        """
12357        _lldb.SBThreadCollection_swiginit(self, _lldb.new_SBThreadCollection(*args))
12358    __swig_destroy__ = _lldb.delete_SBThreadCollection
12359
12360    def __nonzero__(self):
12361        return _lldb.SBThreadCollection___nonzero__(self)
12362    __bool__ = __nonzero__
12363
12364
12365
12366    def IsValid(self):
12367        r"""IsValid(SBThreadCollection self) -> bool"""
12368        return _lldb.SBThreadCollection_IsValid(self)
12369
12370    def GetSize(self):
12371        r"""GetSize(SBThreadCollection self) -> size_t"""
12372        return _lldb.SBThreadCollection_GetSize(self)
12373
12374    def GetThreadAtIndex(self, idx):
12375        r"""GetThreadAtIndex(SBThreadCollection self, size_t idx) -> SBThread"""
12376        return _lldb.SBThreadCollection_GetThreadAtIndex(self, idx)
12377
12378
12379    def __iter__(self):
12380        '''Iterate over all threads in a lldb.SBThreadCollection object.'''
12381        return lldb_iter(self, 'GetSize', 'GetThreadAtIndex')
12382
12383    def __len__(self):
12384        '''Return the number of threads in a lldb.SBThreadCollection object.'''
12385        return self.GetSize()
12386
12387
12388# Register SBThreadCollection in _lldb:
12389_lldb.SBThreadCollection_swigregister(SBThreadCollection)
12390class SBThreadPlan(object):
12391    r"""
12392    Represents a plan for the execution control of a given thread.
12393
12394    See also :py:class:`SBThread` and :py:class:`SBFrame`.
12395    """
12396
12397    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12398    __repr__ = _swig_repr
12399
12400    def __init__(self, *args):
12401        r"""
12402        __init__(SBThreadPlan self) -> SBThreadPlan
12403        __init__(SBThreadPlan self, SBThreadPlan threadPlan) -> SBThreadPlan
12404        __init__(SBThreadPlan self, SBThread thread, char const * class_name) -> SBThreadPlan
12405        __init__(SBThreadPlan self, SBThread thread, char const * class_name, SBStructuredData args_data) -> SBThreadPlan
12406        """
12407        _lldb.SBThreadPlan_swiginit(self, _lldb.new_SBThreadPlan(*args))
12408    __swig_destroy__ = _lldb.delete_SBThreadPlan
12409
12410    def __nonzero__(self):
12411        return _lldb.SBThreadPlan___nonzero__(self)
12412    __bool__ = __nonzero__
12413
12414
12415
12416    def Clear(self):
12417        r"""Clear(SBThreadPlan self)"""
12418        return _lldb.SBThreadPlan_Clear(self)
12419
12420    def GetStopReason(self):
12421        r"""GetStopReason(SBThreadPlan self) -> lldb::StopReason"""
12422        return _lldb.SBThreadPlan_GetStopReason(self)
12423
12424    def GetStopReasonDataCount(self):
12425        r"""
12426        GetStopReasonDataCount(SBThreadPlan self) -> size_t
12427
12428            Get the number of words associated with the stop reason.
12429            See also GetStopReasonDataAtIndex().
12430        """
12431        return _lldb.SBThreadPlan_GetStopReasonDataCount(self)
12432
12433    def GetStopReasonDataAtIndex(self, idx):
12434        r"""
12435        GetStopReasonDataAtIndex(SBThreadPlan self, uint32_t idx) -> uint64_t
12436
12437            Get information associated with a stop reason.
12438
12439            Breakpoint stop reasons will have data that consists of pairs of
12440            breakpoint IDs followed by the breakpoint location IDs (they always come
12441            in pairs).
12442
12443            Stop Reason              Count Data Type
12444            ======================== ===== =========================================
12445            eStopReasonNone          0
12446            eStopReasonTrace         0
12447            eStopReasonBreakpoint    N     duple: {breakpoint id, location id}
12448            eStopReasonWatchpoint    1     watchpoint id
12449            eStopReasonSignal        1     unix signal number
12450            eStopReasonException     N     exception data
12451            eStopReasonExec          0
12452            eStopReasonFork          1     pid of the child process
12453            eStopReasonVFork         1     pid of the child process
12454            eStopReasonVForkDone     0
12455            eStopReasonPlanComplete  0
12456        """
12457        return _lldb.SBThreadPlan_GetStopReasonDataAtIndex(self, idx)
12458
12459    def GetThread(self):
12460        r"""GetThread(SBThreadPlan self) -> SBThread"""
12461        return _lldb.SBThreadPlan_GetThread(self)
12462
12463    def GetDescription(self, description):
12464        r"""GetDescription(SBThreadPlan self, SBStream description) -> bool"""
12465        return _lldb.SBThreadPlan_GetDescription(self, description)
12466
12467    def SetPlanComplete(self, success):
12468        r"""SetPlanComplete(SBThreadPlan self, bool success)"""
12469        return _lldb.SBThreadPlan_SetPlanComplete(self, success)
12470
12471    def IsPlanComplete(self):
12472        r"""IsPlanComplete(SBThreadPlan self) -> bool"""
12473        return _lldb.SBThreadPlan_IsPlanComplete(self)
12474
12475    def IsPlanStale(self):
12476        r"""IsPlanStale(SBThreadPlan self) -> bool"""
12477        return _lldb.SBThreadPlan_IsPlanStale(self)
12478
12479    def IsValid(self, *args):
12480        r"""
12481        IsValid(SBThreadPlan self) -> bool
12482        IsValid(SBThreadPlan self) -> bool
12483        """
12484        return _lldb.SBThreadPlan_IsValid(self, *args)
12485
12486    def GetStopOthers(self):
12487        r"""
12488        GetStopOthers(SBThreadPlan self) -> bool
12489        Return whether this plan will ask to stop other threads when it runs.
12490        """
12491        return _lldb.SBThreadPlan_GetStopOthers(self)
12492
12493    def SetStopOthers(self, stop_others):
12494        r"""
12495        SetStopOthers(SBThreadPlan self, bool stop_others)
12496        Set whether this plan will ask to stop other threads when it runs.
12497        """
12498        return _lldb.SBThreadPlan_SetStopOthers(self, stop_others)
12499
12500    def QueueThreadPlanForStepOverRange(self, *args):
12501        r"""
12502        QueueThreadPlanForStepOverRange(SBThreadPlan self, SBAddress start_address, lldb::addr_t range_size) -> SBThreadPlan
12503        QueueThreadPlanForStepOverRange(SBThreadPlan self, SBAddress start_address, lldb::addr_t range_size, SBError error) -> SBThreadPlan
12504        """
12505        return _lldb.SBThreadPlan_QueueThreadPlanForStepOverRange(self, *args)
12506
12507    def QueueThreadPlanForStepInRange(self, *args):
12508        r"""
12509        QueueThreadPlanForStepInRange(SBThreadPlan self, SBAddress start_address, lldb::addr_t range_size) -> SBThreadPlan
12510        QueueThreadPlanForStepInRange(SBThreadPlan self, SBAddress start_address, lldb::addr_t range_size, SBError error) -> SBThreadPlan
12511        """
12512        return _lldb.SBThreadPlan_QueueThreadPlanForStepInRange(self, *args)
12513
12514    def QueueThreadPlanForStepOut(self, *args):
12515        r"""
12516        QueueThreadPlanForStepOut(SBThreadPlan self, uint32_t frame_idx_to_step_to, bool first_insn=False) -> SBThreadPlan
12517        QueueThreadPlanForStepOut(SBThreadPlan self, uint32_t frame_idx_to_step_to, bool first_insn, SBError error) -> SBThreadPlan
12518        """
12519        return _lldb.SBThreadPlan_QueueThreadPlanForStepOut(self, *args)
12520
12521    def QueueThreadPlanForRunToAddress(self, *args):
12522        r"""
12523        QueueThreadPlanForRunToAddress(SBThreadPlan self, SBAddress address) -> SBThreadPlan
12524        QueueThreadPlanForRunToAddress(SBThreadPlan self, SBAddress address, SBError error) -> SBThreadPlan
12525        """
12526        return _lldb.SBThreadPlan_QueueThreadPlanForRunToAddress(self, *args)
12527
12528    def QueueThreadPlanForStepScripted(self, *args):
12529        r"""
12530        QueueThreadPlanForStepScripted(SBThreadPlan self, char const * script_class_name) -> SBThreadPlan
12531        QueueThreadPlanForStepScripted(SBThreadPlan self, char const * script_class_name, SBError error) -> SBThreadPlan
12532        QueueThreadPlanForStepScripted(SBThreadPlan self, char const * script_class_name, SBStructuredData args_data, SBError error) -> SBThreadPlan
12533        """
12534        return _lldb.SBThreadPlan_QueueThreadPlanForStepScripted(self, *args)
12535
12536# Register SBThreadPlan in _lldb:
12537_lldb.SBThreadPlan_swigregister(SBThreadPlan)
12538class SBTrace(object):
12539    r"""Represents a processor trace."""
12540
12541    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12542    __repr__ = _swig_repr
12543
12544    def __init__(self):
12545        r"""__init__(SBTrace self) -> SBTrace"""
12546        _lldb.SBTrace_swiginit(self, _lldb.new_SBTrace())
12547
12548    @staticmethod
12549    def LoadTraceFromFile(error, debugger, trace_description_file):
12550        r"""LoadTraceFromFile(SBError error, SBDebugger debugger, SBFileSpec trace_description_file) -> SBTrace"""
12551        return _lldb.SBTrace_LoadTraceFromFile(error, debugger, trace_description_file)
12552
12553    def CreateNewCursor(self, error, thread):
12554        r"""CreateNewCursor(SBTrace self, SBError error, SBThread thread) -> SBTraceCursor"""
12555        return _lldb.SBTrace_CreateNewCursor(self, error, thread)
12556
12557    def SaveToDisk(self, error, bundle_dir, compact=False):
12558        r"""SaveToDisk(SBTrace self, SBError error, SBFileSpec bundle_dir, bool compact=False) -> SBFileSpec"""
12559        return _lldb.SBTrace_SaveToDisk(self, error, bundle_dir, compact)
12560
12561    def GetStartConfigurationHelp(self):
12562        r"""GetStartConfigurationHelp(SBTrace self) -> char const *"""
12563        return _lldb.SBTrace_GetStartConfigurationHelp(self)
12564
12565    def Start(self, *args):
12566        r"""
12567        Start(SBTrace self, SBStructuredData configuration) -> SBError
12568        Start(SBTrace self, SBThread thread, SBStructuredData configuration) -> SBError
12569        """
12570        return _lldb.SBTrace_Start(self, *args)
12571
12572    def Stop(self, *args):
12573        r"""
12574        Stop(SBTrace self) -> SBError
12575        Stop(SBTrace self, SBThread thread) -> SBError
12576        """
12577        return _lldb.SBTrace_Stop(self, *args)
12578
12579    def __nonzero__(self):
12580        return _lldb.SBTrace___nonzero__(self)
12581    __bool__ = __nonzero__
12582
12583
12584
12585    def IsValid(self):
12586        r"""IsValid(SBTrace self) -> bool"""
12587        return _lldb.SBTrace_IsValid(self)
12588    __swig_destroy__ = _lldb.delete_SBTrace
12589
12590# Register SBTrace in _lldb:
12591_lldb.SBTrace_swigregister(SBTrace)
12592class SBTraceCursor(object):
12593    r"""Represents a trace cursor."""
12594
12595    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12596    __repr__ = _swig_repr
12597
12598    def __init__(self):
12599        r"""__init__(SBTraceCursor self) -> SBTraceCursor"""
12600        _lldb.SBTraceCursor_swiginit(self, _lldb.new_SBTraceCursor())
12601
12602    def SetForwards(self, forwards):
12603        r"""SetForwards(SBTraceCursor self, bool forwards)"""
12604        return _lldb.SBTraceCursor_SetForwards(self, forwards)
12605
12606    def IsForwards(self):
12607        r"""IsForwards(SBTraceCursor self) -> bool"""
12608        return _lldb.SBTraceCursor_IsForwards(self)
12609
12610    def Next(self):
12611        r"""Next(SBTraceCursor self)"""
12612        return _lldb.SBTraceCursor_Next(self)
12613
12614    def HasValue(self):
12615        r"""HasValue(SBTraceCursor self) -> bool"""
12616        return _lldb.SBTraceCursor_HasValue(self)
12617
12618    def GoToId(self, id):
12619        r"""GoToId(SBTraceCursor self, lldb::user_id_t id) -> bool"""
12620        return _lldb.SBTraceCursor_GoToId(self, id)
12621
12622    def HasId(self, id):
12623        r"""HasId(SBTraceCursor self, lldb::user_id_t id) -> bool"""
12624        return _lldb.SBTraceCursor_HasId(self, id)
12625
12626    def GetId(self):
12627        r"""GetId(SBTraceCursor self) -> lldb::user_id_t"""
12628        return _lldb.SBTraceCursor_GetId(self)
12629
12630    def Seek(self, offset, origin):
12631        r"""Seek(SBTraceCursor self, int64_t offset, lldb::TraceCursorSeekType origin) -> bool"""
12632        return _lldb.SBTraceCursor_Seek(self, offset, origin)
12633
12634    def GetItemKind(self):
12635        r"""GetItemKind(SBTraceCursor self) -> lldb::TraceItemKind"""
12636        return _lldb.SBTraceCursor_GetItemKind(self)
12637
12638    def IsError(self):
12639        r"""IsError(SBTraceCursor self) -> bool"""
12640        return _lldb.SBTraceCursor_IsError(self)
12641
12642    def GetError(self):
12643        r"""GetError(SBTraceCursor self) -> char const *"""
12644        return _lldb.SBTraceCursor_GetError(self)
12645
12646    def IsEvent(self):
12647        r"""IsEvent(SBTraceCursor self) -> bool"""
12648        return _lldb.SBTraceCursor_IsEvent(self)
12649
12650    def GetEventType(self):
12651        r"""GetEventType(SBTraceCursor self) -> lldb::TraceEvent"""
12652        return _lldb.SBTraceCursor_GetEventType(self)
12653
12654    def GetEventTypeAsString(self):
12655        r"""GetEventTypeAsString(SBTraceCursor self) -> char const *"""
12656        return _lldb.SBTraceCursor_GetEventTypeAsString(self)
12657
12658    def IsInstruction(self):
12659        r"""IsInstruction(SBTraceCursor self) -> bool"""
12660        return _lldb.SBTraceCursor_IsInstruction(self)
12661
12662    def GetLoadAddress(self):
12663        r"""GetLoadAddress(SBTraceCursor self) -> lldb::addr_t"""
12664        return _lldb.SBTraceCursor_GetLoadAddress(self)
12665
12666    def GetCPU(self):
12667        r"""GetCPU(SBTraceCursor self) -> lldb::cpu_id_t"""
12668        return _lldb.SBTraceCursor_GetCPU(self)
12669
12670    def IsValid(self):
12671        r"""IsValid(SBTraceCursor self) -> bool"""
12672        return _lldb.SBTraceCursor_IsValid(self)
12673
12674    def __nonzero__(self):
12675        return _lldb.SBTraceCursor___nonzero__(self)
12676    __bool__ = __nonzero__
12677
12678
12679    __swig_destroy__ = _lldb.delete_SBTraceCursor
12680
12681# Register SBTraceCursor in _lldb:
12682_lldb.SBTraceCursor_swigregister(SBTraceCursor)
12683class SBTypeMember(object):
12684    r"""Represents a member of a type."""
12685
12686    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12687
12688    def __init__(self, *args):
12689        r"""
12690        __init__(SBTypeMember self) -> SBTypeMember
12691        __init__(SBTypeMember self, SBTypeMember rhs) -> SBTypeMember
12692        """
12693        _lldb.SBTypeMember_swiginit(self, _lldb.new_SBTypeMember(*args))
12694    __swig_destroy__ = _lldb.delete_SBTypeMember
12695
12696    def __nonzero__(self):
12697        return _lldb.SBTypeMember___nonzero__(self)
12698    __bool__ = __nonzero__
12699
12700
12701
12702    def IsValid(self):
12703        r"""IsValid(SBTypeMember self) -> bool"""
12704        return _lldb.SBTypeMember_IsValid(self)
12705
12706    def GetName(self):
12707        r"""GetName(SBTypeMember self) -> char const *"""
12708        return _lldb.SBTypeMember_GetName(self)
12709
12710    def GetType(self):
12711        r"""GetType(SBTypeMember self) -> SBType"""
12712        return _lldb.SBTypeMember_GetType(self)
12713
12714    def GetOffsetInBytes(self):
12715        r"""GetOffsetInBytes(SBTypeMember self) -> uint64_t"""
12716        return _lldb.SBTypeMember_GetOffsetInBytes(self)
12717
12718    def GetOffsetInBits(self):
12719        r"""GetOffsetInBits(SBTypeMember self) -> uint64_t"""
12720        return _lldb.SBTypeMember_GetOffsetInBits(self)
12721
12722    def IsBitfield(self):
12723        r"""IsBitfield(SBTypeMember self) -> bool"""
12724        return _lldb.SBTypeMember_IsBitfield(self)
12725
12726    def GetBitfieldSizeInBits(self):
12727        r"""GetBitfieldSizeInBits(SBTypeMember self) -> uint32_t"""
12728        return _lldb.SBTypeMember_GetBitfieldSizeInBits(self)
12729
12730    def GetDescription(self, description, description_level):
12731        r"""GetDescription(SBTypeMember self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
12732        return _lldb.SBTypeMember_GetDescription(self, description, description_level)
12733
12734    def __repr__(self):
12735        r"""__repr__(SBTypeMember self) -> std::string"""
12736        return _lldb.SBTypeMember___repr__(self)
12737
12738            # operator== is a free function, which swig does not handle, so we inject
12739            # our own equality operator here
12740    def __eq__(self, other):
12741        return not self.__ne__(other)
12742
12743    name = property(GetName, None, doc='''A read only property that returns the name for this member as a string.''')
12744    type = property(GetType, None, doc='''A read only property that returns an lldb object that represents the type (lldb.SBType) for this member.''')
12745    byte_offset = property(GetOffsetInBytes, None, doc='''A read only property that returns offset in bytes for this member as an integer.''')
12746    bit_offset = property(GetOffsetInBits, None, doc='''A read only property that returns offset in bits for this member as an integer.''')
12747    is_bitfield = property(IsBitfield, None, doc='''A read only property that returns true if this member is a bitfield.''')
12748    bitfield_bit_size = property(GetBitfieldSizeInBits, None, doc='''A read only property that returns the bitfield size in bits for this member as an integer, or zero if this member is not a bitfield.''')
12749
12750
12751# Register SBTypeMember in _lldb:
12752_lldb.SBTypeMember_swigregister(SBTypeMember)
12753class SBTypeMemberFunction(object):
12754    r"""Represents a member function of a type."""
12755
12756    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12757
12758    def __init__(self, *args):
12759        r"""
12760        __init__(SBTypeMemberFunction self) -> SBTypeMemberFunction
12761        __init__(SBTypeMemberFunction self, SBTypeMemberFunction rhs) -> SBTypeMemberFunction
12762        """
12763        _lldb.SBTypeMemberFunction_swiginit(self, _lldb.new_SBTypeMemberFunction(*args))
12764    __swig_destroy__ = _lldb.delete_SBTypeMemberFunction
12765
12766    def __nonzero__(self):
12767        return _lldb.SBTypeMemberFunction___nonzero__(self)
12768    __bool__ = __nonzero__
12769
12770
12771
12772    def IsValid(self):
12773        r"""IsValid(SBTypeMemberFunction self) -> bool"""
12774        return _lldb.SBTypeMemberFunction_IsValid(self)
12775
12776    def GetName(self):
12777        r"""GetName(SBTypeMemberFunction self) -> char const *"""
12778        return _lldb.SBTypeMemberFunction_GetName(self)
12779
12780    def GetDemangledName(self):
12781        r"""GetDemangledName(SBTypeMemberFunction self) -> char const *"""
12782        return _lldb.SBTypeMemberFunction_GetDemangledName(self)
12783
12784    def GetMangledName(self):
12785        r"""GetMangledName(SBTypeMemberFunction self) -> char const *"""
12786        return _lldb.SBTypeMemberFunction_GetMangledName(self)
12787
12788    def GetType(self):
12789        r"""GetType(SBTypeMemberFunction self) -> SBType"""
12790        return _lldb.SBTypeMemberFunction_GetType(self)
12791
12792    def GetReturnType(self):
12793        r"""GetReturnType(SBTypeMemberFunction self) -> SBType"""
12794        return _lldb.SBTypeMemberFunction_GetReturnType(self)
12795
12796    def GetNumberOfArguments(self):
12797        r"""GetNumberOfArguments(SBTypeMemberFunction self) -> uint32_t"""
12798        return _lldb.SBTypeMemberFunction_GetNumberOfArguments(self)
12799
12800    def GetArgumentTypeAtIndex(self, arg2):
12801        r"""GetArgumentTypeAtIndex(SBTypeMemberFunction self, uint32_t arg2) -> SBType"""
12802        return _lldb.SBTypeMemberFunction_GetArgumentTypeAtIndex(self, arg2)
12803
12804    def GetKind(self):
12805        r"""GetKind(SBTypeMemberFunction self) -> lldb::MemberFunctionKind"""
12806        return _lldb.SBTypeMemberFunction_GetKind(self)
12807
12808    def GetDescription(self, description, description_level):
12809        r"""GetDescription(SBTypeMemberFunction self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
12810        return _lldb.SBTypeMemberFunction_GetDescription(self, description, description_level)
12811
12812    def __repr__(self):
12813        r"""__repr__(SBTypeMemberFunction self) -> std::string"""
12814        return _lldb.SBTypeMemberFunction___repr__(self)
12815
12816          # operator== is a free function, which swig does not handle, so we inject
12817          # our own equality operator here
12818    def __eq__(self, other):
12819      return not self.__ne__(other)
12820
12821
12822
12823# Register SBTypeMemberFunction in _lldb:
12824_lldb.SBTypeMemberFunction_swigregister(SBTypeMemberFunction)
12825class SBTypeStaticField(object):
12826    r"""Proxy of C++ lldb::SBTypeStaticField class."""
12827
12828    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12829    __repr__ = _swig_repr
12830
12831    def __init__(self, *args):
12832        r"""
12833        __init__(SBTypeStaticField self) -> SBTypeStaticField
12834        __init__(SBTypeStaticField self, SBTypeStaticField rhs) -> SBTypeStaticField
12835        """
12836        _lldb.SBTypeStaticField_swiginit(self, _lldb.new_SBTypeStaticField(*args))
12837    __swig_destroy__ = _lldb.delete_SBTypeStaticField
12838
12839    def __nonzero__(self):
12840        return _lldb.SBTypeStaticField___nonzero__(self)
12841    __bool__ = __nonzero__
12842
12843
12844
12845    def IsValid(self):
12846        r"""IsValid(SBTypeStaticField self) -> bool"""
12847        return _lldb.SBTypeStaticField_IsValid(self)
12848
12849    def GetName(self):
12850        r"""GetName(SBTypeStaticField self) -> char const *"""
12851        return _lldb.SBTypeStaticField_GetName(self)
12852
12853    def GetMangledName(self):
12854        r"""GetMangledName(SBTypeStaticField self) -> char const *"""
12855        return _lldb.SBTypeStaticField_GetMangledName(self)
12856
12857    def GetType(self):
12858        r"""GetType(SBTypeStaticField self) -> SBType"""
12859        return _lldb.SBTypeStaticField_GetType(self)
12860
12861    def GetConstantValue(self, target):
12862        r"""GetConstantValue(SBTypeStaticField self, SBTarget target) -> SBValue"""
12863        return _lldb.SBTypeStaticField_GetConstantValue(self, target)
12864
12865# Register SBTypeStaticField in _lldb:
12866_lldb.SBTypeStaticField_swigregister(SBTypeStaticField)
12867class SBType(object):
12868    r"""
12869    Represents a data type in lldb.
12870
12871    The actual characteristics of each type are defined by the semantics of the
12872    programming language and the specific language implementation that was used
12873    to compile the target program. See the language-specific notes in the
12874    documentation of each method.
12875
12876    SBType instances can be obtained by a variety of methods.
12877    `SBTarget.FindFirstType` and `SBModule.FindFirstType` can be used to create
12878    `SBType` representations of types in executables/libraries with debug
12879    information. For some languages such as C, C++ and Objective-C it is possible
12880    to create new types by evaluating expressions that define a new type.
12881
12882    Note that most `SBType` properties are computed independently of any runtime
12883    information so for dynamic languages the functionality can be very limited.
12884    `SBValue` can be used to represent runtime values which then can be more
12885    accurately queried for certain information such as byte size.
12886
12887
12888    SBType supports the eq/ne operator. For example,::
12889
12890        //main.cpp:
12891
12892        class Task {
12893        public:
12894            int id;
12895            Task *next;
12896            Task(int i, Task *n):
12897                id(i),
12898                next(n)
12899            {}
12900        };
12901
12902        int main (int argc, char const *argv[])
12903        {
12904            Task *task_head = new Task(-1, NULL);
12905            Task *task1 = new Task(1, NULL);
12906            Task *task2 = new Task(2, NULL);
12907            Task *task3 = new Task(3, NULL); // Orphaned.
12908            Task *task4 = new Task(4, NULL);
12909            Task *task5 = new Task(5, NULL);
12910
12911            task_head->next = task1;
12912            task1->next = task2;
12913            task2->next = task4;
12914            task4->next = task5;
12915
12916            int total = 0;
12917            Task *t = task_head;
12918            while (t != NULL) {
12919                if (t->id >= 0)
12920                    ++total;
12921                t = t->next;
12922            }
12923            printf('We have a total number of %d tasks\n', total);
12924
12925            // This corresponds to an empty task list.
12926            Task *empty_task_head = new Task(-1, NULL);
12927
12928            return 0; // Break at this line
12929        }
12930
12931        # find_type.py:
12932
12933                # Get the type 'Task'.
12934                task_type = target.FindFirstType('Task')
12935                self.assertTrue(task_type)
12936
12937                # Get the variable 'task_head'.
12938                frame0.FindVariable('task_head')
12939                task_head_type = task_head.GetType()
12940                self.assertTrue(task_head_type.IsPointerType())
12941
12942                # task_head_type is 'Task *'.
12943                task_pointer_type = task_type.GetPointerType()
12944                self.assertTrue(task_head_type == task_pointer_type)
12945
12946                # Get the child mmember 'id' from 'task_head'.
12947                id = task_head.GetChildMemberWithName('id')
12948                id_type = id.GetType()
12949
12950                # SBType.GetBasicType() takes an enum 'BasicType' (lldb-enumerations.h).
12951                int_type = id_type.GetBasicType(lldb.eBasicTypeInt)
12952                # id_type and int_type should be the same type!
12953                self.assertTrue(id_type == int_type)
12954
12955
12956    """
12957
12958    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12959
12960    def __init__(self, *args):
12961        r"""
12962        __init__(SBType self) -> SBType
12963        __init__(SBType self, SBType rhs) -> SBType
12964        """
12965        _lldb.SBType_swiginit(self, _lldb.new_SBType(*args))
12966    __swig_destroy__ = _lldb.delete_SBType
12967
12968    def __nonzero__(self):
12969        return _lldb.SBType___nonzero__(self)
12970    __bool__ = __nonzero__
12971
12972
12973
12974    def IsValid(self):
12975        r"""IsValid(SBType self) -> bool"""
12976        return _lldb.SBType_IsValid(self)
12977
12978    def GetByteSize(self):
12979        r"""
12980        GetByteSize(SBType self) -> uint64_t
12981        Returns the number of bytes a variable with the given types occupies in memory.
12982
12983            Returns ``0`` if the size can't be determined.
12984
12985            If a type occupies ``N`` bytes + ``M`` bits in memory, this function returns
12986            the rounded up amount of bytes (i.e., if ``M`` is ``0``,
12987            this function returns ``N`` and otherwise ``N + 1``).
12988
12989            Language-specific behaviour:
12990
12991            * C: The output is expected to match the value of ``sizeof(Type)``. If
12992              ``sizeof(Type)`` is not a valid expression for the given type, the
12993              function returns ``0``.
12994            * C++: Same as in C.
12995            * Objective-C: Same as in C. For Objective-C classes this always returns
12996              ``0`` as the actual size depends on runtime information.
12997
12998        """
12999        return _lldb.SBType_GetByteSize(self)
13000
13001    def GetByteAlign(self):
13002        r"""GetByteAlign(SBType self) -> uint64_t"""
13003        return _lldb.SBType_GetByteAlign(self)
13004
13005    def IsPointerType(self):
13006        r"""
13007        IsPointerType(SBType self) -> bool
13008        Returns true if this type is a pointer type.
13009
13010            Language-specific behaviour:
13011
13012            * C: Returns true for C pointer types (or typedefs of these types).
13013            * C++: Pointer types include the C pointer types as well as pointers to data
13014              mebers or member functions.
13015            * Objective-C: Pointer types include the C pointer types. ``id``, ``Class``
13016              and pointers to blocks are also considered pointer types.
13017
13018        """
13019        return _lldb.SBType_IsPointerType(self)
13020
13021    def IsReferenceType(self):
13022        r"""
13023        IsReferenceType(SBType self) -> bool
13024        Returns true if this type is a reference type.
13025
13026            Language-specific behaviour:
13027
13028            * C: Returns false for all types.
13029            * C++: Both l-value and r-value references are considered reference types.
13030            * Objective-C: Returns false for all types.
13031
13032        """
13033        return _lldb.SBType_IsReferenceType(self)
13034
13035    def IsFunctionType(self):
13036        r"""IsFunctionType(SBType self) -> bool"""
13037        return _lldb.SBType_IsFunctionType(self)
13038
13039    def IsPolymorphicClass(self):
13040        r"""
13041        IsPolymorphicClass(SBType self) -> bool
13042        Returns true if this type is a polymorphic type.
13043
13044            Language-specific behaviour:
13045
13046            * C: Returns false for all types.
13047            * C++: Returns true if the type is a class type that contains at least one
13048              virtual member function or if at least one of its base classes is
13049              considered a polymorphic type.
13050            * Objective-C: Returns false for all types.
13051
13052        """
13053        return _lldb.SBType_IsPolymorphicClass(self)
13054
13055    def IsArrayType(self):
13056        r"""
13057        IsArrayType(SBType self) -> bool
13058        Returns true if this type is an array type.
13059
13060            Language-specific behaviour:
13061
13062            * C: Returns true if the types is an array type. This includes incomplete
13063              array types ``T[]`` and array types with integer (``T[1]``) or variable
13064              length (``T[some_variable]``). Pointer types are not considered arrays.
13065            * C++: Includes C's array types and dependent array types (i.e., array types
13066              in templates which size depends on template arguments).
13067            * Objective-C: Same as in C.
13068
13069        """
13070        return _lldb.SBType_IsArrayType(self)
13071
13072    def IsVectorType(self):
13073        r"""
13074        IsVectorType(SBType self) -> bool
13075        Returns true if this type is a vector type.
13076
13077            Language-specific behaviour:
13078
13079            * C: Returns true if the types is a vector type created with
13080              GCC's ``vector_size`` or Clang's ``ext_vector_type`` feature.
13081            * C++: Same as in C.
13082            * Objective-C: Same as in C.
13083
13084        """
13085        return _lldb.SBType_IsVectorType(self)
13086
13087    def IsTypedefType(self):
13088        r"""
13089        IsTypedefType(SBType self) -> bool
13090        Returns true if this type is a typedef.
13091
13092            Language-specific behaviour:
13093
13094            * C: Returns true if the type is a C typedef.
13095            * C++: Same as in C. Also treats type aliases as typedefs.
13096            * Objective-C: Same as in C.
13097
13098        """
13099        return _lldb.SBType_IsTypedefType(self)
13100
13101    def IsAnonymousType(self):
13102        r"""
13103        IsAnonymousType(SBType self) -> bool
13104        Returns true if this type is an anonymous type.
13105
13106            Language-specific behaviour:
13107
13108            * C: Returns true for anonymous unions. Also returns true for
13109              anonymous structs (which are a GNU language extension).
13110            * C++: Same as in C.
13111            * Objective-C: Same as in C.
13112
13113        """
13114        return _lldb.SBType_IsAnonymousType(self)
13115
13116    def IsScopedEnumerationType(self):
13117        r"""
13118        IsScopedEnumerationType(SBType self) -> bool
13119        Returns true if this type is a scoped enum.
13120
13121            Language-specific behaviour:
13122
13123            * C: Returns false for all types.
13124            * C++: Return true only for C++11 scoped enums.
13125            * Objective-C: Returns false for all types.
13126
13127        """
13128        return _lldb.SBType_IsScopedEnumerationType(self)
13129
13130    def IsAggregateType(self):
13131        r"""
13132        IsAggregateType(SBType self) -> bool
13133        Returns true if this type is an aggregate type.
13134
13135            Language-specific behaviour:
13136
13137            * C: Returns true for struct values, arrays, and vectors.
13138            * C++: Same a C. Also includes class instances.
13139            * Objective-C: Same as C. Also includes class instances.
13140
13141        """
13142        return _lldb.SBType_IsAggregateType(self)
13143
13144    def GetPointerType(self):
13145        r"""
13146        GetPointerType(SBType self) -> SBType
13147        Returns a type that represents a pointer to this type.
13148
13149            If the type system of the current language can't represent a pointer to this
13150            type or this type is invalid, an invalid `SBType` is returned.
13151
13152            Language-specific behaviour:
13153
13154            * C: Returns the pointer type of this type.
13155            * C++: Same as in C.
13156            * Objective-C: Same as in C.
13157
13158        """
13159        return _lldb.SBType_GetPointerType(self)
13160
13161    def GetPointeeType(self):
13162        r"""
13163        GetPointeeType(SBType self) -> SBType
13164        Returns the underlying pointee type.
13165
13166            If this type is a pointer type as specified by `IsPointerType` then this
13167            returns the underlying type. If this is not a pointer type or an invalid
13168            `SBType` then this returns an invalid `SBType`.
13169
13170            Language-specific behaviour:
13171
13172            * C: Returns the underlying type for for C pointer types or typedefs of
13173              these types). For example, ``int *`` will return ``int``.
13174            * C++: Same as in C. Returns an `SBType` representation for data members/
13175              member functions in case the `SBType` is a pointer to data member or
13176              pointer to member function.
13177            * Objective-C: Same as in C. The pointee type of ``id`` and ``Class`` is
13178              an invalid `SBType`. The pointee type of pointers Objective-C types is an
13179              `SBType` for the non-pointer type of the respective type. For example,
13180              ``NSString *`` will return ``NSString`` as a pointee type.
13181
13182        """
13183        return _lldb.SBType_GetPointeeType(self)
13184
13185    def GetReferenceType(self):
13186        r"""
13187        GetReferenceType(SBType self) -> SBType
13188        Returns a type that represents a reference to this type.
13189
13190            If the type system of the current language can't represent a reference to
13191            this type, an invalid `SBType` is returned.
13192
13193            Language-specific behaviour:
13194
13195            * C: Currently assumes the type system is C++ and returns an l-value
13196              reference type. For example, ``int`` will return ``int&``. This behavior
13197              is likely to change in the future and shouldn't be relied on.
13198            * C++: Same as in C.
13199            * Objective-C: Same as in C.
13200
13201        """
13202        return _lldb.SBType_GetReferenceType(self)
13203
13204    def GetTypedefedType(self):
13205        r"""
13206        GetTypedefedType(SBType self) -> SBType
13207        Returns the underlying type of a typedef.
13208
13209            If this type is a typedef as designated by `IsTypedefType`, then the
13210            underlying type is being returned. Otherwise an invalid `SBType` is
13211            returned.
13212
13213            Language-specific behaviour:
13214
13215            * C: Returns the underlying type of a typedef type.
13216            * C++: Same as in C. For type aliases, the underlying type is returned.
13217            * Objective-C: Same as in C.
13218
13219        """
13220        return _lldb.SBType_GetTypedefedType(self)
13221
13222    def GetDereferencedType(self):
13223        r"""
13224        GetDereferencedType(SBType self) -> SBType
13225        Returns the underlying type of a reference type.
13226
13227            If this type is a reference as designated by `IsReferenceType`, then the
13228            underlying type is being returned. Otherwise an invalid `SBType` is
13229            returned.
13230
13231            Language-specific behaviour:
13232
13233            * C: Always returns an invalid type.
13234            * C++: For l-value and r-value references the underlying type is returned.
13235              For example, ``int &`` will return ``int``.
13236            * Objective-C: Same as in C.
13237
13238        """
13239        return _lldb.SBType_GetDereferencedType(self)
13240
13241    def GetUnqualifiedType(self):
13242        r"""
13243        GetUnqualifiedType(SBType self) -> SBType
13244        Returns the unqualified version of this type.
13245
13246            Language-specific behaviour:
13247
13248            * C: If this type with any const or volatile specifier removed.
13249            * C++: Same as in C.
13250            * Objective-C: Same as in C.
13251
13252        """
13253        return _lldb.SBType_GetUnqualifiedType(self)
13254
13255    def GetArrayElementType(self):
13256        r"""
13257        GetArrayElementType(SBType self) -> SBType
13258        Returns the array element type if this type is an array type.
13259
13260            Otherwise returns an invalid `SBType` if this type is invalid or not an
13261            array type.
13262
13263            Language-specific behaviour:
13264
13265            * C: If this is an array type (see `IsArrayType`) such as ``T[]``, returns
13266              the element type.
13267            * C++: Same as in C.
13268            * Objective-C: Same as in C.
13269
13270            See also `IsArrayType`.
13271
13272        """
13273        return _lldb.SBType_GetArrayElementType(self)
13274
13275    def GetArrayType(self, size):
13276        r"""
13277        GetArrayType(SBType self, uint64_t size) -> SBType
13278        Returns the array type with the given constant size.
13279
13280            Language-specific behaviour:
13281
13282            * C: Returns a constant-size array ``T[size]`` for any non-void type.
13283            * C++: Same as in C.
13284            * Objective-C: Same as in C.
13285
13286            See also `IsArrayType` and `GetArrayElementType`.
13287
13288        """
13289        return _lldb.SBType_GetArrayType(self, size)
13290
13291    def GetVectorElementType(self):
13292        r"""
13293        GetVectorElementType(SBType self) -> SBType
13294        Returns the vector element type if this type is a vector type.
13295
13296            Otherwise returns an invalid `SBType` if this type is invalid or not a
13297            vector type.
13298
13299            Language-specific behaviour:
13300
13301            * C: If this is a vector type (see `IsVectorType`), returns the element
13302              type.
13303            * C++: Same as in C.
13304            * Objective-C: Same as in C.
13305
13306            See also `IsVectorType`.
13307
13308        """
13309        return _lldb.SBType_GetVectorElementType(self)
13310
13311    def GetCanonicalType(self):
13312        r"""GetCanonicalType(SBType self) -> SBType"""
13313        return _lldb.SBType_GetCanonicalType(self)
13314
13315    def GetEnumerationIntegerType(self):
13316        r"""
13317        GetEnumerationIntegerType(SBType self) -> SBType
13318        Returns the underlying integer type if this is an enumeration type.
13319
13320            If this type is an invalid `SBType` or not an enumeration type an invalid
13321            `SBType` is returned.
13322
13323            Language-specific behaviour:
13324
13325            * C: Returns the underlying type for enums.
13326            * C++: Same as in C but also returns the underlying type for scoped enums.
13327            * Objective-C: Same as in C.
13328
13329        """
13330        return _lldb.SBType_GetEnumerationIntegerType(self)
13331
13332    def GetBasicType(self, *args):
13333        r"""
13334        GetBasicType(SBType self) -> lldb::BasicType
13335        GetBasicType(SBType self, lldb::BasicType type) -> SBType
13336        Returns the `BasicType` value that is most appropriate to this type.
13337
13338            Returns `eBasicTypeInvalid` if no appropriate `BasicType` was found or this
13339            type is invalid. See the `BasicType` documentation for the language-specific
13340            meaning of each `BasicType` value.
13341
13342            **Overload behaviour:** When called with a `BasicType` parameter, the
13343            following behaviour applies:
13344
13345            Returns the `SBType` that represents the passed `BasicType` value. Returns
13346            an invalid `SBType` if no fitting `SBType` could be created.
13347
13348            Language-specific behaviour:
13349
13350            * C: Returns the respective builtin type. Note that some types
13351              (e.g. ``__uint128_t``) might even be successfully created even if they are
13352              not available on the target platform. C++ and Objective-C specific types
13353              might also be created even if the target program is not written in C++ or
13354              Objective-C.
13355            * C++: Same as in C.
13356            * Objective-C: Same as in C.
13357
13358        """
13359        return _lldb.SBType_GetBasicType(self, *args)
13360
13361    def GetNumberOfFields(self):
13362        r"""
13363        GetNumberOfFields(SBType self) -> uint32_t
13364        Returns the number of fields of this type.
13365
13366            Returns ``0`` if this type does not have fields.
13367
13368            Language-specific behaviour:
13369
13370            * C: Returns the number of fields if the type is a struct. If the type
13371              contains an anonymous struct/union it only counts as a single field (even
13372              if the struct/union contains several fields).
13373            * C++: Returns the number of non-static fields if the type is a
13374              struct/class. If the type contains an anonymous struct/union it only
13375              counts as a single field (even if the struct/union contains several
13376              fields). The fields of any base classes are not included in the count.
13377            * Objective-C: Same as in C for structs. For Objective-C classes the number
13378              of ivars is returned.
13379
13380            See also `GetFieldAtIndex`.
13381
13382        """
13383        return _lldb.SBType_GetNumberOfFields(self)
13384
13385    def GetNumberOfDirectBaseClasses(self):
13386        r"""
13387        GetNumberOfDirectBaseClasses(SBType self) -> uint32_t
13388        Returns the number of base/parent classes of this type.
13389
13390            Returns ``0`` if this type doesn't have any base classes.
13391
13392            Language-specific behaviour:
13393
13394            * C: Returns always ``0``.
13395            * C++: The number of direct non-virtual base classes if this type is
13396              a class.
13397            * Objective-C: The number of super classes for Objective-C classes.
13398              As Objective-C doesn't have multiple inheritance this is usually returns 1
13399              except for NSObject.
13400
13401        """
13402        return _lldb.SBType_GetNumberOfDirectBaseClasses(self)
13403
13404    def GetNumberOfVirtualBaseClasses(self):
13405        r"""
13406        GetNumberOfVirtualBaseClasses(SBType self) -> uint32_t
13407        Returns the number of virtual base/parent classes of this type
13408
13409            Returns ``0`` if this type doesn't have any base classes.
13410
13411            Language-specific behaviour:
13412
13413            * C: Returns always ``0``.
13414            * C++: The number of direct virtual base classes if this type is a
13415              class.
13416            * Objective-C: Returns always ``0``.
13417
13418        """
13419        return _lldb.SBType_GetNumberOfVirtualBaseClasses(self)
13420
13421    def GetFieldAtIndex(self, idx):
13422        r"""
13423        GetFieldAtIndex(SBType self, uint32_t idx) -> SBTypeMember
13424        Returns the field at the given index.
13425
13426            Returns an invalid `SBType` if the index is out of range or the current
13427            type doesn't have any fields.
13428
13429            Language-specific behaviour:
13430
13431            * C: Returns the field with the given index for struct types. Fields are
13432              ordered/indexed starting from ``0`` for the first field in a struct (as
13433              declared in the definition).
13434            * C++: Returns the non-static field with the given index for struct types.
13435              Fields are ordered/indexed starting from ``0`` for the first field in a
13436              struct (as declared in the definition).
13437            * Objective-C: Same as in C for structs. For Objective-C classes the ivar
13438              with the given index is returned. ivars are indexed starting from ``0``.
13439
13440        """
13441        return _lldb.SBType_GetFieldAtIndex(self, idx)
13442
13443    def GetDirectBaseClassAtIndex(self, idx):
13444        r"""
13445        GetDirectBaseClassAtIndex(SBType self, uint32_t idx) -> SBTypeMember
13446        Returns the direct base class as indexed by `GetNumberOfDirectBaseClasses`.
13447
13448            Returns an invalid SBTypeMember if the index is invalid or this SBType is
13449            invalid.
13450
13451        """
13452        return _lldb.SBType_GetDirectBaseClassAtIndex(self, idx)
13453
13454    def GetVirtualBaseClassAtIndex(self, idx):
13455        r"""
13456        GetVirtualBaseClassAtIndex(SBType self, uint32_t idx) -> SBTypeMember
13457        Returns the virtual base class as indexed by
13458            `GetNumberOfVirtualBaseClasses`.
13459
13460            Returns an invalid SBTypeMember if the index is invalid or this SBType is
13461            invalid.
13462
13463        """
13464        return _lldb.SBType_GetVirtualBaseClassAtIndex(self, idx)
13465
13466    def GetStaticFieldWithName(self, name):
13467        r"""GetStaticFieldWithName(SBType self, char const * name) -> SBTypeStaticField"""
13468        return _lldb.SBType_GetStaticFieldWithName(self, name)
13469
13470    def GetEnumMembers(self):
13471        r"""GetEnumMembers(SBType self) -> SBTypeEnumMemberList"""
13472        return _lldb.SBType_GetEnumMembers(self)
13473
13474    def GetNumberOfTemplateArguments(self):
13475        r"""
13476        GetNumberOfTemplateArguments(SBType self) -> uint32_t
13477        Returns the number of template arguments of this type.
13478
13479            Returns ``0`` if this type is not a template.
13480
13481            Language-specific behaviour:
13482
13483            * C: Always returns ``0``.
13484            * C++: If this type is a class template instantiation then this returns the
13485              number of template parameters that were used in this instantiation. This
13486              includes both explicit and implicit template parameters.
13487            * Objective-C: Always returns ``0``.
13488
13489        """
13490        return _lldb.SBType_GetNumberOfTemplateArguments(self)
13491
13492    def GetTemplateArgumentType(self, idx):
13493        r"""
13494        GetTemplateArgumentType(SBType self, uint32_t idx) -> SBType
13495        Returns the type of the template argument with the given index.
13496
13497            Returns an invalid `SBType` if there is no template argument with the given
13498            index or this type is not a template. The first template  argument has the
13499            index ``0``.
13500
13501            Language-specific behaviour:
13502
13503            * C: Always returns an invalid SBType.
13504            * C++: If this type is a class template instantiation and the template
13505              parameter with the given index is a type template parameter, then this
13506              returns the type of that parameter. Otherwise returns an invalid `SBType`.
13507            * Objective-C: Always returns an invalid SBType.
13508
13509        """
13510        return _lldb.SBType_GetTemplateArgumentType(self, idx)
13511
13512    def GetTemplateArgumentKind(self, idx):
13513        r"""
13514        GetTemplateArgumentKind(SBType self, uint32_t idx) -> lldb::TemplateArgumentKind
13515        Returns the kind of the template argument with the given index.
13516
13517            Returns `eTemplateArgumentKindNull` if there is no template argument
13518            with the given index or this type is not a template. The first template
13519            argument has the index ``0``.
13520
13521            Language-specific behaviour:
13522
13523            * C: Always returns `eTemplateArgumentKindNull`.
13524            * C++: If this type is a class template instantiation then this returns
13525              the appropriate `TemplateArgument` value for the parameter with the given
13526              index. See the documentation of `TemplateArgument` for how certain C++
13527              template parameter kinds are mapped to `TemplateArgument` values.
13528            * Objective-C: Always returns `eTemplateArgumentKindNull`.
13529
13530        """
13531        return _lldb.SBType_GetTemplateArgumentKind(self, idx)
13532
13533    def GetFunctionReturnType(self):
13534        r"""
13535        GetFunctionReturnType(SBType self) -> SBType
13536        Returns the return type if this type represents a function.
13537
13538            Returns an invalid `SBType` if this type is not a function type or invalid.
13539
13540            Language-specific behaviour:
13541
13542            * C: For functions return the return type. Returns an invalid `SBType` if
13543              this type is a function pointer type.
13544            * C++: Same as in C for functions and instantiated template functions.
13545              Member functions are also considered functions. For functions that have
13546              their return type specified by a placeholder type specifier (``auto``)
13547              this returns the deduced return type.
13548            * Objective-C: Same as in C for functions. For Objective-C methods this
13549              returns the return type of the method.
13550
13551        """
13552        return _lldb.SBType_GetFunctionReturnType(self)
13553
13554    def GetFunctionArgumentTypes(self):
13555        r"""
13556        GetFunctionArgumentTypes(SBType self) -> SBTypeList
13557        Returns the list of argument types if this type represents a function.
13558
13559            Returns an invalid `SBType` if this type is not a function type or invalid.
13560
13561            Language-specific behaviour:
13562
13563            * C: For functions return the types of each parameter. Returns an invalid
13564              `SBType` if this type is a function pointer. For variadic functions this
13565              just returns the list of parameters before the variadic arguments.
13566            * C++: Same as in C for functions and instantiated template functions.
13567              Member functions are also considered functions.
13568            * Objective-C: Always returns an invalid SBType for Objective-C methods.
13569
13570        """
13571        return _lldb.SBType_GetFunctionArgumentTypes(self)
13572
13573    def GetNumberOfMemberFunctions(self):
13574        r"""
13575        GetNumberOfMemberFunctions(SBType self) -> uint32_t
13576        Returns the number of member functions of this type.
13577
13578            Returns ``0`` if an error occurred or this type is invalid.
13579
13580            Language-specific behaviour:
13581
13582            * C: Always returns ``0``.
13583            * C++: If this type represents a struct/class, then the number of
13584              member functions (static and non-static) is returned. The count includes
13585              constructors and destructors (both explicit and implicit). Member
13586              functions of base classes are not included in the count.
13587            * Objective-C: If this type represents a struct/class, then the
13588              number of methods is returned. Methods in categories or super classes
13589              are not counted.
13590
13591        """
13592        return _lldb.SBType_GetNumberOfMemberFunctions(self)
13593
13594    def GetMemberFunctionAtIndex(self, idx):
13595        r"""
13596        GetMemberFunctionAtIndex(SBType self, uint32_t idx) -> SBTypeMemberFunction
13597        Returns the member function of this type with the given index.
13598
13599            Returns an invalid `SBTypeMemberFunction` if the index is invalid or this
13600            type is invalid.
13601
13602            Language-specific behaviour:
13603
13604            * C: Always returns an invalid `SBTypeMemberFunction`.
13605            * C++: Returns the member function or constructor/destructor with the given
13606              index.
13607            * Objective-C: Returns the method with the given index.
13608
13609            See `GetNumberOfMemberFunctions` for what functions can be queried by this
13610            function.
13611
13612        """
13613        return _lldb.SBType_GetMemberFunctionAtIndex(self, idx)
13614
13615    def GetModule(self):
13616        r"""
13617        GetModule(SBType self) -> SBModule
13618        Returns the `SBModule` this `SBType` belongs to.
13619
13620            Returns no `SBModule` if this type does not belong to any specific
13621            `SBModule` or this `SBType` is invalid. An invalid `SBModule` might also
13622            indicate that once came from an `SBModule` but LLDB could no longer
13623            determine the original module.
13624
13625        """
13626        return _lldb.SBType_GetModule(self)
13627
13628    def GetName(self):
13629        r"""
13630        GetName() -> string
13631        Returns the name of this type.
13632
13633            Returns an empty string if an error occurred or this type is invalid.
13634
13635            Use this function when trying to match a specific type by name in a script.
13636            The names returned by this function try to uniquely identify a name but
13637            conflicts can occur (for example, if a C++ program contains two different
13638            classes with the same name in different translation units. `GetName` can
13639            return the same name for both class types.)
13640
13641
13642            Language-specific behaviour:
13643
13644            * C: The name of the type. For structs the ``struct`` prefix is omitted.
13645            * C++: Returns the qualified name of the type (including anonymous/inline
13646              namespaces and all template arguments).
13647            * Objective-C: Same as in C.
13648
13649        """
13650        return _lldb.SBType_GetName(self)
13651
13652    def GetDisplayTypeName(self):
13653        r"""
13654        GetDisplayTypeName() -> string
13655        Returns the name of this type in a user-friendly format.
13656
13657            Returns an empty string if an error occurred or this type is invalid.
13658
13659            Use this function when displaying a type name to the user.
13660
13661            Language-specific behaviour:
13662
13663            * C: Returns the type name. For structs the ``struct`` prefix is omitted.
13664            * C++: Returns the qualified name. Anonymous/inline namespaces are omitted.
13665              Template arguments that match their default value might also be hidden
13666              (this functionality depends on whether LLDB can determine the template's
13667              default arguments).
13668            * Objective-C: Same as in C.
13669
13670        """
13671        return _lldb.SBType_GetDisplayTypeName(self)
13672
13673    def GetTypeClass(self):
13674        r"""
13675        GetTypeClass() -> TypeClass
13676        Returns the `TypeClass` for this type.
13677
13678            Returns an `eTypeClassInvalid` if this `SBType` is invalid.
13679
13680            See `TypeClass` for the language-specific meaning of each `TypeClass` value.
13681
13682        """
13683        return _lldb.SBType_GetTypeClass(self)
13684
13685    def IsTypeComplete(self):
13686        r"""
13687        IsTypeComplete(SBType self) -> bool
13688        Returns true if the type is completely defined.
13689
13690            Language-specific behaviour:
13691
13692            * C: Returns false for struct types that were only forward declared in the
13693              type's `SBTarget`/`SBModule`. Otherwise returns true.
13694            * C++: Returns false for template/non-template struct/class types and
13695              scoped enums that were only forward declared inside the type's
13696              `SBTarget`/`SBModule`. Otherwise returns true.
13697            * Objective-C: Follows the same behavior as C for struct types. Objective-C
13698              classes are considered complete unless they were only forward declared via
13699              ``@class ClassName`` in the type's `SBTarget`/`SBModule`. Otherwise
13700              returns true.
13701
13702        """
13703        return _lldb.SBType_IsTypeComplete(self)
13704
13705    def GetTypeFlags(self):
13706        r"""
13707        GetTypeFlags(SBType self) -> uint32_t
13708        Returns the `TypeFlags` values for this type.
13709
13710            See the respective `TypeFlags` values for what values can be set. Returns an
13711            integer in which each `TypeFlags` value is represented by a bit. Specific
13712            flags can be checked via Python's bitwise operators. For example, the
13713            `eTypeIsInteger` flag can be checked like this:
13714
13715            ``(an_sb_type.GetTypeFlags() & lldb.eTypeIsInteger) != 0``
13716
13717            If this type is invalid this returns ``0``.
13718
13719            See the different values for `TypeFlags` for the language-specific meanings
13720            of each `TypeFlags` value.
13721
13722        """
13723        return _lldb.SBType_GetTypeFlags(self)
13724
13725    def GetDescription(self, description, description_level):
13726        r"""GetDescription(SBType self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
13727        return _lldb.SBType_GetDescription(self, description, description_level)
13728
13729    def FindDirectNestedType(self, name):
13730        r"""
13731        FindDirectNestedType(SBType self, char const * name) -> SBType
13732        Searches for a directly nested type that has the provided name.
13733
13734            Returns the type if it was found.
13735            Returns invalid type if nothing was found.
13736
13737        """
13738        return _lldb.SBType_FindDirectNestedType(self, name)
13739
13740    def __eq__(self, rhs):
13741        r"""__eq__(SBType self, SBType rhs) -> bool"""
13742        return _lldb.SBType___eq__(self, rhs)
13743
13744    def __ne__(self, rhs):
13745        r"""__ne__(SBType self, SBType rhs) -> bool"""
13746        return _lldb.SBType___ne__(self, rhs)
13747
13748    def __repr__(self):
13749        r"""__repr__(SBType self) -> std::string"""
13750        return _lldb.SBType___repr__(self)
13751
13752    def template_arg_array(self):
13753        num_args = self.num_template_args
13754        if num_args:
13755            template_args = []
13756            for i in range(num_args):
13757                template_args.append(self.GetTemplateArgumentType(i))
13758            return template_args
13759        return None
13760
13761    # operator== is a free function, which swig does not handle, so we inject
13762    # our own equality operator here
13763    def __eq__(self, other):
13764        return not self.__ne__(other)
13765
13766    def __len__(self):
13767        return self.GetByteSize()
13768
13769    module = property(GetModule, None, doc='''A read only property that returns the module in which type is defined.''')
13770    name = property(GetName, None, doc='''A read only property that returns the name for this type as a string.''')
13771    size = property(GetByteSize, None, doc='''A read only property that returns size in bytes for this type as an integer.''')
13772    is_pointer = property(IsPointerType, None, doc='''A read only property that returns a boolean value that indicates if this type is a pointer type.''')
13773    is_reference = property(IsReferenceType, None, doc='''A read only property that returns a boolean value that indicates if this type is a reference type.''')
13774    is_reference = property(IsReferenceType, None, doc='''A read only property that returns a boolean value that indicates if this type is a function type.''')
13775    num_fields = property(GetNumberOfFields, None, doc='''A read only property that returns number of fields in this type as an integer.''')
13776    num_bases = property(GetNumberOfDirectBaseClasses, None, doc='''A read only property that returns number of direct base classes in this type as an integer.''')
13777    num_vbases = property(GetNumberOfVirtualBaseClasses, None, doc='''A read only property that returns number of virtual base classes in this type as an integer.''')
13778    num_template_args = property(GetNumberOfTemplateArguments, None, doc='''A read only property that returns number of template arguments in this type as an integer.''')
13779    template_args = property(template_arg_array, None, doc='''A read only property that returns a list() of lldb.SBType objects that represent all template arguments in this type.''')
13780    type = property(GetTypeClass, None, doc='''A read only property that returns an lldb enumeration value (see enumerations that start with "lldb.eTypeClass") that represents a classification for this type.''')
13781    is_complete = property(IsTypeComplete, None, doc='''A read only property that returns a boolean value that indicates if this type is a complete type (True) or a forward declaration (False).''')
13782
13783    def get_bases_array(self):
13784        '''An accessor function that returns a list() that contains all direct base classes in a lldb.SBType object.'''
13785        bases = []
13786        for idx in range(self.GetNumberOfDirectBaseClasses()):
13787            bases.append(self.GetDirectBaseClassAtIndex(idx))
13788        return bases
13789
13790    def get_vbases_array(self):
13791        '''An accessor function that returns a list() that contains all fields in a lldb.SBType object.'''
13792        vbases = []
13793        for idx in range(self.GetNumberOfVirtualBaseClasses()):
13794            vbases.append(self.GetVirtualBaseClassAtIndex(idx))
13795        return vbases
13796
13797    def get_fields_array(self):
13798        '''An accessor function that returns a list() that contains all fields in a lldb.SBType object.'''
13799        fields = []
13800        for idx in range(self.GetNumberOfFields()):
13801            fields.append(self.GetFieldAtIndex(idx))
13802        return fields
13803
13804    def get_members_array(self):
13805        '''An accessor function that returns a list() that contains all members (base classes and fields) in a lldb.SBType object in ascending bit offset order.'''
13806        members = []
13807        bases = self.get_bases_array()
13808        fields = self.get_fields_array()
13809        vbases = self.get_vbases_array()
13810        for base in bases:
13811            bit_offset = base.bit_offset
13812            added = False
13813            for idx, member in enumerate(members):
13814                if member.bit_offset > bit_offset:
13815                    members.insert(idx, base)
13816                    added = True
13817                    break
13818            if not added:
13819                members.append(base)
13820        for vbase in vbases:
13821            bit_offset = vbase.bit_offset
13822            added = False
13823            for idx, member in enumerate(members):
13824                if member.bit_offset > bit_offset:
13825                    members.insert(idx, vbase)
13826                    added = True
13827                    break
13828            if not added:
13829                members.append(vbase)
13830        for field in fields:
13831            bit_offset = field.bit_offset
13832            added = False
13833            for idx, member in enumerate(members):
13834                if member.bit_offset > bit_offset:
13835                    members.insert(idx, field)
13836                    added = True
13837                    break
13838            if not added:
13839                members.append(field)
13840        return members
13841
13842    def get_enum_members_array(self):
13843        '''An accessor function that returns a list() that contains all enum members in an lldb.SBType object.'''
13844        enum_members_list = []
13845        sb_enum_members = self.GetEnumMembers()
13846        for idx in range(sb_enum_members.GetSize()):
13847            enum_members_list.append(sb_enum_members.GetTypeEnumMemberAtIndex(idx))
13848        return enum_members_list
13849
13850    bases = property(get_bases_array, None, doc='''A read only property that returns a list() of lldb.SBTypeMember objects that represent all of the direct base classes for this type.''')
13851    vbases = property(get_vbases_array, None, doc='''A read only property that returns a list() of lldb.SBTypeMember objects that represent all of the virtual base classes for this type.''')
13852    fields = property(get_fields_array, None, doc='''A read only property that returns a list() of lldb.SBTypeMember objects that represent all of the fields for this type.''')
13853    members = property(get_members_array, None, doc='''A read only property that returns a list() of all lldb.SBTypeMember objects that represent all of the base classes, virtual base classes and fields for this type in ascending bit offset order.''')
13854    enum_members = property(get_enum_members_array, None, doc='''A read only property that returns a list() of all lldb.SBTypeEnumMember objects that represent the enum members for this type.''')
13855
13856
13857# Register SBType in _lldb:
13858_lldb.SBType_swigregister(SBType)
13859class SBTypeList(object):
13860    r"""
13861    Represents a list of :py:class:`SBType` s.
13862
13863    The FindTypes() method of :py:class:`SBTarget`/:py:class:`SBModule` returns a SBTypeList.
13864
13865    SBTypeList supports :py:class:`SBType` iteration. For example,
13866
13867    .. code-block:: cpp
13868
13869        // main.cpp:
13870
13871        class Task {
13872        public:
13873            int id;
13874            Task *next;
13875            Task(int i, Task *n):
13876                id(i),
13877                next(n)
13878            {}
13879        };
13880
13881    .. code-block:: python
13882
13883        # find_type.py:
13884
13885        # Get the type 'Task'.
13886        type_list = target.FindTypes('Task')
13887        self.assertTrue(len(type_list) == 1)
13888        # To illustrate the SBType iteration.
13889        for type in type_list:
13890            # do something with type
13891
13892
13893    """
13894
13895    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13896    __repr__ = _swig_repr
13897
13898    def __init__(self, *args):
13899        r"""
13900        __init__(SBTypeList self) -> SBTypeList
13901        __init__(SBTypeList self, SBTypeList rhs) -> SBTypeList
13902        """
13903        _lldb.SBTypeList_swiginit(self, _lldb.new_SBTypeList(*args))
13904    __swig_destroy__ = _lldb.delete_SBTypeList
13905
13906    def __nonzero__(self):
13907        return _lldb.SBTypeList___nonzero__(self)
13908    __bool__ = __nonzero__
13909
13910
13911
13912    def IsValid(self):
13913        r"""IsValid(SBTypeList self) -> bool"""
13914        return _lldb.SBTypeList_IsValid(self)
13915
13916    def Append(self, type):
13917        r"""Append(SBTypeList self, SBType type)"""
13918        return _lldb.SBTypeList_Append(self, type)
13919
13920    def GetTypeAtIndex(self, index):
13921        r"""GetTypeAtIndex(SBTypeList self, uint32_t index) -> SBType"""
13922        return _lldb.SBTypeList_GetTypeAtIndex(self, index)
13923
13924    def GetSize(self):
13925        r"""GetSize(SBTypeList self) -> uint32_t"""
13926        return _lldb.SBTypeList_GetSize(self)
13927
13928        # operator== is a free function, which swig does not handle, so we inject
13929        # our own equality operator here
13930    def __eq__(self, other):
13931        return not self.__ne__(other)
13932
13933    def __iter__(self):
13934        '''Iterate over all types in a lldb.SBTypeList object.'''
13935        return lldb_iter(self, 'GetSize', 'GetTypeAtIndex')
13936
13937    def __len__(self):
13938        '''Return the number of types in a lldb.SBTypeList object.'''
13939        return self.GetSize()
13940
13941
13942# Register SBTypeList in _lldb:
13943_lldb.SBTypeList_swigregister(SBTypeList)
13944class SBTypeCategory(object):
13945    r"""Represents a category that can contain formatters for types."""
13946
13947    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13948
13949    def __init__(self, *args):
13950        r"""
13951        __init__(SBTypeCategory self) -> SBTypeCategory
13952        __init__(SBTypeCategory self, SBTypeCategory rhs) -> SBTypeCategory
13953        """
13954        _lldb.SBTypeCategory_swiginit(self, _lldb.new_SBTypeCategory(*args))
13955    __swig_destroy__ = _lldb.delete_SBTypeCategory
13956
13957    def __nonzero__(self):
13958        return _lldb.SBTypeCategory___nonzero__(self)
13959    __bool__ = __nonzero__
13960
13961
13962
13963    def IsValid(self):
13964        r"""IsValid(SBTypeCategory self) -> bool"""
13965        return _lldb.SBTypeCategory_IsValid(self)
13966
13967    def GetEnabled(self):
13968        r"""GetEnabled(SBTypeCategory self) -> bool"""
13969        return _lldb.SBTypeCategory_GetEnabled(self)
13970
13971    def SetEnabled(self, arg2):
13972        r"""SetEnabled(SBTypeCategory self, bool arg2)"""
13973        return _lldb.SBTypeCategory_SetEnabled(self, arg2)
13974
13975    def GetName(self):
13976        r"""GetName(SBTypeCategory self) -> char const *"""
13977        return _lldb.SBTypeCategory_GetName(self)
13978
13979    def GetLanguageAtIndex(self, idx):
13980        r"""GetLanguageAtIndex(SBTypeCategory self, uint32_t idx) -> lldb::LanguageType"""
13981        return _lldb.SBTypeCategory_GetLanguageAtIndex(self, idx)
13982
13983    def GetNumLanguages(self):
13984        r"""GetNumLanguages(SBTypeCategory self) -> uint32_t"""
13985        return _lldb.SBTypeCategory_GetNumLanguages(self)
13986
13987    def AddLanguage(self, language):
13988        r"""AddLanguage(SBTypeCategory self, lldb::LanguageType language)"""
13989        return _lldb.SBTypeCategory_AddLanguage(self, language)
13990
13991    def GetDescription(self, description, description_level):
13992        r"""GetDescription(SBTypeCategory self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
13993        return _lldb.SBTypeCategory_GetDescription(self, description, description_level)
13994
13995    def GetNumFormats(self):
13996        r"""GetNumFormats(SBTypeCategory self) -> uint32_t"""
13997        return _lldb.SBTypeCategory_GetNumFormats(self)
13998
13999    def GetNumSummaries(self):
14000        r"""GetNumSummaries(SBTypeCategory self) -> uint32_t"""
14001        return _lldb.SBTypeCategory_GetNumSummaries(self)
14002
14003    def GetNumFilters(self):
14004        r"""GetNumFilters(SBTypeCategory self) -> uint32_t"""
14005        return _lldb.SBTypeCategory_GetNumFilters(self)
14006
14007    def GetNumSynthetics(self):
14008        r"""GetNumSynthetics(SBTypeCategory self) -> uint32_t"""
14009        return _lldb.SBTypeCategory_GetNumSynthetics(self)
14010
14011    def GetTypeNameSpecifierForFilterAtIndex(self, arg2):
14012        r"""GetTypeNameSpecifierForFilterAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeNameSpecifier"""
14013        return _lldb.SBTypeCategory_GetTypeNameSpecifierForFilterAtIndex(self, arg2)
14014
14015    def GetTypeNameSpecifierForFormatAtIndex(self, arg2):
14016        r"""GetTypeNameSpecifierForFormatAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeNameSpecifier"""
14017        return _lldb.SBTypeCategory_GetTypeNameSpecifierForFormatAtIndex(self, arg2)
14018
14019    def GetTypeNameSpecifierForSummaryAtIndex(self, arg2):
14020        r"""GetTypeNameSpecifierForSummaryAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeNameSpecifier"""
14021        return _lldb.SBTypeCategory_GetTypeNameSpecifierForSummaryAtIndex(self, arg2)
14022
14023    def GetTypeNameSpecifierForSyntheticAtIndex(self, arg2):
14024        r"""GetTypeNameSpecifierForSyntheticAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeNameSpecifier"""
14025        return _lldb.SBTypeCategory_GetTypeNameSpecifierForSyntheticAtIndex(self, arg2)
14026
14027    def GetFilterForType(self, arg2):
14028        r"""GetFilterForType(SBTypeCategory self, SBTypeNameSpecifier arg2) -> SBTypeFilter"""
14029        return _lldb.SBTypeCategory_GetFilterForType(self, arg2)
14030
14031    def GetFormatForType(self, arg2):
14032        r"""GetFormatForType(SBTypeCategory self, SBTypeNameSpecifier arg2) -> SBTypeFormat"""
14033        return _lldb.SBTypeCategory_GetFormatForType(self, arg2)
14034
14035    def GetSummaryForType(self, arg2):
14036        r"""GetSummaryForType(SBTypeCategory self, SBTypeNameSpecifier arg2) -> SBTypeSummary"""
14037        return _lldb.SBTypeCategory_GetSummaryForType(self, arg2)
14038
14039    def GetSyntheticForType(self, arg2):
14040        r"""GetSyntheticForType(SBTypeCategory self, SBTypeNameSpecifier arg2) -> SBTypeSynthetic"""
14041        return _lldb.SBTypeCategory_GetSyntheticForType(self, arg2)
14042
14043    def GetFilterAtIndex(self, arg2):
14044        r"""GetFilterAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeFilter"""
14045        return _lldb.SBTypeCategory_GetFilterAtIndex(self, arg2)
14046
14047    def GetFormatAtIndex(self, arg2):
14048        r"""GetFormatAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeFormat"""
14049        return _lldb.SBTypeCategory_GetFormatAtIndex(self, arg2)
14050
14051    def GetSummaryAtIndex(self, arg2):
14052        r"""GetSummaryAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeSummary"""
14053        return _lldb.SBTypeCategory_GetSummaryAtIndex(self, arg2)
14054
14055    def GetSyntheticAtIndex(self, arg2):
14056        r"""GetSyntheticAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeSynthetic"""
14057        return _lldb.SBTypeCategory_GetSyntheticAtIndex(self, arg2)
14058
14059    def AddTypeFormat(self, arg2, arg3):
14060        r"""AddTypeFormat(SBTypeCategory self, SBTypeNameSpecifier arg2, SBTypeFormat arg3) -> bool"""
14061        return _lldb.SBTypeCategory_AddTypeFormat(self, arg2, arg3)
14062
14063    def DeleteTypeFormat(self, arg2):
14064        r"""DeleteTypeFormat(SBTypeCategory self, SBTypeNameSpecifier arg2) -> bool"""
14065        return _lldb.SBTypeCategory_DeleteTypeFormat(self, arg2)
14066
14067    def AddTypeSummary(self, arg2, arg3):
14068        r"""AddTypeSummary(SBTypeCategory self, SBTypeNameSpecifier arg2, SBTypeSummary arg3) -> bool"""
14069        return _lldb.SBTypeCategory_AddTypeSummary(self, arg2, arg3)
14070
14071    def DeleteTypeSummary(self, arg2):
14072        r"""DeleteTypeSummary(SBTypeCategory self, SBTypeNameSpecifier arg2) -> bool"""
14073        return _lldb.SBTypeCategory_DeleteTypeSummary(self, arg2)
14074
14075    def AddTypeFilter(self, arg2, arg3):
14076        r"""AddTypeFilter(SBTypeCategory self, SBTypeNameSpecifier arg2, SBTypeFilter arg3) -> bool"""
14077        return _lldb.SBTypeCategory_AddTypeFilter(self, arg2, arg3)
14078
14079    def DeleteTypeFilter(self, arg2):
14080        r"""DeleteTypeFilter(SBTypeCategory self, SBTypeNameSpecifier arg2) -> bool"""
14081        return _lldb.SBTypeCategory_DeleteTypeFilter(self, arg2)
14082
14083    def AddTypeSynthetic(self, arg2, arg3):
14084        r"""AddTypeSynthetic(SBTypeCategory self, SBTypeNameSpecifier arg2, SBTypeSynthetic arg3) -> bool"""
14085        return _lldb.SBTypeCategory_AddTypeSynthetic(self, arg2, arg3)
14086
14087    def DeleteTypeSynthetic(self, arg2):
14088        r"""DeleteTypeSynthetic(SBTypeCategory self, SBTypeNameSpecifier arg2) -> bool"""
14089        return _lldb.SBTypeCategory_DeleteTypeSynthetic(self, arg2)
14090
14091    def __eq__(self, rhs):
14092        r"""__eq__(SBTypeCategory self, SBTypeCategory rhs) -> bool"""
14093        return _lldb.SBTypeCategory___eq__(self, rhs)
14094
14095    def __ne__(self, rhs):
14096        r"""__ne__(SBTypeCategory self, SBTypeCategory rhs) -> bool"""
14097        return _lldb.SBTypeCategory___ne__(self, rhs)
14098
14099    def __repr__(self):
14100        r"""__repr__(SBTypeCategory self) -> std::string"""
14101        return _lldb.SBTypeCategory___repr__(self)
14102
14103                # operator== is a free function, which swig does not handle, so we inject
14104                # our own equality operator here
14105    def __eq__(self, other):
14106        return not self.__ne__(other)
14107
14108
14109    class formatters_access_class(object):
14110        '''A helper object that will lazily hand out formatters for a specific category.'''
14111        def __init__(self, sbcategory, get_count_function, get_at_index_function, get_by_name_function):
14112            self.sbcategory = sbcategory
14113            self.get_count_function = get_count_function
14114            self.get_at_index_function = get_at_index_function
14115            self.get_by_name_function = get_by_name_function
14116            self.regex_type = type(re.compile('.'))
14117
14118
14119        def __len__(self):
14120            if self.sbcategory and self.get_count_function:
14121                return int(self.get_count_function(self.sbcategory))
14122            return 0
14123
14124        def __getitem__(self, key):
14125            num_items = len(self)
14126            if type(key) is int:
14127                if -num_items <= key < num_items:
14128                    key %= num_items
14129                    return self.get_at_index_function(self.sbcategory,key)
14130            elif type(key) is str:
14131                return self.get_by_name_function(self.sbcategory,SBTypeNameSpecifier(key))
14132            elif isinstance(key,self.regex_type):
14133                return self.get_by_name_function(self.sbcategory,SBTypeNameSpecifier(key.pattern,True))
14134            else:
14135                print("error: unsupported item type: %s" % type(key))
14136            return None
14137
14138    def get_formats_access_object(self):
14139        '''An accessor function that returns an accessor object which allows lazy format access from a lldb.SBTypeCategory object.'''
14140        return self.formatters_access_class (self,self.__class__.GetNumFormats,self.__class__.GetFormatAtIndex,self.__class__.GetFormatForType)
14141
14142    def get_formats_array(self):
14143        '''An accessor function that returns a list() that contains all formats in a lldb.SBCategory object.'''
14144        formats = []
14145        for idx in range(self.GetNumFormats()):
14146            formats.append(self.GetFormatAtIndex(idx))
14147        return formats
14148
14149    def get_summaries_access_object(self):
14150        '''An accessor function that returns an accessor object which allows lazy summary access from a lldb.SBTypeCategory object.'''
14151        return self.formatters_access_class (self,self.__class__.GetNumSummaries,self.__class__.GetSummaryAtIndex,self.__class__.GetSummaryForType)
14152
14153    def get_summaries_array(self):
14154        '''An accessor function that returns a list() that contains all summaries in a lldb.SBCategory object.'''
14155        summaries = []
14156        for idx in range(self.GetNumSummaries()):
14157            summaries.append(self.GetSummaryAtIndex(idx))
14158        return summaries
14159
14160    def get_synthetics_access_object(self):
14161        '''An accessor function that returns an accessor object which allows lazy synthetic children provider access from a lldb.SBTypeCategory object.'''
14162        return self.formatters_access_class (self,self.__class__.GetNumSynthetics,self.__class__.GetSyntheticAtIndex,self.__class__.GetSyntheticForType)
14163
14164    def get_synthetics_array(self):
14165        '''An accessor function that returns a list() that contains all synthetic children providers in a lldb.SBCategory object.'''
14166        synthetics = []
14167        for idx in range(self.GetNumSynthetics()):
14168            synthetics.append(self.GetSyntheticAtIndex(idx))
14169        return synthetics
14170
14171    def get_filters_access_object(self):
14172        '''An accessor function that returns an accessor object which allows lazy filter access from a lldb.SBTypeCategory object.'''
14173        return self.formatters_access_class (self,self.__class__.GetNumFilters,self.__class__.GetFilterAtIndex,self.__class__.GetFilterForType)
14174
14175    def get_filters_array(self):
14176        '''An accessor function that returns a list() that contains all filters in a lldb.SBCategory object.'''
14177        filters = []
14178        for idx in range(self.GetNumFilters()):
14179            filters.append(self.GetFilterAtIndex(idx))
14180        return filters
14181
14182    formats = property(get_formats_array, None, doc='''A read only property that returns a list() of lldb.SBTypeFormat objects contained in this category''')
14183    format = property(get_formats_access_object, None, doc=r'''A read only property that returns an object that you can use to look for formats by index or type name.''')
14184    summaries = property(get_summaries_array, None, doc='''A read only property that returns a list() of lldb.SBTypeSummary objects contained in this category''')
14185    summary = property(get_summaries_access_object, None, doc=r'''A read only property that returns an object that you can use to look for summaries by index or type name or regular expression.''')
14186    filters = property(get_filters_array, None, doc='''A read only property that returns a list() of lldb.SBTypeFilter objects contained in this category''')
14187    filter = property(get_filters_access_object, None, doc=r'''A read only property that returns an object that you can use to look for filters by index or type name or regular expression.''')
14188    synthetics = property(get_synthetics_array, None, doc='''A read only property that returns a list() of lldb.SBTypeSynthetic objects contained in this category''')
14189    synthetic = property(get_synthetics_access_object, None, doc=r'''A read only property that returns an object that you can use to look for synthetic children provider by index or type name or regular expression.''')
14190    num_formats = property(GetNumFormats, None)
14191    num_summaries = property(GetNumSummaries, None)
14192    num_filters = property(GetNumFilters, None)
14193    num_synthetics = property(GetNumSynthetics, None)
14194    name = property(GetName, None)
14195    enabled = property(GetEnabled, SetEnabled)
14196
14197
14198# Register SBTypeCategory in _lldb:
14199_lldb.SBTypeCategory_swigregister(SBTypeCategory)
14200class SBTypeEnumMember(object):
14201    r"""Represents a member of an enum in lldb."""
14202
14203    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14204
14205    def __init__(self, *args):
14206        r"""
14207        __init__(SBTypeEnumMember self) -> SBTypeEnumMember
14208        __init__(SBTypeEnumMember self, SBTypeEnumMember rhs) -> SBTypeEnumMember
14209        """
14210        _lldb.SBTypeEnumMember_swiginit(self, _lldb.new_SBTypeEnumMember(*args))
14211    __swig_destroy__ = _lldb.delete_SBTypeEnumMember
14212
14213    def __nonzero__(self):
14214        return _lldb.SBTypeEnumMember___nonzero__(self)
14215    __bool__ = __nonzero__
14216
14217
14218
14219    def IsValid(self):
14220        r"""IsValid(SBTypeEnumMember self) -> bool"""
14221        return _lldb.SBTypeEnumMember_IsValid(self)
14222
14223    def GetValueAsSigned(self):
14224        r"""GetValueAsSigned(SBTypeEnumMember self) -> int64_t"""
14225        return _lldb.SBTypeEnumMember_GetValueAsSigned(self)
14226
14227    def GetValueAsUnsigned(self):
14228        r"""GetValueAsUnsigned(SBTypeEnumMember self) -> uint64_t"""
14229        return _lldb.SBTypeEnumMember_GetValueAsUnsigned(self)
14230
14231    def GetName(self):
14232        r"""GetName(SBTypeEnumMember self) -> char const *"""
14233        return _lldb.SBTypeEnumMember_GetName(self)
14234
14235    def GetType(self):
14236        r"""GetType(SBTypeEnumMember self) -> SBType"""
14237        return _lldb.SBTypeEnumMember_GetType(self)
14238
14239    def GetDescription(self, description, description_level):
14240        r"""GetDescription(SBTypeEnumMember self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
14241        return _lldb.SBTypeEnumMember_GetDescription(self, description, description_level)
14242
14243    def __repr__(self):
14244        r"""__repr__(SBTypeEnumMember self) -> std::string"""
14245        return _lldb.SBTypeEnumMember___repr__(self)
14246
14247    def __iter__(self):
14248        '''Iterate over all members in a lldb.SBTypeEnumMemberList object.'''
14249        return lldb_iter(self, 'GetSize', 'GetTypeEnumMemberAtIndex')
14250
14251    def __len__(self):
14252        '''Return the number of members in a lldb.SBTypeEnumMemberList object.'''
14253        return self.GetSize()
14254
14255    name = property(GetName, None, doc='''A read only property that returns the name for this enum member as a string.''')
14256    type = property(GetType, None, doc='''A read only property that returns an lldb object that represents the type (lldb.SBType) for this enum member.''')
14257    signed = property(GetValueAsSigned, None, doc='''A read only property that returns the value of this enum member as a signed integer.''')
14258    unsigned = property(GetValueAsUnsigned, None, doc='''A read only property that returns the value of this enum member as a unsigned integer.''')
14259
14260
14261# Register SBTypeEnumMember in _lldb:
14262_lldb.SBTypeEnumMember_swigregister(SBTypeEnumMember)
14263class SBTypeEnumMemberList(object):
14264    r"""
14265    Represents a list of SBTypeEnumMembers.
14266
14267    SBTypeEnumMemberList supports SBTypeEnumMember iteration.
14268    It also supports [] access either by index, or by enum
14269    element name by doing: ::
14270
14271      myType = target.FindFirstType('MyEnumWithElementA')
14272      members = myType.GetEnumMembers()
14273      first_elem = members[0]
14274      elem_A = members['A']
14275
14276
14277    """
14278
14279    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14280    __repr__ = _swig_repr
14281
14282    def __init__(self, *args):
14283        r"""
14284        __init__(SBTypeEnumMemberList self) -> SBTypeEnumMemberList
14285        __init__(SBTypeEnumMemberList self, SBTypeEnumMemberList rhs) -> SBTypeEnumMemberList
14286        """
14287        _lldb.SBTypeEnumMemberList_swiginit(self, _lldb.new_SBTypeEnumMemberList(*args))
14288    __swig_destroy__ = _lldb.delete_SBTypeEnumMemberList
14289
14290    def __nonzero__(self):
14291        return _lldb.SBTypeEnumMemberList___nonzero__(self)
14292    __bool__ = __nonzero__
14293
14294
14295
14296    def IsValid(self):
14297        r"""IsValid(SBTypeEnumMemberList self) -> bool"""
14298        return _lldb.SBTypeEnumMemberList_IsValid(self)
14299
14300    def Append(self, entry):
14301        r"""Append(SBTypeEnumMemberList self, SBTypeEnumMember entry)"""
14302        return _lldb.SBTypeEnumMemberList_Append(self, entry)
14303
14304    def GetTypeEnumMemberAtIndex(self, index):
14305        r"""GetTypeEnumMemberAtIndex(SBTypeEnumMemberList self, uint32_t index) -> SBTypeEnumMember"""
14306        return _lldb.SBTypeEnumMemberList_GetTypeEnumMemberAtIndex(self, index)
14307
14308    def GetSize(self):
14309        r"""GetSize(SBTypeEnumMemberList self) -> uint32_t"""
14310        return _lldb.SBTypeEnumMemberList_GetSize(self)
14311
14312    def __iter__(self):
14313        '''Iterate over all members in a lldb.SBTypeEnumMemberList object.'''
14314        return lldb_iter(self, 'GetSize', 'GetTypeEnumMemberAtIndex')
14315
14316    def __len__(self):
14317        '''Return the number of members in a lldb.SBTypeEnumMemberList object.'''
14318        return self.GetSize()
14319
14320    def __getitem__(self, key):
14321      num_elements = self.GetSize()
14322      if type(key) is int:
14323          if -num_elements <= key < num_elements:
14324              key %= num_elements
14325              return self.GetTypeEnumMemberAtIndex(key)
14326      elif type(key) is str:
14327          for idx in range(num_elements):
14328              item = self.GetTypeEnumMemberAtIndex(idx)
14329              if item.name == key:
14330                  return item
14331      return None
14332
14333
14334# Register SBTypeEnumMemberList in _lldb:
14335_lldb.SBTypeEnumMemberList_swigregister(SBTypeEnumMemberList)
14336class SBTypeFilter(object):
14337    r"""Represents a filter that can be associated to one or more types."""
14338
14339    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14340
14341    def __init__(self, *args):
14342        r"""
14343        __init__(SBTypeFilter self) -> SBTypeFilter
14344        __init__(SBTypeFilter self, uint32_t options) -> SBTypeFilter
14345        __init__(SBTypeFilter self, SBTypeFilter rhs) -> SBTypeFilter
14346        """
14347        _lldb.SBTypeFilter_swiginit(self, _lldb.new_SBTypeFilter(*args))
14348    __swig_destroy__ = _lldb.delete_SBTypeFilter
14349
14350    def __nonzero__(self):
14351        return _lldb.SBTypeFilter___nonzero__(self)
14352    __bool__ = __nonzero__
14353
14354
14355
14356    def IsValid(self):
14357        r"""IsValid(SBTypeFilter self) -> bool"""
14358        return _lldb.SBTypeFilter_IsValid(self)
14359
14360    def GetNumberOfExpressionPaths(self):
14361        r"""GetNumberOfExpressionPaths(SBTypeFilter self) -> uint32_t"""
14362        return _lldb.SBTypeFilter_GetNumberOfExpressionPaths(self)
14363
14364    def GetExpressionPathAtIndex(self, i):
14365        r"""GetExpressionPathAtIndex(SBTypeFilter self, uint32_t i) -> char const *"""
14366        return _lldb.SBTypeFilter_GetExpressionPathAtIndex(self, i)
14367
14368    def ReplaceExpressionPathAtIndex(self, i, item):
14369        r"""ReplaceExpressionPathAtIndex(SBTypeFilter self, uint32_t i, char const * item) -> bool"""
14370        return _lldb.SBTypeFilter_ReplaceExpressionPathAtIndex(self, i, item)
14371
14372    def AppendExpressionPath(self, item):
14373        r"""AppendExpressionPath(SBTypeFilter self, char const * item)"""
14374        return _lldb.SBTypeFilter_AppendExpressionPath(self, item)
14375
14376    def Clear(self):
14377        r"""Clear(SBTypeFilter self)"""
14378        return _lldb.SBTypeFilter_Clear(self)
14379
14380    def GetOptions(self):
14381        r"""GetOptions(SBTypeFilter self) -> uint32_t"""
14382        return _lldb.SBTypeFilter_GetOptions(self)
14383
14384    def SetOptions(self, arg2):
14385        r"""SetOptions(SBTypeFilter self, uint32_t arg2)"""
14386        return _lldb.SBTypeFilter_SetOptions(self, arg2)
14387
14388    def GetDescription(self, description, description_level):
14389        r"""GetDescription(SBTypeFilter self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
14390        return _lldb.SBTypeFilter_GetDescription(self, description, description_level)
14391
14392    def IsEqualTo(self, rhs):
14393        r"""IsEqualTo(SBTypeFilter self, SBTypeFilter rhs) -> bool"""
14394        return _lldb.SBTypeFilter_IsEqualTo(self, rhs)
14395
14396    def __eq__(self, rhs):
14397        r"""__eq__(SBTypeFilter self, SBTypeFilter rhs) -> bool"""
14398        return _lldb.SBTypeFilter___eq__(self, rhs)
14399
14400    def __ne__(self, rhs):
14401        r"""__ne__(SBTypeFilter self, SBTypeFilter rhs) -> bool"""
14402        return _lldb.SBTypeFilter___ne__(self, rhs)
14403
14404    def __repr__(self):
14405        r"""__repr__(SBTypeFilter self) -> std::string"""
14406        return _lldb.SBTypeFilter___repr__(self)
14407
14408                # operator== is a free function, which swig does not handle, so we inject
14409                # our own equality operator here
14410    def __eq__(self, other):
14411        return not self.__ne__(other)
14412
14413    options = property(GetOptions, SetOptions)
14414    count = property(GetNumberOfExpressionPaths)
14415
14416
14417    def __eq__(self, rhs):
14418        if not isinstance(rhs, type(self)):
14419            return False
14420
14421        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
14422
14423    def __ne__(self, rhs):
14424        if not isinstance(rhs, type(self)):
14425            return True
14426
14427        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
14428
14429
14430# Register SBTypeFilter in _lldb:
14431_lldb.SBTypeFilter_swigregister(SBTypeFilter)
14432class SBTypeFormat(object):
14433    r"""Represents a format that can be associated to one or more types."""
14434
14435    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14436
14437    def __init__(self, *args):
14438        r"""
14439        __init__(SBTypeFormat self) -> SBTypeFormat
14440        __init__(SBTypeFormat self, lldb::Format format, uint32_t options=0) -> SBTypeFormat
14441        __init__(SBTypeFormat self, char const * type, uint32_t options=0) -> SBTypeFormat
14442        __init__(SBTypeFormat self, SBTypeFormat rhs) -> SBTypeFormat
14443        """
14444        _lldb.SBTypeFormat_swiginit(self, _lldb.new_SBTypeFormat(*args))
14445    __swig_destroy__ = _lldb.delete_SBTypeFormat
14446
14447    def __nonzero__(self):
14448        return _lldb.SBTypeFormat___nonzero__(self)
14449    __bool__ = __nonzero__
14450
14451
14452
14453    def IsValid(self):
14454        r"""IsValid(SBTypeFormat self) -> bool"""
14455        return _lldb.SBTypeFormat_IsValid(self)
14456
14457    def GetFormat(self):
14458        r"""GetFormat(SBTypeFormat self) -> lldb::Format"""
14459        return _lldb.SBTypeFormat_GetFormat(self)
14460
14461    def GetTypeName(self):
14462        r"""GetTypeName(SBTypeFormat self) -> char const *"""
14463        return _lldb.SBTypeFormat_GetTypeName(self)
14464
14465    def GetOptions(self):
14466        r"""GetOptions(SBTypeFormat self) -> uint32_t"""
14467        return _lldb.SBTypeFormat_GetOptions(self)
14468
14469    def SetFormat(self, arg2):
14470        r"""SetFormat(SBTypeFormat self, lldb::Format arg2)"""
14471        return _lldb.SBTypeFormat_SetFormat(self, arg2)
14472
14473    def SetTypeName(self, arg2):
14474        r"""SetTypeName(SBTypeFormat self, char const * arg2)"""
14475        return _lldb.SBTypeFormat_SetTypeName(self, arg2)
14476
14477    def SetOptions(self, arg2):
14478        r"""SetOptions(SBTypeFormat self, uint32_t arg2)"""
14479        return _lldb.SBTypeFormat_SetOptions(self, arg2)
14480
14481    def GetDescription(self, description, description_level):
14482        r"""GetDescription(SBTypeFormat self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
14483        return _lldb.SBTypeFormat_GetDescription(self, description, description_level)
14484
14485    def IsEqualTo(self, rhs):
14486        r"""IsEqualTo(SBTypeFormat self, SBTypeFormat rhs) -> bool"""
14487        return _lldb.SBTypeFormat_IsEqualTo(self, rhs)
14488
14489    def __eq__(self, rhs):
14490        r"""__eq__(SBTypeFormat self, SBTypeFormat rhs) -> bool"""
14491        return _lldb.SBTypeFormat___eq__(self, rhs)
14492
14493    def __ne__(self, rhs):
14494        r"""__ne__(SBTypeFormat self, SBTypeFormat rhs) -> bool"""
14495        return _lldb.SBTypeFormat___ne__(self, rhs)
14496
14497    def __repr__(self):
14498        r"""__repr__(SBTypeFormat self) -> std::string"""
14499        return _lldb.SBTypeFormat___repr__(self)
14500
14501                # operator== is a free function, which swig does not handle, so we inject
14502                # our own equality operator here
14503    def __eq__(self, other):
14504        return not self.__ne__(other)
14505
14506    format = property(GetFormat, SetFormat)
14507    options = property(GetOptions, SetOptions)
14508
14509
14510# Register SBTypeFormat in _lldb:
14511_lldb.SBTypeFormat_swigregister(SBTypeFormat)
14512class SBTypeNameSpecifier(object):
14513    r"""Represents a general way to provide a type name to LLDB APIs."""
14514
14515    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14516
14517    def __init__(self, *args):
14518        r"""
14519        __init__(SBTypeNameSpecifier self) -> SBTypeNameSpecifier
14520        __init__(SBTypeNameSpecifier self, char const * name, bool is_regex=False) -> SBTypeNameSpecifier
14521        __init__(SBTypeNameSpecifier self, char const * name, lldb::FormatterMatchType match_type) -> SBTypeNameSpecifier
14522        __init__(SBTypeNameSpecifier self, SBType type) -> SBTypeNameSpecifier
14523        __init__(SBTypeNameSpecifier self, SBTypeNameSpecifier rhs) -> SBTypeNameSpecifier
14524        """
14525        _lldb.SBTypeNameSpecifier_swiginit(self, _lldb.new_SBTypeNameSpecifier(*args))
14526    __swig_destroy__ = _lldb.delete_SBTypeNameSpecifier
14527
14528    def __nonzero__(self):
14529        return _lldb.SBTypeNameSpecifier___nonzero__(self)
14530    __bool__ = __nonzero__
14531
14532
14533
14534    def IsValid(self):
14535        r"""IsValid(SBTypeNameSpecifier self) -> bool"""
14536        return _lldb.SBTypeNameSpecifier_IsValid(self)
14537
14538    def GetName(self):
14539        r"""GetName(SBTypeNameSpecifier self) -> char const *"""
14540        return _lldb.SBTypeNameSpecifier_GetName(self)
14541
14542    def GetType(self):
14543        r"""GetType(SBTypeNameSpecifier self) -> SBType"""
14544        return _lldb.SBTypeNameSpecifier_GetType(self)
14545
14546    def GetMatchType(self):
14547        r"""GetMatchType(SBTypeNameSpecifier self) -> lldb::FormatterMatchType"""
14548        return _lldb.SBTypeNameSpecifier_GetMatchType(self)
14549
14550    def IsRegex(self):
14551        r"""IsRegex(SBTypeNameSpecifier self) -> bool"""
14552        return _lldb.SBTypeNameSpecifier_IsRegex(self)
14553
14554    def GetDescription(self, description, description_level):
14555        r"""GetDescription(SBTypeNameSpecifier self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
14556        return _lldb.SBTypeNameSpecifier_GetDescription(self, description, description_level)
14557
14558    def IsEqualTo(self, rhs):
14559        r"""IsEqualTo(SBTypeNameSpecifier self, SBTypeNameSpecifier rhs) -> bool"""
14560        return _lldb.SBTypeNameSpecifier_IsEqualTo(self, rhs)
14561
14562    def __eq__(self, rhs):
14563        r"""__eq__(SBTypeNameSpecifier self, SBTypeNameSpecifier rhs) -> bool"""
14564        return _lldb.SBTypeNameSpecifier___eq__(self, rhs)
14565
14566    def __ne__(self, rhs):
14567        r"""__ne__(SBTypeNameSpecifier self, SBTypeNameSpecifier rhs) -> bool"""
14568        return _lldb.SBTypeNameSpecifier___ne__(self, rhs)
14569
14570    def __repr__(self):
14571        r"""__repr__(SBTypeNameSpecifier self) -> std::string"""
14572        return _lldb.SBTypeNameSpecifier___repr__(self)
14573
14574                # operator== is a free function, which swig does not handle, so we inject
14575                # our own equality operator here
14576    def __eq__(self, other):
14577        return not self.__ne__(other)
14578
14579    name = property(GetName)
14580    is_regex = property(IsRegex)
14581
14582
14583    def __eq__(self, rhs):
14584        if not isinstance(rhs, type(self)):
14585            return False
14586
14587        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
14588
14589    def __ne__(self, rhs):
14590        if not isinstance(rhs, type(self)):
14591            return True
14592
14593        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
14594
14595
14596# Register SBTypeNameSpecifier in _lldb:
14597_lldb.SBTypeNameSpecifier_swigregister(SBTypeNameSpecifier)
14598class SBTypeSummaryOptions(object):
14599    r"""Proxy of C++ lldb::SBTypeSummaryOptions class."""
14600
14601    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14602    __repr__ = _swig_repr
14603
14604    def __init__(self, *args):
14605        r"""
14606        __init__(SBTypeSummaryOptions self) -> SBTypeSummaryOptions
14607        __init__(SBTypeSummaryOptions self, SBTypeSummaryOptions rhs) -> SBTypeSummaryOptions
14608        """
14609        _lldb.SBTypeSummaryOptions_swiginit(self, _lldb.new_SBTypeSummaryOptions(*args))
14610    __swig_destroy__ = _lldb.delete_SBTypeSummaryOptions
14611
14612    def __nonzero__(self):
14613        return _lldb.SBTypeSummaryOptions___nonzero__(self)
14614    __bool__ = __nonzero__
14615
14616
14617
14618    def IsValid(self):
14619        r"""IsValid(SBTypeSummaryOptions self) -> bool"""
14620        return _lldb.SBTypeSummaryOptions_IsValid(self)
14621
14622    def GetLanguage(self):
14623        r"""GetLanguage(SBTypeSummaryOptions self) -> lldb::LanguageType"""
14624        return _lldb.SBTypeSummaryOptions_GetLanguage(self)
14625
14626    def GetCapping(self):
14627        r"""GetCapping(SBTypeSummaryOptions self) -> lldb::TypeSummaryCapping"""
14628        return _lldb.SBTypeSummaryOptions_GetCapping(self)
14629
14630    def SetLanguage(self, arg2):
14631        r"""SetLanguage(SBTypeSummaryOptions self, lldb::LanguageType arg2)"""
14632        return _lldb.SBTypeSummaryOptions_SetLanguage(self, arg2)
14633
14634    def SetCapping(self, arg2):
14635        r"""SetCapping(SBTypeSummaryOptions self, lldb::TypeSummaryCapping arg2)"""
14636        return _lldb.SBTypeSummaryOptions_SetCapping(self, arg2)
14637
14638# Register SBTypeSummaryOptions in _lldb:
14639_lldb.SBTypeSummaryOptions_swigregister(SBTypeSummaryOptions)
14640class SBTypeSummary(object):
14641    r"""Represents a summary that can be associated to one or more types."""
14642
14643    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14644
14645    @staticmethod
14646    def CreateWithSummaryString(data, options=0):
14647        r"""CreateWithSummaryString(char const * data, uint32_t options=0) -> SBTypeSummary"""
14648        return _lldb.SBTypeSummary_CreateWithSummaryString(data, options)
14649
14650    @staticmethod
14651    def CreateWithFunctionName(data, options=0):
14652        r"""CreateWithFunctionName(char const * data, uint32_t options=0) -> SBTypeSummary"""
14653        return _lldb.SBTypeSummary_CreateWithFunctionName(data, options)
14654
14655    @staticmethod
14656    def CreateWithScriptCode(data, options=0):
14657        r"""CreateWithScriptCode(char const * data, uint32_t options=0) -> SBTypeSummary"""
14658        return _lldb.SBTypeSummary_CreateWithScriptCode(data, options)
14659
14660    def __init__(self, *args):
14661        r"""
14662        __init__(SBTypeSummary self) -> SBTypeSummary
14663        __init__(SBTypeSummary self, SBTypeSummary rhs) -> SBTypeSummary
14664        """
14665        _lldb.SBTypeSummary_swiginit(self, _lldb.new_SBTypeSummary(*args))
14666    __swig_destroy__ = _lldb.delete_SBTypeSummary
14667
14668    def __nonzero__(self):
14669        return _lldb.SBTypeSummary___nonzero__(self)
14670    __bool__ = __nonzero__
14671
14672
14673
14674    def IsValid(self):
14675        r"""IsValid(SBTypeSummary self) -> bool"""
14676        return _lldb.SBTypeSummary_IsValid(self)
14677
14678    def IsFunctionCode(self):
14679        r"""IsFunctionCode(SBTypeSummary self) -> bool"""
14680        return _lldb.SBTypeSummary_IsFunctionCode(self)
14681
14682    def IsFunctionName(self):
14683        r"""IsFunctionName(SBTypeSummary self) -> bool"""
14684        return _lldb.SBTypeSummary_IsFunctionName(self)
14685
14686    def IsSummaryString(self):
14687        r"""IsSummaryString(SBTypeSummary self) -> bool"""
14688        return _lldb.SBTypeSummary_IsSummaryString(self)
14689
14690    def GetData(self):
14691        r"""GetData(SBTypeSummary self) -> char const *"""
14692        return _lldb.SBTypeSummary_GetData(self)
14693
14694    def SetSummaryString(self, data):
14695        r"""SetSummaryString(SBTypeSummary self, char const * data)"""
14696        return _lldb.SBTypeSummary_SetSummaryString(self, data)
14697
14698    def SetFunctionName(self, data):
14699        r"""SetFunctionName(SBTypeSummary self, char const * data)"""
14700        return _lldb.SBTypeSummary_SetFunctionName(self, data)
14701
14702    def SetFunctionCode(self, data):
14703        r"""SetFunctionCode(SBTypeSummary self, char const * data)"""
14704        return _lldb.SBTypeSummary_SetFunctionCode(self, data)
14705
14706    def GetOptions(self):
14707        r"""GetOptions(SBTypeSummary self) -> uint32_t"""
14708        return _lldb.SBTypeSummary_GetOptions(self)
14709
14710    def SetOptions(self, arg2):
14711        r"""SetOptions(SBTypeSummary self, uint32_t arg2)"""
14712        return _lldb.SBTypeSummary_SetOptions(self, arg2)
14713
14714    def GetDescription(self, description, description_level):
14715        r"""GetDescription(SBTypeSummary self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
14716        return _lldb.SBTypeSummary_GetDescription(self, description, description_level)
14717
14718    def DoesPrintValue(self, value):
14719        r"""DoesPrintValue(SBTypeSummary self, SBValue value) -> bool"""
14720        return _lldb.SBTypeSummary_DoesPrintValue(self, value)
14721
14722    def IsEqualTo(self, rhs):
14723        r"""IsEqualTo(SBTypeSummary self, SBTypeSummary rhs) -> bool"""
14724        return _lldb.SBTypeSummary_IsEqualTo(self, rhs)
14725
14726    def __eq__(self, rhs):
14727        r"""__eq__(SBTypeSummary self, SBTypeSummary rhs) -> bool"""
14728        return _lldb.SBTypeSummary___eq__(self, rhs)
14729
14730    def __ne__(self, rhs):
14731        r"""__ne__(SBTypeSummary self, SBTypeSummary rhs) -> bool"""
14732        return _lldb.SBTypeSummary___ne__(self, rhs)
14733
14734    def __repr__(self):
14735        r"""__repr__(SBTypeSummary self) -> std::string"""
14736        return _lldb.SBTypeSummary___repr__(self)
14737
14738                # operator== is a free function, which swig does not handle, so we inject
14739                # our own equality operator here
14740    def __eq__(self, other):
14741        return not self.__ne__(other)
14742
14743    options = property(GetOptions, SetOptions)
14744    is_summary_string = property(IsSummaryString)
14745    is_function_name = property(IsFunctionName)
14746    is_function_name = property(IsFunctionCode)
14747    summary_data = property(GetData)
14748
14749
14750    def __eq__(self, rhs):
14751        if not isinstance(rhs, type(self)):
14752            return False
14753
14754        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
14755
14756    def __ne__(self, rhs):
14757        if not isinstance(rhs, type(self)):
14758            return True
14759
14760        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
14761
14762
14763# Register SBTypeSummary in _lldb:
14764_lldb.SBTypeSummary_swigregister(SBTypeSummary)
14765class SBTypeSynthetic(object):
14766    r"""Represents a summary that can be associated to one or more types."""
14767
14768    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14769
14770    @staticmethod
14771    def CreateWithClassName(data, options=0):
14772        r"""CreateWithClassName(char const * data, uint32_t options=0) -> SBTypeSynthetic"""
14773        return _lldb.SBTypeSynthetic_CreateWithClassName(data, options)
14774
14775    @staticmethod
14776    def CreateWithScriptCode(data, options=0):
14777        r"""CreateWithScriptCode(char const * data, uint32_t options=0) -> SBTypeSynthetic"""
14778        return _lldb.SBTypeSynthetic_CreateWithScriptCode(data, options)
14779
14780    def __init__(self, *args):
14781        r"""
14782        __init__(SBTypeSynthetic self) -> SBTypeSynthetic
14783        __init__(SBTypeSynthetic self, SBTypeSynthetic rhs) -> SBTypeSynthetic
14784        """
14785        _lldb.SBTypeSynthetic_swiginit(self, _lldb.new_SBTypeSynthetic(*args))
14786    __swig_destroy__ = _lldb.delete_SBTypeSynthetic
14787
14788    def __nonzero__(self):
14789        return _lldb.SBTypeSynthetic___nonzero__(self)
14790    __bool__ = __nonzero__
14791
14792
14793
14794    def IsValid(self):
14795        r"""IsValid(SBTypeSynthetic self) -> bool"""
14796        return _lldb.SBTypeSynthetic_IsValid(self)
14797
14798    def IsClassCode(self):
14799        r"""IsClassCode(SBTypeSynthetic self) -> bool"""
14800        return _lldb.SBTypeSynthetic_IsClassCode(self)
14801
14802    def IsClassName(self):
14803        r"""IsClassName(SBTypeSynthetic self) -> bool"""
14804        return _lldb.SBTypeSynthetic_IsClassName(self)
14805
14806    def GetData(self):
14807        r"""GetData(SBTypeSynthetic self) -> char const *"""
14808        return _lldb.SBTypeSynthetic_GetData(self)
14809
14810    def SetClassName(self, data):
14811        r"""SetClassName(SBTypeSynthetic self, char const * data)"""
14812        return _lldb.SBTypeSynthetic_SetClassName(self, data)
14813
14814    def SetClassCode(self, data):
14815        r"""SetClassCode(SBTypeSynthetic self, char const * data)"""
14816        return _lldb.SBTypeSynthetic_SetClassCode(self, data)
14817
14818    def GetOptions(self):
14819        r"""GetOptions(SBTypeSynthetic self) -> uint32_t"""
14820        return _lldb.SBTypeSynthetic_GetOptions(self)
14821
14822    def SetOptions(self, arg2):
14823        r"""SetOptions(SBTypeSynthetic self, uint32_t arg2)"""
14824        return _lldb.SBTypeSynthetic_SetOptions(self, arg2)
14825
14826    def GetDescription(self, description, description_level):
14827        r"""GetDescription(SBTypeSynthetic self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
14828        return _lldb.SBTypeSynthetic_GetDescription(self, description, description_level)
14829
14830    def IsEqualTo(self, rhs):
14831        r"""IsEqualTo(SBTypeSynthetic self, SBTypeSynthetic rhs) -> bool"""
14832        return _lldb.SBTypeSynthetic_IsEqualTo(self, rhs)
14833
14834    def __eq__(self, rhs):
14835        r"""__eq__(SBTypeSynthetic self, SBTypeSynthetic rhs) -> bool"""
14836        return _lldb.SBTypeSynthetic___eq__(self, rhs)
14837
14838    def __ne__(self, rhs):
14839        r"""__ne__(SBTypeSynthetic self, SBTypeSynthetic rhs) -> bool"""
14840        return _lldb.SBTypeSynthetic___ne__(self, rhs)
14841
14842    def __repr__(self):
14843        r"""__repr__(SBTypeSynthetic self) -> std::string"""
14844        return _lldb.SBTypeSynthetic___repr__(self)
14845
14846                # operator== is a free function, which swig does not handle, so we inject
14847                # our own equality operator here
14848    def __eq__(self, other):
14849        return not self.__ne__(other)
14850
14851    options = property(GetOptions, SetOptions)
14852    contains_code = property(IsClassCode, None)
14853    synthetic_data = property(GetData, None)
14854
14855
14856    def __eq__(self, rhs):
14857        if not isinstance(rhs, type(self)):
14858            return False
14859
14860        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
14861
14862    def __ne__(self, rhs):
14863        if not isinstance(rhs, type(self)):
14864            return True
14865
14866        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
14867
14868
14869# Register SBTypeSynthetic in _lldb:
14870_lldb.SBTypeSynthetic_swigregister(SBTypeSynthetic)
14871class SBUnixSignals(object):
14872    r"""Allows you to manipulate LLDB's signal disposition"""
14873
14874    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14875    __repr__ = _swig_repr
14876
14877    def __init__(self, *args):
14878        r"""
14879        __init__(SBUnixSignals self) -> SBUnixSignals
14880        __init__(SBUnixSignals self, SBUnixSignals rhs) -> SBUnixSignals
14881        """
14882        _lldb.SBUnixSignals_swiginit(self, _lldb.new_SBUnixSignals(*args))
14883    __swig_destroy__ = _lldb.delete_SBUnixSignals
14884
14885    def Clear(self):
14886        r"""Clear(SBUnixSignals self)"""
14887        return _lldb.SBUnixSignals_Clear(self)
14888
14889    def __nonzero__(self):
14890        return _lldb.SBUnixSignals___nonzero__(self)
14891    __bool__ = __nonzero__
14892
14893
14894
14895    def IsValid(self):
14896        r"""IsValid(SBUnixSignals self) -> bool"""
14897        return _lldb.SBUnixSignals_IsValid(self)
14898
14899    def GetSignalAsCString(self, signo):
14900        r"""GetSignalAsCString(SBUnixSignals self, int32_t signo) -> char const *"""
14901        return _lldb.SBUnixSignals_GetSignalAsCString(self, signo)
14902
14903    def GetSignalNumberFromName(self, name):
14904        r"""GetSignalNumberFromName(SBUnixSignals self, char const * name) -> int32_t"""
14905        return _lldb.SBUnixSignals_GetSignalNumberFromName(self, name)
14906
14907    def GetShouldSuppress(self, signo):
14908        r"""GetShouldSuppress(SBUnixSignals self, int32_t signo) -> bool"""
14909        return _lldb.SBUnixSignals_GetShouldSuppress(self, signo)
14910
14911    def SetShouldSuppress(self, signo, value):
14912        r"""SetShouldSuppress(SBUnixSignals self, int32_t signo, bool value) -> bool"""
14913        return _lldb.SBUnixSignals_SetShouldSuppress(self, signo, value)
14914
14915    def GetShouldStop(self, signo):
14916        r"""GetShouldStop(SBUnixSignals self, int32_t signo) -> bool"""
14917        return _lldb.SBUnixSignals_GetShouldStop(self, signo)
14918
14919    def SetShouldStop(self, signo, value):
14920        r"""SetShouldStop(SBUnixSignals self, int32_t signo, bool value) -> bool"""
14921        return _lldb.SBUnixSignals_SetShouldStop(self, signo, value)
14922
14923    def GetShouldNotify(self, signo):
14924        r"""GetShouldNotify(SBUnixSignals self, int32_t signo) -> bool"""
14925        return _lldb.SBUnixSignals_GetShouldNotify(self, signo)
14926
14927    def SetShouldNotify(self, signo, value):
14928        r"""SetShouldNotify(SBUnixSignals self, int32_t signo, bool value) -> bool"""
14929        return _lldb.SBUnixSignals_SetShouldNotify(self, signo, value)
14930
14931    def GetNumSignals(self):
14932        r"""GetNumSignals(SBUnixSignals self) -> int32_t"""
14933        return _lldb.SBUnixSignals_GetNumSignals(self)
14934
14935    def GetSignalAtIndex(self, index):
14936        r"""GetSignalAtIndex(SBUnixSignals self, int32_t index) -> int32_t"""
14937        return _lldb.SBUnixSignals_GetSignalAtIndex(self, index)
14938
14939    def __iter__(self):
14940        '''Iterate over all signals in a lldb.SBUnixSignals object.'''
14941        return lldb_iter(self, 'GetNumSignals', 'GetSignalAtIndex')
14942
14943    def __len__(self):
14944        return self.GetNumSignals()
14945
14946    def get_unix_signals_list(self):
14947        signals = []
14948        for idx in range(0, self.GetNumSignals()):
14949            signals.append(self.GetSignalAtIndex(sig))
14950        return signals
14951
14952    threads = property(get_unix_signals_list, None, doc='''A read only property that returns a list() of valid signal numbers for this platform.''')
14953
14954
14955# Register SBUnixSignals in _lldb:
14956_lldb.SBUnixSignals_swigregister(SBUnixSignals)
14957class SBValue(object):
14958    r"""
14959    Represents the value of a variable, a register, or an expression.
14960
14961    SBValue supports iteration through its child, which in turn is represented
14962    as an SBValue.  For example, we can get the general purpose registers of a
14963    frame as an SBValue, and iterate through all the registers,::
14964
14965        registerSet = frame.registers # Returns an SBValueList.
14966        for regs in registerSet:
14967            if 'general purpose registers' in regs.name.lower():
14968                GPRs = regs
14969                break
14970
14971        print('%s (number of children = %d):' % (GPRs.name, GPRs.num_children))
14972        for reg in GPRs:
14973            print('Name: ', reg.name, ' Value: ', reg.value)
14974
14975    produces the output: ::
14976
14977        General Purpose Registers (number of children = 21):
14978        Name:  rax  Value:  0x0000000100000c5c
14979        Name:  rbx  Value:  0x0000000000000000
14980        Name:  rcx  Value:  0x00007fff5fbffec0
14981        Name:  rdx  Value:  0x00007fff5fbffeb8
14982        Name:  rdi  Value:  0x0000000000000001
14983        Name:  rsi  Value:  0x00007fff5fbffea8
14984        Name:  rbp  Value:  0x00007fff5fbffe80
14985        Name:  rsp  Value:  0x00007fff5fbffe60
14986        Name:  r8  Value:  0x0000000008668682
14987        Name:  r9  Value:  0x0000000000000000
14988        Name:  r10  Value:  0x0000000000001200
14989        Name:  r11  Value:  0x0000000000000206
14990        Name:  r12  Value:  0x0000000000000000
14991        Name:  r13  Value:  0x0000000000000000
14992        Name:  r14  Value:  0x0000000000000000
14993        Name:  r15  Value:  0x0000000000000000
14994        Name:  rip  Value:  0x0000000100000dae
14995        Name:  rflags  Value:  0x0000000000000206
14996        Name:  cs  Value:  0x0000000000000027
14997        Name:  fs  Value:  0x0000000000000010
14998        Name:  gs  Value:  0x0000000000000048
14999
15000    See also linked_list_iter() for another perspective on how to iterate through an
15001    SBValue instance which interprets the value object as representing the head of a
15002    linked list.
15003    """
15004
15005    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15006
15007    def __init__(self, *args):
15008        r"""
15009        __init__(SBValue self) -> SBValue
15010        __init__(SBValue self, SBValue rhs) -> SBValue
15011        """
15012        _lldb.SBValue_swiginit(self, _lldb.new_SBValue(*args))
15013    __swig_destroy__ = _lldb.delete_SBValue
15014
15015    def __nonzero__(self):
15016        return _lldb.SBValue___nonzero__(self)
15017    __bool__ = __nonzero__
15018
15019
15020
15021    def IsValid(self):
15022        r"""IsValid(SBValue self) -> bool"""
15023        return _lldb.SBValue_IsValid(self)
15024
15025    def Clear(self):
15026        r"""Clear(SBValue self)"""
15027        return _lldb.SBValue_Clear(self)
15028
15029    def GetError(self):
15030        r"""GetError(SBValue self) -> SBError"""
15031        return _lldb.SBValue_GetError(self)
15032
15033    def GetID(self):
15034        r"""GetID(SBValue self) -> lldb::user_id_t"""
15035        return _lldb.SBValue_GetID(self)
15036
15037    def GetName(self):
15038        r"""GetName(SBValue self) -> char const *"""
15039        return _lldb.SBValue_GetName(self)
15040
15041    def GetTypeName(self):
15042        r"""GetTypeName(SBValue self) -> char const *"""
15043        return _lldb.SBValue_GetTypeName(self)
15044
15045    def GetDisplayTypeName(self):
15046        r"""GetDisplayTypeName(SBValue self) -> char const *"""
15047        return _lldb.SBValue_GetDisplayTypeName(self)
15048
15049    def GetByteSize(self):
15050        r"""GetByteSize(SBValue self) -> size_t"""
15051        return _lldb.SBValue_GetByteSize(self)
15052
15053    def IsInScope(self):
15054        r"""IsInScope(SBValue self) -> bool"""
15055        return _lldb.SBValue_IsInScope(self)
15056
15057    def GetFormat(self):
15058        r"""GetFormat(SBValue self) -> lldb::Format"""
15059        return _lldb.SBValue_GetFormat(self)
15060
15061    def SetFormat(self, format):
15062        r"""SetFormat(SBValue self, lldb::Format format)"""
15063        return _lldb.SBValue_SetFormat(self, format)
15064
15065    def GetValue(self):
15066        r"""GetValue(SBValue self) -> char const *"""
15067        return _lldb.SBValue_GetValue(self)
15068
15069    def GetValueAsSigned(self, *args):
15070        r"""
15071        GetValueAsSigned(SBValue self, SBError error, int64_t fail_value=0) -> int64_t
15072        GetValueAsSigned(SBValue self, int64_t fail_value=0) -> int64_t
15073        """
15074        return _lldb.SBValue_GetValueAsSigned(self, *args)
15075
15076    def GetValueAsUnsigned(self, *args):
15077        r"""
15078        GetValueAsUnsigned(SBValue self, SBError error, uint64_t fail_value=0) -> uint64_t
15079        GetValueAsUnsigned(SBValue self, uint64_t fail_value=0) -> uint64_t
15080        """
15081        return _lldb.SBValue_GetValueAsUnsigned(self, *args)
15082
15083    def GetValueAsAddress(self):
15084        r"""
15085        GetValueAsAddress(SBValue self) -> lldb::addr_t
15086
15087              Return the value as an address.  On failure, LLDB_INVALID_ADDRESS
15088              will be returned.  On architectures like AArch64, where the
15089              top (unaddressable) bits can be used for authentication,
15090              memory tagging, or top byte ignore,  this method will return
15091              the value with those top bits cleared.
15092
15093              GetValueAsUnsigned returns the actual value, with the
15094              authentication/Top Byte Ignore/Memory Tagging Extension bits.
15095
15096              Calling this on a random value which is not a pointer is
15097              incorrect.  Call GetType().IsPointerType() if in doubt.
15098
15099              An SB API program may want to show both the literal byte value
15100              and the address it refers to in memory.  These two SBValue
15101              methods allow SB API writers to behave appropriately for their
15102              interface.
15103        """
15104        return _lldb.SBValue_GetValueAsAddress(self)
15105
15106    def GetValueType(self):
15107        r"""GetValueType(SBValue self) -> lldb::ValueType"""
15108        return _lldb.SBValue_GetValueType(self)
15109
15110    def GetValueDidChange(self):
15111        r"""GetValueDidChange(SBValue self) -> bool"""
15112        return _lldb.SBValue_GetValueDidChange(self)
15113
15114    def GetSummary(self, *args):
15115        r"""
15116        GetSummary(SBValue self) -> char const
15117        GetSummary(SBValue self, SBStream stream, SBTypeSummaryOptions options) -> char const *
15118        """
15119        return _lldb.SBValue_GetSummary(self, *args)
15120
15121    def GetObjectDescription(self):
15122        r"""GetObjectDescription(SBValue self) -> char const *"""
15123        return _lldb.SBValue_GetObjectDescription(self)
15124
15125    def GetDynamicValue(self, use_dynamic):
15126        r"""GetDynamicValue(SBValue self, lldb::DynamicValueType use_dynamic) -> SBValue"""
15127        return _lldb.SBValue_GetDynamicValue(self, use_dynamic)
15128
15129    def GetStaticValue(self):
15130        r"""GetStaticValue(SBValue self) -> SBValue"""
15131        return _lldb.SBValue_GetStaticValue(self)
15132
15133    def GetNonSyntheticValue(self):
15134        r"""GetNonSyntheticValue(SBValue self) -> SBValue"""
15135        return _lldb.SBValue_GetNonSyntheticValue(self)
15136
15137    def GetPreferDynamicValue(self):
15138        r"""GetPreferDynamicValue(SBValue self) -> lldb::DynamicValueType"""
15139        return _lldb.SBValue_GetPreferDynamicValue(self)
15140
15141    def SetPreferDynamicValue(self, use_dynamic):
15142        r"""SetPreferDynamicValue(SBValue self, lldb::DynamicValueType use_dynamic)"""
15143        return _lldb.SBValue_SetPreferDynamicValue(self, use_dynamic)
15144
15145    def GetPreferSyntheticValue(self):
15146        r"""GetPreferSyntheticValue(SBValue self) -> bool"""
15147        return _lldb.SBValue_GetPreferSyntheticValue(self)
15148
15149    def SetPreferSyntheticValue(self, use_synthetic):
15150        r"""SetPreferSyntheticValue(SBValue self, bool use_synthetic)"""
15151        return _lldb.SBValue_SetPreferSyntheticValue(self, use_synthetic)
15152
15153    def IsDynamic(self):
15154        r"""IsDynamic(SBValue self) -> bool"""
15155        return _lldb.SBValue_IsDynamic(self)
15156
15157    def IsSynthetic(self):
15158        r"""IsSynthetic(SBValue self) -> bool"""
15159        return _lldb.SBValue_IsSynthetic(self)
15160
15161    def IsSyntheticChildrenGenerated(self):
15162        r"""IsSyntheticChildrenGenerated(SBValue self) -> bool"""
15163        return _lldb.SBValue_IsSyntheticChildrenGenerated(self)
15164
15165    def SetSyntheticChildrenGenerated(self, arg2):
15166        r"""SetSyntheticChildrenGenerated(SBValue self, bool arg2)"""
15167        return _lldb.SBValue_SetSyntheticChildrenGenerated(self, arg2)
15168
15169    def GetLocation(self):
15170        r"""GetLocation(SBValue self) -> char const *"""
15171        return _lldb.SBValue_GetLocation(self)
15172
15173    def SetValueFromCString(self, *args):
15174        r"""
15175        SetValueFromCString(SBValue self, char const * value_str) -> bool
15176        SetValueFromCString(SBValue self, char const * value_str, SBError error) -> bool
15177        """
15178        return _lldb.SBValue_SetValueFromCString(self, *args)
15179
15180    def GetTypeFormat(self):
15181        r"""GetTypeFormat(SBValue self) -> SBTypeFormat"""
15182        return _lldb.SBValue_GetTypeFormat(self)
15183
15184    def GetTypeSummary(self):
15185        r"""GetTypeSummary(SBValue self) -> SBTypeSummary"""
15186        return _lldb.SBValue_GetTypeSummary(self)
15187
15188    def GetTypeFilter(self):
15189        r"""GetTypeFilter(SBValue self) -> SBTypeFilter"""
15190        return _lldb.SBValue_GetTypeFilter(self)
15191
15192    def GetTypeSynthetic(self):
15193        r"""GetTypeSynthetic(SBValue self) -> SBTypeSynthetic"""
15194        return _lldb.SBValue_GetTypeSynthetic(self)
15195
15196    def CreateChildAtOffset(self, name, offset, type):
15197        r"""CreateChildAtOffset(SBValue self, char const * name, uint32_t offset, SBType type) -> SBValue"""
15198        return _lldb.SBValue_CreateChildAtOffset(self, name, offset, type)
15199
15200    def Cast(self, type):
15201        r"""Cast(SBValue self, SBType type) -> SBValue"""
15202        return _lldb.SBValue_Cast(self, type)
15203
15204    def CreateValueFromExpression(self, *args):
15205        r"""
15206        CreateValueFromExpression(SBValue self, char const * name, char const * expression) -> SBValue
15207        CreateValueFromExpression(SBValue self, char const * name, char const * expression, SBExpressionOptions options) -> SBValue
15208        """
15209        return _lldb.SBValue_CreateValueFromExpression(self, *args)
15210
15211    def CreateValueFromAddress(self, name, address, type):
15212        r"""CreateValueFromAddress(SBValue self, char const * name, lldb::addr_t address, SBType type) -> SBValue"""
15213        return _lldb.SBValue_CreateValueFromAddress(self, name, address, type)
15214
15215    def CreateValueFromData(self, name, data, type):
15216        r"""CreateValueFromData(SBValue self, char const * name, SBData data, SBType type) -> SBValue"""
15217        return _lldb.SBValue_CreateValueFromData(self, name, data, type)
15218
15219    def GetChildAtIndex(self, *args):
15220        r"""
15221        GetChildAtIndex(SBValue self, uint32_t idx) -> SBValue
15222        GetChildAtIndex(SBValue self, uint32_t idx, lldb::DynamicValueType use_dynamic, bool can_create_synthetic) -> SBValue
15223
15224            Get a child value by index from a value.
15225
15226            Structs, unions, classes, arrays and pointers have child
15227            values that can be access by index.
15228
15229            Structs and unions access child members using a zero based index
15230            for each child member. For
15231
15232            Classes reserve the first indexes for base classes that have
15233            members (empty base classes are omitted), and all members of the
15234            current class will then follow the base classes.
15235
15236            Pointers differ depending on what they point to. If the pointer
15237            points to a simple type, the child at index zero
15238            is the only child value available, unless synthetic_allowed
15239            is true, in which case the pointer will be used as an array
15240            and can create 'synthetic' child values using positive or
15241            negative indexes. If the pointer points to an aggregate type
15242            (an array, class, union, struct), then the pointee is
15243            transparently skipped and any children are going to be the indexes
15244            of the child values within the aggregate type. For example if
15245            we have a 'Point' type and we have a SBValue that contains a
15246            pointer to a 'Point' type, then the child at index zero will be
15247            the 'x' member, and the child at index 1 will be the 'y' member
15248            (the child at index zero won't be a 'Point' instance).
15249
15250            If you actually need an SBValue that represents the type pointed
15251            to by a SBValue for which GetType().IsPointeeType() returns true,
15252            regardless of the pointee type, you can do that with the SBValue.Dereference
15253            method (or the equivalent deref property).
15254
15255            Arrays have a preset number of children that can be accessed by
15256            index and will returns invalid child values for indexes that are
15257            out of bounds unless the synthetic_allowed is true. In this
15258            case the array can create 'synthetic' child values for indexes
15259            that aren't in the array bounds using positive or negative
15260            indexes.
15261
15262            @param[in] idx
15263                The index of the child value to get
15264
15265            @param[in] use_dynamic
15266                An enumeration that specifies whether to get dynamic values,
15267                and also if the target can be run to figure out the dynamic
15268                type of the child value.
15269
15270            @param[in] synthetic_allowed
15271                If true, then allow child values to be created by index
15272                for pointers and arrays for indexes that normally wouldn't
15273                be allowed.
15274
15275            @return
15276                A new SBValue object that represents the child member value.
15277        """
15278        return _lldb.SBValue_GetChildAtIndex(self, *args)
15279
15280    def GetIndexOfChildWithName(self, name):
15281        r"""
15282        GetIndexOfChildWithName(SBValue self, char const * name) -> uint32_t
15283
15284            Returns the child member index.
15285
15286            Matches children of this object only and will match base classes and
15287            member names if this is a clang typed object.
15288
15289            @param[in] name
15290                The name of the child value to get
15291
15292            @return
15293                An index to the child member value.
15294        """
15295        return _lldb.SBValue_GetIndexOfChildWithName(self, name)
15296
15297    def GetChildMemberWithName(self, *args):
15298        r"""
15299        GetChildMemberWithName(SBValue self, char const * name) -> SBValue
15300        GetChildMemberWithName(SBValue self, char const * name, lldb::DynamicValueType use_dynamic) -> SBValue
15301
15302            Returns the child member value.
15303
15304            Matches child members of this object and child members of any base
15305            classes.
15306
15307            @param[in] name
15308                The name of the child value to get
15309
15310            @param[in] use_dynamic
15311                An enumeration that specifies whether to get dynamic values,
15312                and also if the target can be run to figure out the dynamic
15313                type of the child value.
15314
15315            @return
15316                A new SBValue object that represents the child member value.
15317        """
15318        return _lldb.SBValue_GetChildMemberWithName(self, *args)
15319
15320    def GetValueForExpressionPath(self, expr_path):
15321        r"""
15322        GetValueForExpressionPath(SBValue self, char const * expr_path) -> SBValue
15323        Expands nested expressions like .a->b[0].c[1]->d.
15324        """
15325        return _lldb.SBValue_GetValueForExpressionPath(self, expr_path)
15326
15327    def AddressOf(self):
15328        r"""AddressOf(SBValue self) -> SBValue"""
15329        return _lldb.SBValue_AddressOf(self)
15330
15331    def GetLoadAddress(self):
15332        r"""GetLoadAddress(SBValue self) -> lldb::addr_t"""
15333        return _lldb.SBValue_GetLoadAddress(self)
15334
15335    def GetAddress(self):
15336        r"""GetAddress(SBValue self) -> SBAddress"""
15337        return _lldb.SBValue_GetAddress(self)
15338
15339    def GetPointeeData(self, item_idx=0, item_count=1):
15340        r"""
15341        GetPointeeData(SBValue self, uint32_t item_idx=0, uint32_t item_count=1) -> SBData
15342
15343            Get an SBData wrapping what this SBValue points to.
15344
15345            This method will dereference the current SBValue, if its
15346            data type is a ``T\*`` or ``T[]``, and extract ``item_count`` elements
15347            of type ``T`` from it, copying their contents in an :py:class:`SBData`.
15348
15349            :param item_idx: The index of the first item to retrieve. For an array
15350                this is equivalent to array[item_idx], for a pointer
15351                to ``\*(pointer + item_idx)``. In either case, the measurement
15352                unit for item_idx is the ``sizeof(T)`` rather than the byte
15353            :param item_count: How many items should be copied into the output. By default
15354                only one item is copied, but more can be asked for.
15355            :return: The contents of the copied items on success. An empty :py:class:`SBData` otherwise.
15356            :rtype: SBData
15357
15358        """
15359        return _lldb.SBValue_GetPointeeData(self, item_idx, item_count)
15360
15361    def GetData(self):
15362        r"""
15363        GetData(SBValue self) -> SBData
15364
15365            Get an SBData wrapping the contents of this SBValue.
15366
15367            This method will read the contents of this object in memory
15368            and copy them into an SBData for future use.
15369
15370            @return
15371                An SBData with the contents of this SBValue, on success.
15372                An empty SBData otherwise.
15373        """
15374        return _lldb.SBValue_GetData(self)
15375
15376    def SetData(self, data, error):
15377        r"""SetData(SBValue self, SBData data, SBError error) -> bool"""
15378        return _lldb.SBValue_SetData(self, data, error)
15379
15380    def Clone(self, new_name):
15381        r"""Clone(SBValue self, char const * new_name) -> SBValue"""
15382        return _lldb.SBValue_Clone(self, new_name)
15383
15384    def GetDeclaration(self):
15385        r"""GetDeclaration(SBValue self) -> SBDeclaration"""
15386        return _lldb.SBValue_GetDeclaration(self)
15387
15388    def MightHaveChildren(self):
15389        r"""MightHaveChildren(SBValue self) -> bool"""
15390        return _lldb.SBValue_MightHaveChildren(self)
15391
15392    def IsRuntimeSupportValue(self):
15393        r"""IsRuntimeSupportValue(SBValue self) -> bool"""
15394        return _lldb.SBValue_IsRuntimeSupportValue(self)
15395
15396    def GetNumChildren(self, *args):
15397        r"""
15398        GetNumChildren(SBValue self) -> uint32_t
15399        GetNumChildren(SBValue self, uint32_t max) -> uint32_t
15400        """
15401        return _lldb.SBValue_GetNumChildren(self, *args)
15402
15403    def GetOpaqueType(self):
15404        r"""GetOpaqueType(SBValue self) -> void *"""
15405        return _lldb.SBValue_GetOpaqueType(self)
15406
15407    def GetTarget(self):
15408        r"""GetTarget(SBValue self) -> SBTarget"""
15409        return _lldb.SBValue_GetTarget(self)
15410
15411    def GetProcess(self):
15412        r"""GetProcess(SBValue self) -> SBProcess"""
15413        return _lldb.SBValue_GetProcess(self)
15414
15415    def GetThread(self):
15416        r"""GetThread(SBValue self) -> SBThread"""
15417        return _lldb.SBValue_GetThread(self)
15418
15419    def GetFrame(self):
15420        r"""GetFrame(SBValue self) -> SBFrame"""
15421        return _lldb.SBValue_GetFrame(self)
15422
15423    def Dereference(self):
15424        r"""Dereference(SBValue self) -> SBValue"""
15425        return _lldb.SBValue_Dereference(self)
15426
15427    def TypeIsPointerType(self):
15428        r"""TypeIsPointerType(SBValue self) -> bool"""
15429        return _lldb.SBValue_TypeIsPointerType(self)
15430
15431    def GetType(self):
15432        r"""GetType(SBValue self) -> SBType"""
15433        return _lldb.SBValue_GetType(self)
15434
15435    def Persist(self):
15436        r"""Persist(SBValue self) -> SBValue"""
15437        return _lldb.SBValue_Persist(self)
15438
15439    def GetDescription(self, description):
15440        r"""GetDescription(SBValue self, SBStream description) -> bool"""
15441        return _lldb.SBValue_GetDescription(self, description)
15442
15443    def GetExpressionPath(self, *args):
15444        r"""
15445        GetExpressionPath(SBValue self, SBStream description) -> bool
15446        GetExpressionPath(SBValue self, SBStream description, bool qualify_cxx_base_classes) -> bool
15447        Returns an expression path for this value.
15448        """
15449        return _lldb.SBValue_GetExpressionPath(self, *args)
15450
15451    def EvaluateExpression(self, *args):
15452        r"""
15453        EvaluateExpression(SBValue self, char const * expr) -> SBValue
15454        EvaluateExpression(SBValue self, char const * expr, SBExpressionOptions options) -> SBValue
15455        EvaluateExpression(SBValue self, char const * expr, SBExpressionOptions options, char const * name) -> SBValue
15456        """
15457        return _lldb.SBValue_EvaluateExpression(self, *args)
15458
15459    def Watch(self, *args):
15460        r"""
15461        Watch(SBValue self, bool resolve_location, bool read, bool write, SBError error) -> SBWatchpoint
15462        Watch(SBValue self, bool resolve_location, bool read, bool write) -> SBWatchpoint
15463
15464            Find and watch a variable.
15465            It returns an SBWatchpoint, which may be invalid.
15466        """
15467        return _lldb.SBValue_Watch(self, *args)
15468
15469    def WatchPointee(self, resolve_location, read, write, error):
15470        r"""
15471        WatchPointee(SBValue self, bool resolve_location, bool read, bool write, SBError error) -> SBWatchpoint
15472
15473            Find and watch the location pointed to by a variable.
15474            It returns an SBWatchpoint, which may be invalid.
15475        """
15476        return _lldb.SBValue_WatchPointee(self, resolve_location, read, write, error)
15477
15478    def GetVTable(self):
15479        r"""GetVTable(SBValue self) -> SBValue"""
15480        return _lldb.SBValue_GetVTable(self)
15481
15482    def __repr__(self):
15483        r"""__repr__(SBValue self) -> std::string"""
15484        return _lldb.SBValue___repr__(self)
15485
15486    def __get_dynamic__ (self):
15487        '''Helper function for the "SBValue.dynamic" property.'''
15488        return self.GetDynamicValue (eDynamicCanRunTarget)
15489
15490    class children_access(object):
15491        '''A helper object that will lazily hand out thread for a process when supplied an index.'''
15492
15493        def __init__(self, sbvalue):
15494            self.sbvalue = sbvalue
15495
15496        def __len__(self):
15497            if self.sbvalue:
15498                return int(self.sbvalue.GetNumChildren())
15499            return 0
15500
15501        def __getitem__(self, key):
15502            if isinstance(key, int):
15503                count = len(self)
15504                if -count <= key < count:
15505                    key %= count
15506                    return self.sbvalue.GetChildAtIndex(key)
15507            return None
15508
15509    def get_child_access_object(self):
15510        '''An accessor function that returns a children_access() object which allows lazy member variable access from a lldb.SBValue object.'''
15511        return self.children_access (self)
15512
15513    def get_value_child_list(self):
15514        '''An accessor function that returns a list() that contains all children in a lldb.SBValue object.'''
15515        children = []
15516        accessor = self.get_child_access_object()
15517        for idx in range(len(accessor)):
15518            children.append(accessor[idx])
15519        return children
15520
15521    def __hex__(self):
15522        return self.GetAddress()
15523
15524    def __iter__(self):
15525        '''Iterate over all child values of a lldb.SBValue object.'''
15526        return lldb_iter(self, 'GetNumChildren', 'GetChildAtIndex')
15527
15528    def __len__(self):
15529        '''Return the number of child values of a lldb.SBValue object.'''
15530        return self.GetNumChildren()
15531
15532    children = property(get_value_child_list, None, doc='''A read only property that returns a list() of lldb.SBValue objects for the children of the value.''')
15533    child = property(get_child_access_object, None, doc='''A read only property that returns an object that can access children of a variable by index (child_value = value.children[12]).''')
15534    name = property(GetName, None, doc='''A read only property that returns the name of this value as a string.''')
15535    type = property(GetType, None, doc='''A read only property that returns a lldb.SBType object that represents the type for this value.''')
15536    size = property(GetByteSize, None, doc='''A read only property that returns the size in bytes of this value.''')
15537    is_in_scope = property(IsInScope, None, doc='''A read only property that returns a boolean value that indicates whether this value is currently lexically in scope.''')
15538    format = property(GetName, SetFormat, doc='''A read/write property that gets/sets the format used for lldb.SBValue().GetValue() for this value. See enumerations that start with "lldb.eFormat".''')
15539    value = property(GetValue, SetValueFromCString, doc='''A read/write property that gets/sets value from a string.''')
15540    value_type = property(GetValueType, None, doc='''A read only property that returns an lldb enumeration value (see enumerations that start with "lldb.eValueType") that represents the type of this value (local, argument, global, register, etc.).''')
15541    changed = property(GetValueDidChange, None, doc='''A read only property that returns a boolean value that indicates if this value has changed since it was last updated.''')
15542    data = property(GetData, None, doc='''A read only property that returns an lldb object (lldb.SBData) that represents the bytes that make up the value for this object.''')
15543    load_addr = property(GetLoadAddress, None, doc='''A read only property that returns the load address of this value as an integer.''')
15544    addr = property(GetAddress, None, doc='''A read only property that returns an lldb.SBAddress that represents the address of this value if it is in memory.''')
15545    deref = property(Dereference, None, doc='''A read only property that returns an lldb.SBValue that is created by dereferencing this value.''')
15546    address_of = property(AddressOf, None, doc='''A read only property that returns an lldb.SBValue that represents the address-of this value.''')
15547    error = property(GetError, None, doc='''A read only property that returns the lldb.SBError that represents the error from the last time the variable value was calculated.''')
15548    summary = property(GetSummary, None, doc='''A read only property that returns the summary for this value as a string''')
15549    description = property(GetObjectDescription, None, doc='''A read only property that returns the language-specific description of this value as a string''')
15550    dynamic = property(__get_dynamic__, None, doc='''A read only property that returns an lldb.SBValue that is created by finding the dynamic type of this value.''')
15551    location = property(GetLocation, None, doc='''A read only property that returns the location of this value as a string.''')
15552    target = property(GetTarget, None, doc='''A read only property that returns the lldb.SBTarget that this value is associated with.''')
15553    process = property(GetProcess, None, doc='''A read only property that returns the lldb.SBProcess that this value is associated with, the returned value might be invalid and should be tested.''')
15554    thread = property(GetThread, None, doc='''A read only property that returns the lldb.SBThread that this value is associated with, the returned value might be invalid and should be tested.''')
15555    frame = property(GetFrame, None, doc='''A read only property that returns the lldb.SBFrame that this value is associated with, the returned value might be invalid and should be tested.''')
15556    num_children = property(GetNumChildren, None, doc='''A read only property that returns the number of child lldb.SBValues that this value has.''')
15557    unsigned = property(GetValueAsUnsigned, None, doc='''A read only property that returns the value of this SBValue as an usigned integer.''')
15558    signed = property(GetValueAsSigned, None, doc='''A read only property that returns the value of this SBValue as a signed integer.''')
15559
15560    def get_expr_path(self):
15561        s = SBStream()
15562        self.GetExpressionPath (s)
15563        return s.GetData()
15564
15565    path = property(get_expr_path, None, doc='''A read only property that returns the expression path that one can use to reach this value in an expression.''')
15566
15567    def synthetic_child_from_expression(self, name, expr, options=None):
15568        if options is None: options = lldb.SBExpressionOptions()
15569        child = self.CreateValueFromExpression(name, expr, options)
15570        child.SetSyntheticChildrenGenerated(True)
15571        return child
15572
15573    def synthetic_child_from_data(self, name, data, type):
15574        child = self.CreateValueFromData(name, data, type)
15575        child.SetSyntheticChildrenGenerated(True)
15576        return child
15577
15578    def synthetic_child_from_address(self, name, addr, type):
15579        child = self.CreateValueFromAddress(name, addr, type)
15580        child.SetSyntheticChildrenGenerated(True)
15581        return child
15582
15583    def __eol_test(val):
15584        """Default function for end of list test takes an SBValue object.
15585
15586        Return True if val is invalid or it corresponds to a null pointer.
15587        Otherwise, return False.
15588        """
15589        if not val or val.GetValueAsUnsigned() == 0:
15590            return True
15591        else:
15592            return False
15593
15594    # ==================================================
15595    # Iterator for lldb.SBValue treated as a linked list
15596    # ==================================================
15597    def linked_list_iter(self, next_item_name, end_of_list_test=__eol_test):
15598        """Generator adaptor to support iteration for SBValue as a linked list.
15599
15600        linked_list_iter() is a special purpose iterator to treat the SBValue as
15601        the head of a list data structure, where you specify the child member
15602        name which points to the next item on the list and you specify the
15603        end-of-list test function which takes an SBValue for an item and returns
15604        True if EOL is reached and False if not.
15605
15606        linked_list_iter() also detects infinite loop and bails out early.
15607
15608        The end_of_list_test arg, if omitted, defaults to the __eol_test
15609        function above.
15610
15611        For example,
15612
15613    # Get Frame #0.
15614        ...
15615
15616    # Get variable 'task_head'.
15617        task_head = frame0.FindVariable('task_head')
15618        ...
15619
15620        for t in task_head.linked_list_iter('next'):
15621            print t
15622        """
15623        if end_of_list_test(self):
15624            return
15625        item = self
15626        visited = set()
15627        try:
15628            while not end_of_list_test(item) and not item.GetValueAsUnsigned() in visited:
15629                visited.add(item.GetValueAsUnsigned())
15630                yield item
15631    # Prepare for the next iteration.
15632                item = item.GetChildMemberWithName(next_item_name)
15633        except:
15634    # Exception occurred.  Stop the generator.
15635            pass
15636
15637        return
15638
15639
15640# Register SBValue in _lldb:
15641_lldb.SBValue_swigregister(SBValue)
15642class SBValueList(object):
15643    r"""
15644    Represents a collection of SBValues.  Both :py:class:`SBFrame.GetVariables()` and
15645    :py:class:`SBFrame.GetRegisters()` return a SBValueList.
15646
15647    SBValueList supports :py:class:`SBValue` iteration. For example (from test/lldbutil.py),::
15648
15649        def get_registers(frame, kind):
15650            '''Returns the registers given the frame and the kind of registers desired.
15651
15652            Returns None if there's no such kind.
15653            '''
15654            registerSet = frame.GetRegisters() # Return type of SBValueList.
15655            for value in registerSet:
15656                if kind.lower() in value.GetName().lower():
15657                    return value
15658
15659            return None
15660
15661        def get_GPRs(frame):
15662            '''Returns the general purpose registers of the frame as an SBValue.
15663
15664            The returned SBValue object is iterable.  An example:
15665                ...
15666                from lldbutil import get_GPRs
15667                regs = get_GPRs(frame)
15668                for reg in regs:
15669                    print('%s => %s' % (reg.GetName(), reg.GetValue()))
15670                ...
15671            '''
15672            return get_registers(frame, 'general purpose')
15673
15674        def get_FPRs(frame):
15675            '''Returns the floating point registers of the frame as an SBValue.
15676
15677            The returned SBValue object is iterable.  An example:
15678                ...
15679                from lldbutil import get_FPRs
15680                regs = get_FPRs(frame)
15681                for reg in regs:
15682                    print('%s => %s' % (reg.GetName(), reg.GetValue()))
15683                ...
15684            '''
15685            return get_registers(frame, 'floating point')
15686
15687        def get_ESRs(frame):
15688            '''Returns the exception state registers of the frame as an SBValue.
15689
15690            The returned SBValue object is iterable.  An example:
15691                ...
15692                from lldbutil import get_ESRs
15693                regs = get_ESRs(frame)
15694                for reg in regs:
15695                    print('%s => %s' % (reg.GetName(), reg.GetValue()))
15696                ...
15697            '''
15698            return get_registers(frame, 'exception state')
15699
15700    """
15701
15702    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15703    __repr__ = _swig_repr
15704
15705    def __init__(self, *args):
15706        r"""
15707        __init__(SBValueList self) -> SBValueList
15708        __init__(SBValueList self, SBValueList rhs) -> SBValueList
15709        """
15710        _lldb.SBValueList_swiginit(self, _lldb.new_SBValueList(*args))
15711    __swig_destroy__ = _lldb.delete_SBValueList
15712
15713    def __nonzero__(self):
15714        return _lldb.SBValueList___nonzero__(self)
15715    __bool__ = __nonzero__
15716
15717
15718
15719    def IsValid(self):
15720        r"""IsValid(SBValueList self) -> bool"""
15721        return _lldb.SBValueList_IsValid(self)
15722
15723    def Clear(self):
15724        r"""Clear(SBValueList self)"""
15725        return _lldb.SBValueList_Clear(self)
15726
15727    def Append(self, *args):
15728        r"""
15729        Append(SBValueList self, SBValue val_obj)
15730        Append(SBValueList self, SBValueList value_list)
15731        """
15732        return _lldb.SBValueList_Append(self, *args)
15733
15734    def GetSize(self):
15735        r"""GetSize(SBValueList self) -> uint32_t"""
15736        return _lldb.SBValueList_GetSize(self)
15737
15738    def GetValueAtIndex(self, idx):
15739        r"""GetValueAtIndex(SBValueList self, uint32_t idx) -> SBValue"""
15740        return _lldb.SBValueList_GetValueAtIndex(self, idx)
15741
15742    def GetFirstValueByName(self, name):
15743        r"""GetFirstValueByName(SBValueList self, char const * name) -> SBValue"""
15744        return _lldb.SBValueList_GetFirstValueByName(self, name)
15745
15746    def FindValueObjectByUID(self, uid):
15747        r"""FindValueObjectByUID(SBValueList self, lldb::user_id_t uid) -> SBValue"""
15748        return _lldb.SBValueList_FindValueObjectByUID(self, uid)
15749
15750    def GetError(self):
15751        r"""GetError(SBValueList self) -> SBError"""
15752        return _lldb.SBValueList_GetError(self)
15753
15754    def __str__(self):
15755        r"""__str__(SBValueList self) -> std::string"""
15756        return _lldb.SBValueList___str__(self)
15757
15758    def __iter__(self):
15759        '''Iterate over all values in a lldb.SBValueList object.'''
15760        return lldb_iter(self, 'GetSize', 'GetValueAtIndex')
15761
15762    def __len__(self):
15763        return int(self.GetSize())
15764
15765    def __getitem__(self, key):
15766        count = len(self)
15767    #------------------------------------------------------------
15768    # Access with "int" to get Nth item in the list
15769    #------------------------------------------------------------
15770        if type(key) is int:
15771            if -count <= key < count:
15772                key %= count
15773                return self.GetValueAtIndex(key)
15774    #------------------------------------------------------------
15775    # Access with "str" to get values by name
15776    #------------------------------------------------------------
15777        elif type(key) is str:
15778            matches = []
15779            for idx in range(count):
15780                value = self.GetValueAtIndex(idx)
15781                if value.name == key:
15782                    matches.append(value)
15783            return matches
15784    #------------------------------------------------------------
15785    # Match with regex
15786    #------------------------------------------------------------
15787        elif isinstance(key, type(re.compile('.'))):
15788            matches = []
15789            for idx in range(count):
15790                value = self.GetValueAtIndex(idx)
15791                re_match = key.search(value.name)
15792                if re_match:
15793                    matches.append(value)
15794            return matches
15795
15796
15797
15798# Register SBValueList in _lldb:
15799_lldb.SBValueList_swigregister(SBValueList)
15800class SBVariablesOptions(object):
15801    r"""Describes which variables should be returned from :py:class:`SBFrame.GetVariables`."""
15802
15803    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15804    __repr__ = _swig_repr
15805
15806    def __init__(self, *args):
15807        r"""
15808        __init__(SBVariablesOptions self) -> SBVariablesOptions
15809        __init__(SBVariablesOptions self, SBVariablesOptions options) -> SBVariablesOptions
15810        """
15811        _lldb.SBVariablesOptions_swiginit(self, _lldb.new_SBVariablesOptions(*args))
15812    __swig_destroy__ = _lldb.delete_SBVariablesOptions
15813
15814    def __nonzero__(self):
15815        return _lldb.SBVariablesOptions___nonzero__(self)
15816    __bool__ = __nonzero__
15817
15818
15819
15820    def IsValid(self):
15821        r"""IsValid(SBVariablesOptions self) -> bool"""
15822        return _lldb.SBVariablesOptions_IsValid(self)
15823
15824    def GetIncludeArguments(self):
15825        r"""GetIncludeArguments(SBVariablesOptions self) -> bool"""
15826        return _lldb.SBVariablesOptions_GetIncludeArguments(self)
15827
15828    def SetIncludeArguments(self, arg2):
15829        r"""SetIncludeArguments(SBVariablesOptions self, bool arg2)"""
15830        return _lldb.SBVariablesOptions_SetIncludeArguments(self, arg2)
15831
15832    def GetIncludeRecognizedArguments(self, arg2):
15833        r"""GetIncludeRecognizedArguments(SBVariablesOptions self, SBTarget arg2) -> bool"""
15834        return _lldb.SBVariablesOptions_GetIncludeRecognizedArguments(self, arg2)
15835
15836    def SetIncludeRecognizedArguments(self, arg2):
15837        r"""SetIncludeRecognizedArguments(SBVariablesOptions self, bool arg2)"""
15838        return _lldb.SBVariablesOptions_SetIncludeRecognizedArguments(self, arg2)
15839
15840    def GetIncludeLocals(self):
15841        r"""GetIncludeLocals(SBVariablesOptions self) -> bool"""
15842        return _lldb.SBVariablesOptions_GetIncludeLocals(self)
15843
15844    def SetIncludeLocals(self, arg2):
15845        r"""SetIncludeLocals(SBVariablesOptions self, bool arg2)"""
15846        return _lldb.SBVariablesOptions_SetIncludeLocals(self, arg2)
15847
15848    def GetIncludeStatics(self):
15849        r"""GetIncludeStatics(SBVariablesOptions self) -> bool"""
15850        return _lldb.SBVariablesOptions_GetIncludeStatics(self)
15851
15852    def SetIncludeStatics(self, arg2):
15853        r"""SetIncludeStatics(SBVariablesOptions self, bool arg2)"""
15854        return _lldb.SBVariablesOptions_SetIncludeStatics(self, arg2)
15855
15856    def GetInScopeOnly(self):
15857        r"""GetInScopeOnly(SBVariablesOptions self) -> bool"""
15858        return _lldb.SBVariablesOptions_GetInScopeOnly(self)
15859
15860    def SetInScopeOnly(self, arg2):
15861        r"""SetInScopeOnly(SBVariablesOptions self, bool arg2)"""
15862        return _lldb.SBVariablesOptions_SetInScopeOnly(self, arg2)
15863
15864    def GetIncludeRuntimeSupportValues(self):
15865        r"""GetIncludeRuntimeSupportValues(SBVariablesOptions self) -> bool"""
15866        return _lldb.SBVariablesOptions_GetIncludeRuntimeSupportValues(self)
15867
15868    def SetIncludeRuntimeSupportValues(self, arg2):
15869        r"""SetIncludeRuntimeSupportValues(SBVariablesOptions self, bool arg2)"""
15870        return _lldb.SBVariablesOptions_SetIncludeRuntimeSupportValues(self, arg2)
15871
15872    def GetUseDynamic(self):
15873        r"""GetUseDynamic(SBVariablesOptions self) -> lldb::DynamicValueType"""
15874        return _lldb.SBVariablesOptions_GetUseDynamic(self)
15875
15876    def SetUseDynamic(self, arg2):
15877        r"""SetUseDynamic(SBVariablesOptions self, lldb::DynamicValueType arg2)"""
15878        return _lldb.SBVariablesOptions_SetUseDynamic(self, arg2)
15879
15880# Register SBVariablesOptions in _lldb:
15881_lldb.SBVariablesOptions_swigregister(SBVariablesOptions)
15882class SBWatchpoint(object):
15883    r"""
15884    Represents an instance of watchpoint for a specific target program.
15885
15886    A watchpoint is determined by the address and the byte size that resulted in
15887    this particular instantiation.  Each watchpoint has its settable options.
15888
15889    See also :py:class:`SBTarget.watchpoint_iter()` for example usage of iterating through the
15890    watchpoints of the target.
15891    """
15892
15893    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15894
15895    def __init__(self, *args):
15896        r"""
15897        __init__(SBWatchpoint self) -> SBWatchpoint
15898        __init__(SBWatchpoint self, SBWatchpoint rhs) -> SBWatchpoint
15899        """
15900        _lldb.SBWatchpoint_swiginit(self, _lldb.new_SBWatchpoint(*args))
15901    __swig_destroy__ = _lldb.delete_SBWatchpoint
15902
15903    def __nonzero__(self):
15904        return _lldb.SBWatchpoint___nonzero__(self)
15905    __bool__ = __nonzero__
15906
15907
15908
15909    def __eq__(self, rhs):
15910        r"""__eq__(SBWatchpoint self, SBWatchpoint rhs) -> bool"""
15911        return _lldb.SBWatchpoint___eq__(self, rhs)
15912
15913    def __ne__(self, rhs):
15914        r"""__ne__(SBWatchpoint self, SBWatchpoint rhs) -> bool"""
15915        return _lldb.SBWatchpoint___ne__(self, rhs)
15916
15917    def IsValid(self):
15918        r"""IsValid(SBWatchpoint self) -> bool"""
15919        return _lldb.SBWatchpoint_IsValid(self)
15920
15921    def GetError(self):
15922        r"""GetError(SBWatchpoint self) -> SBError"""
15923        return _lldb.SBWatchpoint_GetError(self)
15924
15925    def GetID(self):
15926        r"""GetID(SBWatchpoint self) -> lldb::watch_id_t"""
15927        return _lldb.SBWatchpoint_GetID(self)
15928
15929    def GetHardwareIndex(self):
15930        r"""
15931        GetHardwareIndex(SBWatchpoint self) -> int32_t
15932
15933            Deprecated.  Previously: Return the hardware index of the
15934            watchpoint register.  Now: -1 is always returned.
15935        """
15936        return _lldb.SBWatchpoint_GetHardwareIndex(self)
15937
15938    def GetWatchAddress(self):
15939        r"""GetWatchAddress(SBWatchpoint self) -> lldb::addr_t"""
15940        return _lldb.SBWatchpoint_GetWatchAddress(self)
15941
15942    def GetWatchSize(self):
15943        r"""GetWatchSize(SBWatchpoint self) -> size_t"""
15944        return _lldb.SBWatchpoint_GetWatchSize(self)
15945
15946    def SetEnabled(self, enabled):
15947        r"""SetEnabled(SBWatchpoint self, bool enabled)"""
15948        return _lldb.SBWatchpoint_SetEnabled(self, enabled)
15949
15950    def IsEnabled(self):
15951        r"""IsEnabled(SBWatchpoint self) -> bool"""
15952        return _lldb.SBWatchpoint_IsEnabled(self)
15953
15954    def GetHitCount(self):
15955        r"""GetHitCount(SBWatchpoint self) -> uint32_t"""
15956        return _lldb.SBWatchpoint_GetHitCount(self)
15957
15958    def GetIgnoreCount(self):
15959        r"""GetIgnoreCount(SBWatchpoint self) -> uint32_t"""
15960        return _lldb.SBWatchpoint_GetIgnoreCount(self)
15961
15962    def SetIgnoreCount(self, n):
15963        r"""SetIgnoreCount(SBWatchpoint self, uint32_t n)"""
15964        return _lldb.SBWatchpoint_SetIgnoreCount(self, n)
15965
15966    def GetCondition(self):
15967        r"""
15968        GetCondition(SBWatchpoint self) -> char const *
15969
15970            Get the condition expression for the watchpoint.
15971        """
15972        return _lldb.SBWatchpoint_GetCondition(self)
15973
15974    def SetCondition(self, condition):
15975        r"""
15976        SetCondition(SBWatchpoint self, char const * condition)
15977
15978            The watchpoint stops only if the condition expression evaluates to true.
15979        """
15980        return _lldb.SBWatchpoint_SetCondition(self, condition)
15981
15982    def GetDescription(self, description, level):
15983        r"""GetDescription(SBWatchpoint self, SBStream description, lldb::DescriptionLevel level) -> bool"""
15984        return _lldb.SBWatchpoint_GetDescription(self, description, level)
15985
15986    def Clear(self):
15987        r"""Clear(SBWatchpoint self)"""
15988        return _lldb.SBWatchpoint_Clear(self)
15989
15990    @staticmethod
15991    def EventIsWatchpointEvent(event):
15992        r"""EventIsWatchpointEvent(SBEvent event) -> bool"""
15993        return _lldb.SBWatchpoint_EventIsWatchpointEvent(event)
15994
15995    @staticmethod
15996    def GetWatchpointEventTypeFromEvent(event):
15997        r"""GetWatchpointEventTypeFromEvent(SBEvent event) -> lldb::WatchpointEventType"""
15998        return _lldb.SBWatchpoint_GetWatchpointEventTypeFromEvent(event)
15999
16000    @staticmethod
16001    def GetWatchpointFromEvent(event):
16002        r"""GetWatchpointFromEvent(SBEvent event) -> SBWatchpoint"""
16003        return _lldb.SBWatchpoint_GetWatchpointFromEvent(event)
16004
16005    def GetType(self):
16006        r"""
16007        GetType(SBWatchpoint self) -> SBType
16008
16009            Returns the type recorded when the watchpoint was created. For variable
16010            watchpoints it is the type of the watched variable. For expression
16011            watchpoints it is the type of the provided expression.
16012        """
16013        return _lldb.SBWatchpoint_GetType(self)
16014
16015    def GetWatchValueKind(self):
16016        r"""
16017        GetWatchValueKind(SBWatchpoint self) -> lldb::WatchpointValueKind
16018
16019            Returns the kind of value that was watched when the watchpoint was created.
16020            Returns one of the following eWatchPointValueKindVariable,
16021            eWatchPointValueKindExpression, eWatchPointValueKindInvalid.
16022
16023        """
16024        return _lldb.SBWatchpoint_GetWatchValueKind(self)
16025
16026    def GetWatchSpec(self):
16027        r"""
16028        GetWatchSpec(SBWatchpoint self) -> char const *
16029
16030            Get the spec for the watchpoint. For variable watchpoints this is the name
16031            of the variable. For expression watchpoints it is empty
16032            (may change in the future).
16033        """
16034        return _lldb.SBWatchpoint_GetWatchSpec(self)
16035
16036    def IsWatchingReads(self):
16037        r"""
16038        IsWatchingReads(SBWatchpoint self) -> bool
16039
16040            Returns true if the watchpoint is watching reads. Returns false otherwise.
16041        """
16042        return _lldb.SBWatchpoint_IsWatchingReads(self)
16043
16044    def IsWatchingWrites(self):
16045        r"""
16046        IsWatchingWrites(SBWatchpoint self) -> bool
16047
16048            Returns true if the watchpoint is watching writes. Returns false otherwise.
16049        """
16050        return _lldb.SBWatchpoint_IsWatchingWrites(self)
16051
16052    def __repr__(self):
16053        r"""__repr__(SBWatchpoint self) -> std::string"""
16054        return _lldb.SBWatchpoint___repr__(self)
16055
16056          # operator== is a free function, which swig does not handle, so we inject
16057          # our own equality operator here
16058    def __eq__(self, other):
16059      return not self.__ne__(other)
16060
16061    def __hex__(self):
16062      return self.GetWatchAddress()
16063
16064    def __len__(self):
16065      return self.GetWatchSize()
16066
16067
16068# Register SBWatchpoint in _lldb:
16069_lldb.SBWatchpoint_swigregister(SBWatchpoint)
16070class SBWatchpointOptions(object):
16071    r"""A container for options to use when creating watchpoints."""
16072
16073    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16074    __repr__ = _swig_repr
16075
16076    def __init__(self, *args):
16077        r"""
16078        __init__(SBWatchpointOptions self) -> SBWatchpointOptions
16079        __init__(SBWatchpointOptions self, SBWatchpointOptions rhs) -> SBWatchpointOptions
16080        """
16081        _lldb.SBWatchpointOptions_swiginit(self, _lldb.new_SBWatchpointOptions(*args))
16082    __swig_destroy__ = _lldb.delete_SBWatchpointOptions
16083
16084    def SetWatchpointTypeRead(self, read):
16085        r"""
16086        SetWatchpointTypeRead(SBWatchpointOptions self, bool read)
16087        Sets whether the watchpoint should stop on read accesses.
16088        """
16089        return _lldb.SBWatchpointOptions_SetWatchpointTypeRead(self, read)
16090
16091    def GetWatchpointTypeRead(self):
16092        r"""
16093        GetWatchpointTypeRead(SBWatchpointOptions self) -> bool
16094        Gets whether the watchpoint should stop on read accesses.
16095        """
16096        return _lldb.SBWatchpointOptions_GetWatchpointTypeRead(self)
16097
16098    def SetWatchpointTypeWrite(self, write_type):
16099        r"""
16100        SetWatchpointTypeWrite(SBWatchpointOptions self, lldb::WatchpointWriteType write_type)
16101        Sets whether the watchpoint should stop on write accesses. eWatchpointWriteTypeOnModify is the most commonly useful mode, where lldb will stop when the watched value has changed. eWatchpointWriteTypeAlways will stop on any write to the watched region, even if it's the value is the same.
16102        """
16103        return _lldb.SBWatchpointOptions_SetWatchpointTypeWrite(self, write_type)
16104
16105    def GetWatchpointTypeWrite(self):
16106        r"""
16107        GetWatchpointTypeWrite(SBWatchpointOptions self) -> lldb::WatchpointWriteType
16108        Gets whether the watchpoint should stop on write accesses, returning WatchpointWriteType to indicate the type of write watching that is enabled, or eWatchpointWriteTypeDisabled.
16109        """
16110        return _lldb.SBWatchpointOptions_GetWatchpointTypeWrite(self)
16111
16112# Register SBWatchpointOptions in _lldb:
16113_lldb.SBWatchpointOptions_swigregister(SBWatchpointOptions)
16114
16115# ==================================
16116# Helper function for SBModule class
16117# ==================================
16118def in_range(symbol, section):
16119    """Test whether a symbol is within the range of a section."""
16120    symSA = symbol.GetStartAddress().GetFileAddress()
16121    symEA = symbol.GetEndAddress().GetFileAddress()
16122    secSA = section.GetFileAddress()
16123    secEA = secSA + section.GetByteSize()
16124
16125    if symEA != LLDB_INVALID_ADDRESS:
16126        if secSA <= symSA and symEA <= secEA:
16127            return True
16128        else:
16129            return False
16130    else:
16131        if secSA <= symSA and symSA < secEA:
16132            return True
16133        else:
16134            return False
16135
16136
16137
16138def command(command_name=None, doc=None):
16139    import lldb
16140    """A decorator function that registers an LLDB command line
16141        command that is bound to the function it is attached to."""
16142    def callable(function):
16143        """Registers an lldb command for the decorated function."""
16144        command = "command script add -f %s.%s %s" % (function.__module__, function.__name__, command_name or function.__name__)
16145        lldb.debugger.HandleCommand(command)
16146        if doc:
16147            function.__doc__ = doc
16148        return function
16149
16150    return callable
16151
16152class declaration(object):
16153    '''A class that represents a source declaration location with file, line and column.'''
16154    def __init__(self, file, line, col):
16155        self.file = file
16156        self.line = line
16157        self.col = col
16158
16159class value_iter(object):
16160    '''Allows iterating over the children of an :py:class:`SBValue`.'''
16161    def __iter__(self):
16162        return self
16163
16164    def __next__(self):
16165        if self.index >= self.length:
16166            raise StopIteration()
16167        child_sbvalue = self.sbvalue.GetChildAtIndex(self.index)
16168        self.index += 1
16169        return value(child_sbvalue)
16170
16171    def next(self):
16172        return self.__next__()
16173
16174    def __eq__(self, other):
16175        return not self.__ne__(other)
16176
16177    def __len__(self):
16178        return self.length
16179
16180    def __init__(self,value):
16181        self.index = 0
16182        self.length = 0
16183        self.sbvalue = value
16184        if type(self.sbvalue) is value:
16185            self.sbvalue = self.sbvalue.sbvalue
16186        self.length = self.sbvalue.GetNumChildren()
16187
16188class value(object):
16189    '''Wraps :py:class:`SBValue` objects so the resulting object can be used as a variable would be in code.
16190
16191    So if you have a Point structure variable in your code in the current frame named "pt",
16192    you can initialize an instance of this class with it: ::
16193
16194        pt = lldb.value(lldb.frame.FindVariable("pt"))
16195        print pt
16196        print pt.x
16197        print pt.y
16198
16199        pt = lldb.value(lldb.frame.FindVariable("rectangle_array"))
16200        print rectangle_array[12]
16201        print rectangle_array[5].origin.x'''
16202    def __init__(self, sbvalue):
16203        self.sbvalue = sbvalue
16204
16205    def __nonzero__(self):
16206        return self.sbvalue.__nonzero__()
16207
16208    def __bool__(self):
16209        return self.sbvalue.__bool__()
16210
16211    def __str__(self):
16212        return self.sbvalue.__str__()
16213
16214    def __getitem__(self, key):
16215# Allow array access if this value has children...
16216        if type(key) is value:
16217            key = int(key)
16218        if type(key) is int:
16219            child_sbvalue = (self.sbvalue.GetValueForExpressionPath("[%i]" % key))
16220            if child_sbvalue and child_sbvalue.IsValid():
16221                return value(child_sbvalue)
16222            raise IndexError("Index '%d' is out of range" % key)
16223        raise TypeError("No array item of type %s" % str(type(key)))
16224
16225    def __iter__(self):
16226        return value_iter(self.sbvalue)
16227
16228    def __getattr__(self, name):
16229        child_sbvalue = self.sbvalue.GetChildMemberWithName (name)
16230        if child_sbvalue and child_sbvalue.IsValid():
16231            return value(child_sbvalue)
16232        raise AttributeError("Attribute '%s' is not defined" % name)
16233
16234    def __add__(self, other):
16235        return int(self) + int(other)
16236
16237    def __sub__(self, other):
16238        return int(self) - int(other)
16239
16240    def __mul__(self, other):
16241        return int(self) * int(other)
16242
16243    def __floordiv__(self, other):
16244        return int(self) // int(other)
16245
16246    def __mod__(self, other):
16247        return int(self) % int(other)
16248
16249    def __divmod__(self, other):
16250        return int(self) % int(other)
16251
16252    def __pow__(self, other):
16253        return int(self) ** int(other)
16254
16255    def __lshift__(self, other):
16256        return int(self) << int(other)
16257
16258    def __rshift__(self, other):
16259        return int(self) >> int(other)
16260
16261    def __and__(self, other):
16262        return int(self) & int(other)
16263
16264    def __xor__(self, other):
16265        return int(self) ^ int(other)
16266
16267    def __or__(self, other):
16268        return int(self) | int(other)
16269
16270    def __div__(self, other):
16271        return int(self) / int(other)
16272
16273    def __truediv__(self, other):
16274        return int(self) / int(other)
16275
16276    def __iadd__(self, other):
16277        result = self.__add__(other)
16278        self.sbvalue.SetValueFromCString (str(result))
16279        return result
16280
16281    def __isub__(self, other):
16282        result = self.__sub__(other)
16283        self.sbvalue.SetValueFromCString (str(result))
16284        return result
16285
16286    def __imul__(self, other):
16287        result = self.__mul__(other)
16288        self.sbvalue.SetValueFromCString (str(result))
16289        return result
16290
16291    def __idiv__(self, other):
16292        result = self.__div__(other)
16293        self.sbvalue.SetValueFromCString (str(result))
16294        return result
16295
16296    def __itruediv__(self, other):
16297        result = self.__truediv__(other)
16298        self.sbvalue.SetValueFromCString (str(result))
16299        return result
16300
16301    def __ifloordiv__(self, other):
16302        result =  self.__floordiv__(self, other)
16303        self.sbvalue.SetValueFromCString (str(result))
16304        return result
16305
16306    def __imod__(self, other):
16307        result =  self.__and__(self, other)
16308        self.sbvalue.SetValueFromCString (str(result))
16309        return result
16310
16311    def __ipow__(self, other):
16312        result = self.__pow__(self, other)
16313        self.sbvalue.SetValueFromCString (str(result))
16314        return result
16315
16316    def __ipow__(self, other, modulo):
16317        result = self.__pow__(self, other, modulo)
16318        self.sbvalue.SetValueFromCString (str(result))
16319        return result
16320
16321    def __ilshift__(self, other):
16322        result = self.__lshift__(other)
16323        self.sbvalue.SetValueFromCString (str(result))
16324        return result
16325
16326    def __irshift__(self, other):
16327        result =  self.__rshift__(other)
16328        self.sbvalue.SetValueFromCString (str(result))
16329        return result
16330
16331    def __iand__(self, other):
16332        result =  self.__and__(self, other)
16333        self.sbvalue.SetValueFromCString (str(result))
16334        return result
16335
16336    def __ixor__(self, other):
16337        result =  self.__xor__(self, other)
16338        self.sbvalue.SetValueFromCString (str(result))
16339        return result
16340
16341    def __ior__(self, other):
16342        result =  self.__ior__(self, other)
16343        self.sbvalue.SetValueFromCString (str(result))
16344        return result
16345
16346    def __neg__(self):
16347        return -int(self)
16348
16349    def __pos__(self):
16350        return +int(self)
16351
16352    def __abs__(self):
16353        return abs(int(self))
16354
16355    def __invert__(self):
16356        return ~int(self)
16357
16358    def __complex__(self):
16359        return complex (int(self))
16360
16361    def __int__(self):
16362        is_num,is_sign = is_numeric_type(self.sbvalue.GetType().GetCanonicalType().GetBasicType())
16363        if is_num and not is_sign: return self.sbvalue.GetValueAsUnsigned()
16364        return self.sbvalue.GetValueAsSigned()
16365
16366    def __long__(self):
16367        return self.__int__()
16368
16369    def __float__(self):
16370        return float (self.sbvalue.GetValueAsSigned())
16371
16372    def __oct__(self):
16373        return '0%o' % self.sbvalue.GetValueAsUnsigned()
16374
16375    def __hex__(self):
16376        return '0x%x' % self.sbvalue.GetValueAsUnsigned()
16377
16378    def __len__(self):
16379        return self.sbvalue.GetNumChildren()
16380
16381    def __eq__(self, other):
16382        if type(other) is int:
16383                return int(self) == other
16384        elif type(other) is str:
16385                return str(self) == other
16386        elif type(other) is value:
16387                self_err = SBError()
16388                other_err = SBError()
16389                self_val = self.sbvalue.GetValueAsUnsigned(self_err)
16390                if self_err.fail:
16391                        raise ValueError("unable to extract value of self")
16392                other_val = other.sbvalue.GetValueAsUnsigned(other_err)
16393                if other_err.fail:
16394                        raise ValueError("unable to extract value of other")
16395                return self_val == other_val
16396        raise TypeError("Unknown type %s, No equality operation defined." % str(type(other)))
16397
16398    def __ne__(self, other):
16399        return not self.__eq__(other)
16400
16401
16402
16403class SBSyntheticValueProvider(object):
16404    def __init__(self,valobj):
16405        pass
16406
16407    def num_children(self):
16408        return 0
16409
16410    def get_child_index(self,name):
16411        return None
16412
16413    def get_child_at_index(self,idx):
16414        return None
16415
16416    def update(self):
16417        pass
16418
16419    def has_children(self):
16420        return False
16421
16422    def __len__(self):
16423      return self.num_children()
16424
16425    def __iter__(self):
16426      '''Iterate over all children in a lldb.SBSyntheticValueProvider object.'''
16427      return lldb_iter(self, 'num_children', 'get_child_at_index')
16428
16429
16430
16431
16432# given an lldb.SBBasicType it returns a tuple
16433# (is_numeric, is_signed)
16434# the value of is_signed is undefined if is_numeric == false
16435def is_numeric_type(basic_type):
16436    if basic_type == eBasicTypeInvalid: return (False,False)
16437    if basic_type == eBasicTypeVoid: return (False,False)
16438    if basic_type == eBasicTypeChar: return (True,False)
16439    if basic_type == eBasicTypeSignedChar: return (True,True)
16440    if basic_type == eBasicTypeUnsignedChar: return (True,False)
16441    if basic_type == eBasicTypeWChar: return (True,False)
16442    if basic_type == eBasicTypeSignedWChar: return (True,True)
16443    if basic_type == eBasicTypeUnsignedWChar: return (True,False)
16444    if basic_type == eBasicTypeChar16: return (True,False)
16445    if basic_type == eBasicTypeChar32: return (True,False)
16446    if basic_type == eBasicTypeChar8: return (True,False)
16447    if basic_type == eBasicTypeShort: return (True,True)
16448    if basic_type == eBasicTypeUnsignedShort: return (True,False)
16449    if basic_type == eBasicTypeInt: return (True,True)
16450    if basic_type == eBasicTypeUnsignedInt: return (True,False)
16451    if basic_type == eBasicTypeLong: return (True,True)
16452    if basic_type == eBasicTypeUnsignedLong: return (True,False)
16453    if basic_type == eBasicTypeLongLong: return (True,True)
16454    if basic_type == eBasicTypeUnsignedLongLong: return (True,False)
16455    if basic_type == eBasicTypeInt128: return (True,True)
16456    if basic_type == eBasicTypeUnsignedInt128: return (True,False)
16457    if basic_type == eBasicTypeBool: return (False,False)
16458    if basic_type == eBasicTypeHalf: return (True,True)
16459    if basic_type == eBasicTypeFloat: return (True,True)
16460    if basic_type == eBasicTypeDouble: return (True,True)
16461    if basic_type == eBasicTypeLongDouble: return (True,True)
16462    if basic_type == eBasicTypeFloatComplex: return (True,True)
16463    if basic_type == eBasicTypeDoubleComplex: return (True,True)
16464    if basic_type == eBasicTypeLongDoubleComplex: return (True,True)
16465    if basic_type == eBasicTypeObjCID: return (False,False)
16466    if basic_type == eBasicTypeObjCClass: return (False,False)
16467    if basic_type == eBasicTypeObjCSel: return (False,False)
16468    if basic_type == eBasicTypeNullPtr: return (False,False)
16469#if basic_type == eBasicTypeOther:
16470    return (False,False)
16471
16472
16473
16474debugger_unique_id = 0
16475SBDebugger.Initialize()
16476debugger = None
16477target = None
16478process = None
16479thread = None
16480frame = None
16481
16482
16483