• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
466eStopReasonInterrupt = _lldb.eStopReasonInterrupt
467
468eReturnStatusInvalid = _lldb.eReturnStatusInvalid
469
470eReturnStatusSuccessFinishNoResult = _lldb.eReturnStatusSuccessFinishNoResult
471
472eReturnStatusSuccessFinishResult = _lldb.eReturnStatusSuccessFinishResult
473
474eReturnStatusSuccessContinuingNoResult = _lldb.eReturnStatusSuccessContinuingNoResult
475
476eReturnStatusSuccessContinuingResult = _lldb.eReturnStatusSuccessContinuingResult
477
478eReturnStatusStarted = _lldb.eReturnStatusStarted
479
480eReturnStatusFailed = _lldb.eReturnStatusFailed
481
482eReturnStatusQuit = _lldb.eReturnStatusQuit
483
484eExpressionCompleted = _lldb.eExpressionCompleted
485
486eExpressionSetupError = _lldb.eExpressionSetupError
487
488eExpressionParseError = _lldb.eExpressionParseError
489
490eExpressionDiscarded = _lldb.eExpressionDiscarded
491
492eExpressionInterrupted = _lldb.eExpressionInterrupted
493
494eExpressionHitBreakpoint = _lldb.eExpressionHitBreakpoint
495
496eExpressionTimedOut = _lldb.eExpressionTimedOut
497
498eExpressionResultUnavailable = _lldb.eExpressionResultUnavailable
499
500eExpressionStoppedForDebug = _lldb.eExpressionStoppedForDebug
501
502eExpressionThreadVanished = _lldb.eExpressionThreadVanished
503
504eSearchDepthInvalid = _lldb.eSearchDepthInvalid
505
506eSearchDepthTarget = _lldb.eSearchDepthTarget
507
508eSearchDepthModule = _lldb.eSearchDepthModule
509
510eSearchDepthCompUnit = _lldb.eSearchDepthCompUnit
511
512eSearchDepthFunction = _lldb.eSearchDepthFunction
513
514eSearchDepthBlock = _lldb.eSearchDepthBlock
515
516eSearchDepthAddress = _lldb.eSearchDepthAddress
517
518kLastSearchDepthKind = _lldb.kLastSearchDepthKind
519
520eConnectionStatusSuccess = _lldb.eConnectionStatusSuccess
521
522eConnectionStatusEndOfFile = _lldb.eConnectionStatusEndOfFile
523
524eConnectionStatusError = _lldb.eConnectionStatusError
525
526eConnectionStatusTimedOut = _lldb.eConnectionStatusTimedOut
527
528eConnectionStatusNoConnection = _lldb.eConnectionStatusNoConnection
529
530eConnectionStatusLostConnection = _lldb.eConnectionStatusLostConnection
531
532eConnectionStatusInterrupted = _lldb.eConnectionStatusInterrupted
533
534eErrorTypeInvalid = _lldb.eErrorTypeInvalid
535
536eErrorTypeGeneric = _lldb.eErrorTypeGeneric
537
538eErrorTypeMachKernel = _lldb.eErrorTypeMachKernel
539
540eErrorTypePOSIX = _lldb.eErrorTypePOSIX
541
542eErrorTypeExpression = _lldb.eErrorTypeExpression
543
544eErrorTypeWin32 = _lldb.eErrorTypeWin32
545
546eValueTypeInvalid = _lldb.eValueTypeInvalid
547
548eValueTypeVariableGlobal = _lldb.eValueTypeVariableGlobal
549
550eValueTypeVariableStatic = _lldb.eValueTypeVariableStatic
551
552eValueTypeVariableArgument = _lldb.eValueTypeVariableArgument
553
554eValueTypeVariableLocal = _lldb.eValueTypeVariableLocal
555
556eValueTypeRegister = _lldb.eValueTypeRegister
557
558eValueTypeRegisterSet = _lldb.eValueTypeRegisterSet
559
560eValueTypeConstResult = _lldb.eValueTypeConstResult
561
562eValueTypeVariableThreadLocal = _lldb.eValueTypeVariableThreadLocal
563
564eValueTypeVTable = _lldb.eValueTypeVTable
565
566eValueTypeVTableEntry = _lldb.eValueTypeVTableEntry
567
568eInputReaderGranularityInvalid = _lldb.eInputReaderGranularityInvalid
569
570eInputReaderGranularityByte = _lldb.eInputReaderGranularityByte
571
572eInputReaderGranularityWord = _lldb.eInputReaderGranularityWord
573
574eInputReaderGranularityLine = _lldb.eInputReaderGranularityLine
575
576eInputReaderGranularityAll = _lldb.eInputReaderGranularityAll
577
578eSymbolContextTarget = _lldb.eSymbolContextTarget
579
580eSymbolContextModule = _lldb.eSymbolContextModule
581
582eSymbolContextCompUnit = _lldb.eSymbolContextCompUnit
583
584eSymbolContextFunction = _lldb.eSymbolContextFunction
585
586eSymbolContextBlock = _lldb.eSymbolContextBlock
587
588eSymbolContextLineEntry = _lldb.eSymbolContextLineEntry
589
590eSymbolContextSymbol = _lldb.eSymbolContextSymbol
591
592eSymbolContextEverything = _lldb.eSymbolContextEverything
593
594eSymbolContextVariable = _lldb.eSymbolContextVariable
595
596eSymbolContextLastItem = _lldb.eSymbolContextLastItem
597
598ePermissionsWritable = _lldb.ePermissionsWritable
599
600ePermissionsReadable = _lldb.ePermissionsReadable
601
602ePermissionsExecutable = _lldb.ePermissionsExecutable
603
604eInputReaderActivate = _lldb.eInputReaderActivate
605
606eInputReaderAsynchronousOutputWritten = _lldb.eInputReaderAsynchronousOutputWritten
607
608eInputReaderReactivate = _lldb.eInputReaderReactivate
609
610eInputReaderDeactivate = _lldb.eInputReaderDeactivate
611
612eInputReaderGotToken = _lldb.eInputReaderGotToken
613
614eInputReaderInterrupt = _lldb.eInputReaderInterrupt
615
616eInputReaderEndOfFile = _lldb.eInputReaderEndOfFile
617
618eInputReaderDone = _lldb.eInputReaderDone
619
620eBreakpointEventTypeInvalidType = _lldb.eBreakpointEventTypeInvalidType
621
622eBreakpointEventTypeAdded = _lldb.eBreakpointEventTypeAdded
623
624eBreakpointEventTypeRemoved = _lldb.eBreakpointEventTypeRemoved
625
626eBreakpointEventTypeLocationsAdded = _lldb.eBreakpointEventTypeLocationsAdded
627
628eBreakpointEventTypeLocationsRemoved = _lldb.eBreakpointEventTypeLocationsRemoved
629
630eBreakpointEventTypeLocationsResolved = _lldb.eBreakpointEventTypeLocationsResolved
631
632eBreakpointEventTypeEnabled = _lldb.eBreakpointEventTypeEnabled
633
634eBreakpointEventTypeDisabled = _lldb.eBreakpointEventTypeDisabled
635
636eBreakpointEventTypeCommandChanged = _lldb.eBreakpointEventTypeCommandChanged
637
638eBreakpointEventTypeConditionChanged = _lldb.eBreakpointEventTypeConditionChanged
639
640eBreakpointEventTypeIgnoreChanged = _lldb.eBreakpointEventTypeIgnoreChanged
641
642eBreakpointEventTypeThreadChanged = _lldb.eBreakpointEventTypeThreadChanged
643
644eBreakpointEventTypeAutoContinueChanged = _lldb.eBreakpointEventTypeAutoContinueChanged
645
646eWatchpointEventTypeInvalidType = _lldb.eWatchpointEventTypeInvalidType
647
648eWatchpointEventTypeAdded = _lldb.eWatchpointEventTypeAdded
649
650eWatchpointEventTypeRemoved = _lldb.eWatchpointEventTypeRemoved
651
652eWatchpointEventTypeEnabled = _lldb.eWatchpointEventTypeEnabled
653
654eWatchpointEventTypeDisabled = _lldb.eWatchpointEventTypeDisabled
655
656eWatchpointEventTypeCommandChanged = _lldb.eWatchpointEventTypeCommandChanged
657
658eWatchpointEventTypeConditionChanged = _lldb.eWatchpointEventTypeConditionChanged
659
660eWatchpointEventTypeIgnoreChanged = _lldb.eWatchpointEventTypeIgnoreChanged
661
662eWatchpointEventTypeThreadChanged = _lldb.eWatchpointEventTypeThreadChanged
663
664eWatchpointEventTypeTypeChanged = _lldb.eWatchpointEventTypeTypeChanged
665
666eWatchpointWriteTypeDisabled = _lldb.eWatchpointWriteTypeDisabled
667
668eWatchpointWriteTypeAlways = _lldb.eWatchpointWriteTypeAlways
669
670eWatchpointWriteTypeOnModify = _lldb.eWatchpointWriteTypeOnModify
671
672eLanguageTypeUnknown = _lldb.eLanguageTypeUnknown
673
674eLanguageTypeC89 = _lldb.eLanguageTypeC89
675
676eLanguageTypeC = _lldb.eLanguageTypeC
677
678eLanguageTypeAda83 = _lldb.eLanguageTypeAda83
679
680eLanguageTypeC_plus_plus = _lldb.eLanguageTypeC_plus_plus
681
682eLanguageTypeCobol74 = _lldb.eLanguageTypeCobol74
683
684eLanguageTypeCobol85 = _lldb.eLanguageTypeCobol85
685
686eLanguageTypeFortran77 = _lldb.eLanguageTypeFortran77
687
688eLanguageTypeFortran90 = _lldb.eLanguageTypeFortran90
689
690eLanguageTypePascal83 = _lldb.eLanguageTypePascal83
691
692eLanguageTypeModula2 = _lldb.eLanguageTypeModula2
693
694eLanguageTypeJava = _lldb.eLanguageTypeJava
695
696eLanguageTypeC99 = _lldb.eLanguageTypeC99
697
698eLanguageTypeAda95 = _lldb.eLanguageTypeAda95
699
700eLanguageTypeFortran95 = _lldb.eLanguageTypeFortran95
701
702eLanguageTypePLI = _lldb.eLanguageTypePLI
703
704eLanguageTypeObjC = _lldb.eLanguageTypeObjC
705
706eLanguageTypeObjC_plus_plus = _lldb.eLanguageTypeObjC_plus_plus
707
708eLanguageTypeUPC = _lldb.eLanguageTypeUPC
709
710eLanguageTypeD = _lldb.eLanguageTypeD
711
712eLanguageTypePython = _lldb.eLanguageTypePython
713
714eLanguageTypeOpenCL = _lldb.eLanguageTypeOpenCL
715
716eLanguageTypeGo = _lldb.eLanguageTypeGo
717
718eLanguageTypeModula3 = _lldb.eLanguageTypeModula3
719
720eLanguageTypeHaskell = _lldb.eLanguageTypeHaskell
721
722eLanguageTypeC_plus_plus_03 = _lldb.eLanguageTypeC_plus_plus_03
723
724eLanguageTypeC_plus_plus_11 = _lldb.eLanguageTypeC_plus_plus_11
725
726eLanguageTypeOCaml = _lldb.eLanguageTypeOCaml
727
728eLanguageTypeRust = _lldb.eLanguageTypeRust
729
730eLanguageTypeC11 = _lldb.eLanguageTypeC11
731
732eLanguageTypeSwift = _lldb.eLanguageTypeSwift
733
734eLanguageTypeJulia = _lldb.eLanguageTypeJulia
735
736eLanguageTypeDylan = _lldb.eLanguageTypeDylan
737
738eLanguageTypeC_plus_plus_14 = _lldb.eLanguageTypeC_plus_plus_14
739
740eLanguageTypeFortran03 = _lldb.eLanguageTypeFortran03
741
742eLanguageTypeFortran08 = _lldb.eLanguageTypeFortran08
743
744eLanguageTypeRenderScript = _lldb.eLanguageTypeRenderScript
745
746eLanguageTypeBLISS = _lldb.eLanguageTypeBLISS
747
748eLanguageTypeKotlin = _lldb.eLanguageTypeKotlin
749
750eLanguageTypeZig = _lldb.eLanguageTypeZig
751
752eLanguageTypeCrystal = _lldb.eLanguageTypeCrystal
753
754eLanguageTypeC_plus_plus_17 = _lldb.eLanguageTypeC_plus_plus_17
755
756eLanguageTypeC_plus_plus_20 = _lldb.eLanguageTypeC_plus_plus_20
757
758eLanguageTypeC17 = _lldb.eLanguageTypeC17
759
760eLanguageTypeFortran18 = _lldb.eLanguageTypeFortran18
761
762eLanguageTypeAda2005 = _lldb.eLanguageTypeAda2005
763
764eLanguageTypeAda2012 = _lldb.eLanguageTypeAda2012
765
766eLanguageTypeHIP = _lldb.eLanguageTypeHIP
767
768eLanguageTypeAssembly = _lldb.eLanguageTypeAssembly
769
770eLanguageTypeC_sharp = _lldb.eLanguageTypeC_sharp
771
772eLanguageTypeMojo = _lldb.eLanguageTypeMojo
773
774eLanguageTypeMipsAssembler = _lldb.eLanguageTypeMipsAssembler
775
776eNumLanguageTypes = _lldb.eNumLanguageTypes
777
778eInstrumentationRuntimeTypeAddressSanitizer = _lldb.eInstrumentationRuntimeTypeAddressSanitizer
779
780eInstrumentationRuntimeTypeThreadSanitizer = _lldb.eInstrumentationRuntimeTypeThreadSanitizer
781
782eInstrumentationRuntimeTypeUndefinedBehaviorSanitizer = _lldb.eInstrumentationRuntimeTypeUndefinedBehaviorSanitizer
783
784eInstrumentationRuntimeTypeMainThreadChecker = _lldb.eInstrumentationRuntimeTypeMainThreadChecker
785
786eInstrumentationRuntimeTypeSwiftRuntimeReporting = _lldb.eInstrumentationRuntimeTypeSwiftRuntimeReporting
787
788eInstrumentationRuntimeTypeLibsanitizersAsan = _lldb.eInstrumentationRuntimeTypeLibsanitizersAsan
789
790eNumInstrumentationRuntimeTypes = _lldb.eNumInstrumentationRuntimeTypes
791
792eNoDynamicValues = _lldb.eNoDynamicValues
793
794eDynamicCanRunTarget = _lldb.eDynamicCanRunTarget
795
796eDynamicDontRunTarget = _lldb.eDynamicDontRunTarget
797
798eStopShowColumnAnsiOrCaret = _lldb.eStopShowColumnAnsiOrCaret
799
800eStopShowColumnAnsi = _lldb.eStopShowColumnAnsi
801
802eStopShowColumnCaret = _lldb.eStopShowColumnCaret
803
804eStopShowColumnNone = _lldb.eStopShowColumnNone
805
806eAccessNone = _lldb.eAccessNone
807
808eAccessPublic = _lldb.eAccessPublic
809
810eAccessPrivate = _lldb.eAccessPrivate
811
812eAccessProtected = _lldb.eAccessProtected
813
814eAccessPackage = _lldb.eAccessPackage
815
816eArgTypeAddress = _lldb.eArgTypeAddress
817
818eArgTypeAddressOrExpression = _lldb.eArgTypeAddressOrExpression
819
820eArgTypeAliasName = _lldb.eArgTypeAliasName
821
822eArgTypeAliasOptions = _lldb.eArgTypeAliasOptions
823
824eArgTypeArchitecture = _lldb.eArgTypeArchitecture
825
826eArgTypeBoolean = _lldb.eArgTypeBoolean
827
828eArgTypeBreakpointID = _lldb.eArgTypeBreakpointID
829
830eArgTypeBreakpointIDRange = _lldb.eArgTypeBreakpointIDRange
831
832eArgTypeBreakpointName = _lldb.eArgTypeBreakpointName
833
834eArgTypeByteSize = _lldb.eArgTypeByteSize
835
836eArgTypeClassName = _lldb.eArgTypeClassName
837
838eArgTypeCommandName = _lldb.eArgTypeCommandName
839
840eArgTypeCount = _lldb.eArgTypeCount
841
842eArgTypeDescriptionVerbosity = _lldb.eArgTypeDescriptionVerbosity
843
844eArgTypeDirectoryName = _lldb.eArgTypeDirectoryName
845
846eArgTypeDisassemblyFlavor = _lldb.eArgTypeDisassemblyFlavor
847
848eArgTypeEndAddress = _lldb.eArgTypeEndAddress
849
850eArgTypeExpression = _lldb.eArgTypeExpression
851
852eArgTypeExpressionPath = _lldb.eArgTypeExpressionPath
853
854eArgTypeExprFormat = _lldb.eArgTypeExprFormat
855
856eArgTypeFileLineColumn = _lldb.eArgTypeFileLineColumn
857
858eArgTypeFilename = _lldb.eArgTypeFilename
859
860eArgTypeFormat = _lldb.eArgTypeFormat
861
862eArgTypeFrameIndex = _lldb.eArgTypeFrameIndex
863
864eArgTypeFullName = _lldb.eArgTypeFullName
865
866eArgTypeFunctionName = _lldb.eArgTypeFunctionName
867
868eArgTypeFunctionOrSymbol = _lldb.eArgTypeFunctionOrSymbol
869
870eArgTypeGDBFormat = _lldb.eArgTypeGDBFormat
871
872eArgTypeHelpText = _lldb.eArgTypeHelpText
873
874eArgTypeIndex = _lldb.eArgTypeIndex
875
876eArgTypeLanguage = _lldb.eArgTypeLanguage
877
878eArgTypeLineNum = _lldb.eArgTypeLineNum
879
880eArgTypeLogCategory = _lldb.eArgTypeLogCategory
881
882eArgTypeLogChannel = _lldb.eArgTypeLogChannel
883
884eArgTypeMethod = _lldb.eArgTypeMethod
885
886eArgTypeName = _lldb.eArgTypeName
887
888eArgTypeNewPathPrefix = _lldb.eArgTypeNewPathPrefix
889
890eArgTypeNumLines = _lldb.eArgTypeNumLines
891
892eArgTypeNumberPerLine = _lldb.eArgTypeNumberPerLine
893
894eArgTypeOffset = _lldb.eArgTypeOffset
895
896eArgTypeOldPathPrefix = _lldb.eArgTypeOldPathPrefix
897
898eArgTypeOneLiner = _lldb.eArgTypeOneLiner
899
900eArgTypePath = _lldb.eArgTypePath
901
902eArgTypePermissionsNumber = _lldb.eArgTypePermissionsNumber
903
904eArgTypePermissionsString = _lldb.eArgTypePermissionsString
905
906eArgTypePid = _lldb.eArgTypePid
907
908eArgTypePlugin = _lldb.eArgTypePlugin
909
910eArgTypeProcessName = _lldb.eArgTypeProcessName
911
912eArgTypePythonClass = _lldb.eArgTypePythonClass
913
914eArgTypePythonFunction = _lldb.eArgTypePythonFunction
915
916eArgTypePythonScript = _lldb.eArgTypePythonScript
917
918eArgTypeQueueName = _lldb.eArgTypeQueueName
919
920eArgTypeRegisterName = _lldb.eArgTypeRegisterName
921
922eArgTypeRegularExpression = _lldb.eArgTypeRegularExpression
923
924eArgTypeRunArgs = _lldb.eArgTypeRunArgs
925
926eArgTypeRunMode = _lldb.eArgTypeRunMode
927
928eArgTypeScriptedCommandSynchronicity = _lldb.eArgTypeScriptedCommandSynchronicity
929
930eArgTypeScriptLang = _lldb.eArgTypeScriptLang
931
932eArgTypeSearchWord = _lldb.eArgTypeSearchWord
933
934eArgTypeSelector = _lldb.eArgTypeSelector
935
936eArgTypeSettingIndex = _lldb.eArgTypeSettingIndex
937
938eArgTypeSettingKey = _lldb.eArgTypeSettingKey
939
940eArgTypeSettingPrefix = _lldb.eArgTypeSettingPrefix
941
942eArgTypeSettingVariableName = _lldb.eArgTypeSettingVariableName
943
944eArgTypeShlibName = _lldb.eArgTypeShlibName
945
946eArgTypeSourceFile = _lldb.eArgTypeSourceFile
947
948eArgTypeSortOrder = _lldb.eArgTypeSortOrder
949
950eArgTypeStartAddress = _lldb.eArgTypeStartAddress
951
952eArgTypeSummaryString = _lldb.eArgTypeSummaryString
953
954eArgTypeSymbol = _lldb.eArgTypeSymbol
955
956eArgTypeThreadID = _lldb.eArgTypeThreadID
957
958eArgTypeThreadIndex = _lldb.eArgTypeThreadIndex
959
960eArgTypeThreadName = _lldb.eArgTypeThreadName
961
962eArgTypeTypeName = _lldb.eArgTypeTypeName
963
964eArgTypeUnsignedInteger = _lldb.eArgTypeUnsignedInteger
965
966eArgTypeUnixSignal = _lldb.eArgTypeUnixSignal
967
968eArgTypeVarName = _lldb.eArgTypeVarName
969
970eArgTypeValue = _lldb.eArgTypeValue
971
972eArgTypeWidth = _lldb.eArgTypeWidth
973
974eArgTypeNone = _lldb.eArgTypeNone
975
976eArgTypePlatform = _lldb.eArgTypePlatform
977
978eArgTypeWatchpointID = _lldb.eArgTypeWatchpointID
979
980eArgTypeWatchpointIDRange = _lldb.eArgTypeWatchpointIDRange
981
982eArgTypeWatchType = _lldb.eArgTypeWatchType
983
984eArgRawInput = _lldb.eArgRawInput
985
986eArgTypeCommand = _lldb.eArgTypeCommand
987
988eArgTypeColumnNum = _lldb.eArgTypeColumnNum
989
990eArgTypeModuleUUID = _lldb.eArgTypeModuleUUID
991
992eArgTypeSaveCoreStyle = _lldb.eArgTypeSaveCoreStyle
993
994eArgTypeLogHandler = _lldb.eArgTypeLogHandler
995
996eArgTypeSEDStylePair = _lldb.eArgTypeSEDStylePair
997
998eArgTypeRecognizerID = _lldb.eArgTypeRecognizerID
999
1000eArgTypeConnectURL = _lldb.eArgTypeConnectURL
1001
1002eArgTypeTargetID = _lldb.eArgTypeTargetID
1003
1004eArgTypeStopHookID = _lldb.eArgTypeStopHookID
1005
1006eArgTypeCompletionType = _lldb.eArgTypeCompletionType
1007
1008eArgTypeRemotePath = _lldb.eArgTypeRemotePath
1009
1010eArgTypeRemoteFilename = _lldb.eArgTypeRemoteFilename
1011
1012eArgTypeModule = _lldb.eArgTypeModule
1013
1014eArgTypeLastArg = _lldb.eArgTypeLastArg
1015
1016eSymbolTypeAny = _lldb.eSymbolTypeAny
1017
1018eSymbolTypeInvalid = _lldb.eSymbolTypeInvalid
1019
1020eSymbolTypeAbsolute = _lldb.eSymbolTypeAbsolute
1021
1022eSymbolTypeCode = _lldb.eSymbolTypeCode
1023
1024eSymbolTypeResolver = _lldb.eSymbolTypeResolver
1025
1026eSymbolTypeData = _lldb.eSymbolTypeData
1027
1028eSymbolTypeTrampoline = _lldb.eSymbolTypeTrampoline
1029
1030eSymbolTypeRuntime = _lldb.eSymbolTypeRuntime
1031
1032eSymbolTypeException = _lldb.eSymbolTypeException
1033
1034eSymbolTypeSourceFile = _lldb.eSymbolTypeSourceFile
1035
1036eSymbolTypeHeaderFile = _lldb.eSymbolTypeHeaderFile
1037
1038eSymbolTypeObjectFile = _lldb.eSymbolTypeObjectFile
1039
1040eSymbolTypeCommonBlock = _lldb.eSymbolTypeCommonBlock
1041
1042eSymbolTypeBlock = _lldb.eSymbolTypeBlock
1043
1044eSymbolTypeLocal = _lldb.eSymbolTypeLocal
1045
1046eSymbolTypeParam = _lldb.eSymbolTypeParam
1047
1048eSymbolTypeVariable = _lldb.eSymbolTypeVariable
1049
1050eSymbolTypeVariableType = _lldb.eSymbolTypeVariableType
1051
1052eSymbolTypeLineEntry = _lldb.eSymbolTypeLineEntry
1053
1054eSymbolTypeLineHeader = _lldb.eSymbolTypeLineHeader
1055
1056eSymbolTypeScopeBegin = _lldb.eSymbolTypeScopeBegin
1057
1058eSymbolTypeScopeEnd = _lldb.eSymbolTypeScopeEnd
1059
1060eSymbolTypeAdditional = _lldb.eSymbolTypeAdditional
1061
1062eSymbolTypeCompiler = _lldb.eSymbolTypeCompiler
1063
1064eSymbolTypeInstrumentation = _lldb.eSymbolTypeInstrumentation
1065
1066eSymbolTypeUndefined = _lldb.eSymbolTypeUndefined
1067
1068eSymbolTypeObjCClass = _lldb.eSymbolTypeObjCClass
1069
1070eSymbolTypeObjCMetaClass = _lldb.eSymbolTypeObjCMetaClass
1071
1072eSymbolTypeObjCIVar = _lldb.eSymbolTypeObjCIVar
1073
1074eSymbolTypeReExported = _lldb.eSymbolTypeReExported
1075
1076eSectionTypeInvalid = _lldb.eSectionTypeInvalid
1077
1078eSectionTypeCode = _lldb.eSectionTypeCode
1079
1080eSectionTypeContainer = _lldb.eSectionTypeContainer
1081
1082eSectionTypeData = _lldb.eSectionTypeData
1083
1084eSectionTypeDataCString = _lldb.eSectionTypeDataCString
1085
1086eSectionTypeDataCStringPointers = _lldb.eSectionTypeDataCStringPointers
1087
1088eSectionTypeDataSymbolAddress = _lldb.eSectionTypeDataSymbolAddress
1089
1090eSectionTypeData4 = _lldb.eSectionTypeData4
1091
1092eSectionTypeData8 = _lldb.eSectionTypeData8
1093
1094eSectionTypeData16 = _lldb.eSectionTypeData16
1095
1096eSectionTypeDataPointers = _lldb.eSectionTypeDataPointers
1097
1098eSectionTypeDebug = _lldb.eSectionTypeDebug
1099
1100eSectionTypeZeroFill = _lldb.eSectionTypeZeroFill
1101
1102eSectionTypeDataObjCMessageRefs = _lldb.eSectionTypeDataObjCMessageRefs
1103
1104eSectionTypeDataObjCCFStrings = _lldb.eSectionTypeDataObjCCFStrings
1105
1106eSectionTypeDWARFDebugAbbrev = _lldb.eSectionTypeDWARFDebugAbbrev
1107
1108eSectionTypeDWARFDebugAddr = _lldb.eSectionTypeDWARFDebugAddr
1109
1110eSectionTypeDWARFDebugAranges = _lldb.eSectionTypeDWARFDebugAranges
1111
1112eSectionTypeDWARFDebugCuIndex = _lldb.eSectionTypeDWARFDebugCuIndex
1113
1114eSectionTypeDWARFDebugFrame = _lldb.eSectionTypeDWARFDebugFrame
1115
1116eSectionTypeDWARFDebugInfo = _lldb.eSectionTypeDWARFDebugInfo
1117
1118eSectionTypeDWARFDebugLine = _lldb.eSectionTypeDWARFDebugLine
1119
1120eSectionTypeDWARFDebugLoc = _lldb.eSectionTypeDWARFDebugLoc
1121
1122eSectionTypeDWARFDebugMacInfo = _lldb.eSectionTypeDWARFDebugMacInfo
1123
1124eSectionTypeDWARFDebugMacro = _lldb.eSectionTypeDWARFDebugMacro
1125
1126eSectionTypeDWARFDebugPubNames = _lldb.eSectionTypeDWARFDebugPubNames
1127
1128eSectionTypeDWARFDebugPubTypes = _lldb.eSectionTypeDWARFDebugPubTypes
1129
1130eSectionTypeDWARFDebugRanges = _lldb.eSectionTypeDWARFDebugRanges
1131
1132eSectionTypeDWARFDebugStr = _lldb.eSectionTypeDWARFDebugStr
1133
1134eSectionTypeDWARFDebugStrOffsets = _lldb.eSectionTypeDWARFDebugStrOffsets
1135
1136eSectionTypeDWARFAppleNames = _lldb.eSectionTypeDWARFAppleNames
1137
1138eSectionTypeDWARFAppleTypes = _lldb.eSectionTypeDWARFAppleTypes
1139
1140eSectionTypeDWARFAppleNamespaces = _lldb.eSectionTypeDWARFAppleNamespaces
1141
1142eSectionTypeDWARFAppleObjC = _lldb.eSectionTypeDWARFAppleObjC
1143
1144eSectionTypeELFSymbolTable = _lldb.eSectionTypeELFSymbolTable
1145
1146eSectionTypeELFDynamicSymbols = _lldb.eSectionTypeELFDynamicSymbols
1147
1148eSectionTypeELFRelocationEntries = _lldb.eSectionTypeELFRelocationEntries
1149
1150eSectionTypeELFDynamicLinkInfo = _lldb.eSectionTypeELFDynamicLinkInfo
1151
1152eSectionTypeEHFrame = _lldb.eSectionTypeEHFrame
1153
1154eSectionTypeARMexidx = _lldb.eSectionTypeARMexidx
1155
1156eSectionTypeARMextab = _lldb.eSectionTypeARMextab
1157
1158eSectionTypeCompactUnwind = _lldb.eSectionTypeCompactUnwind
1159
1160eSectionTypeGoSymtab = _lldb.eSectionTypeGoSymtab
1161
1162eSectionTypeAbsoluteAddress = _lldb.eSectionTypeAbsoluteAddress
1163
1164eSectionTypeDWARFGNUDebugAltLink = _lldb.eSectionTypeDWARFGNUDebugAltLink
1165
1166eSectionTypeDWARFDebugTypes = _lldb.eSectionTypeDWARFDebugTypes
1167
1168eSectionTypeDWARFDebugNames = _lldb.eSectionTypeDWARFDebugNames
1169
1170eSectionTypeOther = _lldb.eSectionTypeOther
1171
1172eSectionTypeDWARFDebugLineStr = _lldb.eSectionTypeDWARFDebugLineStr
1173
1174eSectionTypeDWARFDebugRngLists = _lldb.eSectionTypeDWARFDebugRngLists
1175
1176eSectionTypeDWARFDebugLocLists = _lldb.eSectionTypeDWARFDebugLocLists
1177
1178eSectionTypeDWARFDebugAbbrevDwo = _lldb.eSectionTypeDWARFDebugAbbrevDwo
1179
1180eSectionTypeDWARFDebugInfoDwo = _lldb.eSectionTypeDWARFDebugInfoDwo
1181
1182eSectionTypeDWARFDebugStrDwo = _lldb.eSectionTypeDWARFDebugStrDwo
1183
1184eSectionTypeDWARFDebugStrOffsetsDwo = _lldb.eSectionTypeDWARFDebugStrOffsetsDwo
1185
1186eSectionTypeDWARFDebugTypesDwo = _lldb.eSectionTypeDWARFDebugTypesDwo
1187
1188eSectionTypeDWARFDebugRngListsDwo = _lldb.eSectionTypeDWARFDebugRngListsDwo
1189
1190eSectionTypeDWARFDebugLocDwo = _lldb.eSectionTypeDWARFDebugLocDwo
1191
1192eSectionTypeDWARFDebugLocListsDwo = _lldb.eSectionTypeDWARFDebugLocListsDwo
1193
1194eSectionTypeDWARFDebugTuIndex = _lldb.eSectionTypeDWARFDebugTuIndex
1195
1196eSectionTypeCTF = _lldb.eSectionTypeCTF
1197
1198eSectionTypeSwiftModules = _lldb.eSectionTypeSwiftModules
1199
1200eEmulateInstructionOptionNone = _lldb.eEmulateInstructionOptionNone
1201
1202eEmulateInstructionOptionAutoAdvancePC = _lldb.eEmulateInstructionOptionAutoAdvancePC
1203
1204eEmulateInstructionOptionIgnoreConditions = _lldb.eEmulateInstructionOptionIgnoreConditions
1205
1206eFunctionNameTypeNone = _lldb.eFunctionNameTypeNone
1207
1208eFunctionNameTypeAuto = _lldb.eFunctionNameTypeAuto
1209
1210eFunctionNameTypeFull = _lldb.eFunctionNameTypeFull
1211
1212eFunctionNameTypeBase = _lldb.eFunctionNameTypeBase
1213
1214eFunctionNameTypeMethod = _lldb.eFunctionNameTypeMethod
1215
1216eFunctionNameTypeSelector = _lldb.eFunctionNameTypeSelector
1217
1218eFunctionNameTypeAny = _lldb.eFunctionNameTypeAny
1219
1220eBasicTypeInvalid = _lldb.eBasicTypeInvalid
1221
1222eBasicTypeVoid = _lldb.eBasicTypeVoid
1223
1224eBasicTypeChar = _lldb.eBasicTypeChar
1225
1226eBasicTypeSignedChar = _lldb.eBasicTypeSignedChar
1227
1228eBasicTypeUnsignedChar = _lldb.eBasicTypeUnsignedChar
1229
1230eBasicTypeWChar = _lldb.eBasicTypeWChar
1231
1232eBasicTypeSignedWChar = _lldb.eBasicTypeSignedWChar
1233
1234eBasicTypeUnsignedWChar = _lldb.eBasicTypeUnsignedWChar
1235
1236eBasicTypeChar16 = _lldb.eBasicTypeChar16
1237
1238eBasicTypeChar32 = _lldb.eBasicTypeChar32
1239
1240eBasicTypeChar8 = _lldb.eBasicTypeChar8
1241
1242eBasicTypeShort = _lldb.eBasicTypeShort
1243
1244eBasicTypeUnsignedShort = _lldb.eBasicTypeUnsignedShort
1245
1246eBasicTypeInt = _lldb.eBasicTypeInt
1247
1248eBasicTypeUnsignedInt = _lldb.eBasicTypeUnsignedInt
1249
1250eBasicTypeLong = _lldb.eBasicTypeLong
1251
1252eBasicTypeUnsignedLong = _lldb.eBasicTypeUnsignedLong
1253
1254eBasicTypeLongLong = _lldb.eBasicTypeLongLong
1255
1256eBasicTypeUnsignedLongLong = _lldb.eBasicTypeUnsignedLongLong
1257
1258eBasicTypeInt128 = _lldb.eBasicTypeInt128
1259
1260eBasicTypeUnsignedInt128 = _lldb.eBasicTypeUnsignedInt128
1261
1262eBasicTypeBool = _lldb.eBasicTypeBool
1263
1264eBasicTypeHalf = _lldb.eBasicTypeHalf
1265
1266eBasicTypeFloat = _lldb.eBasicTypeFloat
1267
1268eBasicTypeDouble = _lldb.eBasicTypeDouble
1269
1270eBasicTypeLongDouble = _lldb.eBasicTypeLongDouble
1271
1272eBasicTypeFloatComplex = _lldb.eBasicTypeFloatComplex
1273
1274eBasicTypeDoubleComplex = _lldb.eBasicTypeDoubleComplex
1275
1276eBasicTypeLongDoubleComplex = _lldb.eBasicTypeLongDoubleComplex
1277
1278eBasicTypeObjCID = _lldb.eBasicTypeObjCID
1279
1280eBasicTypeObjCClass = _lldb.eBasicTypeObjCClass
1281
1282eBasicTypeObjCSel = _lldb.eBasicTypeObjCSel
1283
1284eBasicTypeNullPtr = _lldb.eBasicTypeNullPtr
1285
1286eBasicTypeOther = _lldb.eBasicTypeOther
1287
1288eTraceTypeNone = _lldb.eTraceTypeNone
1289
1290eTraceTypeProcessorTrace = _lldb.eTraceTypeProcessorTrace
1291
1292eStructuredDataTypeInvalid = _lldb.eStructuredDataTypeInvalid
1293
1294eStructuredDataTypeNull = _lldb.eStructuredDataTypeNull
1295
1296eStructuredDataTypeGeneric = _lldb.eStructuredDataTypeGeneric
1297
1298eStructuredDataTypeArray = _lldb.eStructuredDataTypeArray
1299
1300eStructuredDataTypeInteger = _lldb.eStructuredDataTypeInteger
1301
1302eStructuredDataTypeFloat = _lldb.eStructuredDataTypeFloat
1303
1304eStructuredDataTypeBoolean = _lldb.eStructuredDataTypeBoolean
1305
1306eStructuredDataTypeString = _lldb.eStructuredDataTypeString
1307
1308eStructuredDataTypeDictionary = _lldb.eStructuredDataTypeDictionary
1309
1310eStructuredDataTypeSignedInteger = _lldb.eStructuredDataTypeSignedInteger
1311
1312eStructuredDataTypeUnsignedInteger = _lldb.eStructuredDataTypeUnsignedInteger
1313
1314eTypeClassInvalid = _lldb.eTypeClassInvalid
1315
1316eTypeClassArray = _lldb.eTypeClassArray
1317
1318eTypeClassBlockPointer = _lldb.eTypeClassBlockPointer
1319
1320eTypeClassBuiltin = _lldb.eTypeClassBuiltin
1321
1322eTypeClassClass = _lldb.eTypeClassClass
1323
1324eTypeClassComplexFloat = _lldb.eTypeClassComplexFloat
1325
1326eTypeClassComplexInteger = _lldb.eTypeClassComplexInteger
1327
1328eTypeClassEnumeration = _lldb.eTypeClassEnumeration
1329
1330eTypeClassFunction = _lldb.eTypeClassFunction
1331
1332eTypeClassMemberPointer = _lldb.eTypeClassMemberPointer
1333
1334eTypeClassObjCObject = _lldb.eTypeClassObjCObject
1335
1336eTypeClassObjCInterface = _lldb.eTypeClassObjCInterface
1337
1338eTypeClassObjCObjectPointer = _lldb.eTypeClassObjCObjectPointer
1339
1340eTypeClassPointer = _lldb.eTypeClassPointer
1341
1342eTypeClassReference = _lldb.eTypeClassReference
1343
1344eTypeClassStruct = _lldb.eTypeClassStruct
1345
1346eTypeClassTypedef = _lldb.eTypeClassTypedef
1347
1348eTypeClassUnion = _lldb.eTypeClassUnion
1349
1350eTypeClassVector = _lldb.eTypeClassVector
1351
1352eTypeClassOther = _lldb.eTypeClassOther
1353
1354eTypeClassAny = _lldb.eTypeClassAny
1355
1356eTemplateArgumentKindNull = _lldb.eTemplateArgumentKindNull
1357
1358eTemplateArgumentKindType = _lldb.eTemplateArgumentKindType
1359
1360eTemplateArgumentKindDeclaration = _lldb.eTemplateArgumentKindDeclaration
1361
1362eTemplateArgumentKindIntegral = _lldb.eTemplateArgumentKindIntegral
1363
1364eTemplateArgumentKindTemplate = _lldb.eTemplateArgumentKindTemplate
1365
1366eTemplateArgumentKindTemplateExpansion = _lldb.eTemplateArgumentKindTemplateExpansion
1367
1368eTemplateArgumentKindExpression = _lldb.eTemplateArgumentKindExpression
1369
1370eTemplateArgumentKindPack = _lldb.eTemplateArgumentKindPack
1371
1372eTemplateArgumentKindNullPtr = _lldb.eTemplateArgumentKindNullPtr
1373
1374eTemplateArgumentKindStructuralValue = _lldb.eTemplateArgumentKindStructuralValue
1375
1376eFormatterMatchExact = _lldb.eFormatterMatchExact
1377
1378eFormatterMatchRegex = _lldb.eFormatterMatchRegex
1379
1380eFormatterMatchCallback = _lldb.eFormatterMatchCallback
1381
1382eLastFormatterMatchType = _lldb.eLastFormatterMatchType
1383
1384eTypeOptionNone = _lldb.eTypeOptionNone
1385
1386eTypeOptionCascade = _lldb.eTypeOptionCascade
1387
1388eTypeOptionSkipPointers = _lldb.eTypeOptionSkipPointers
1389
1390eTypeOptionSkipReferences = _lldb.eTypeOptionSkipReferences
1391
1392eTypeOptionHideChildren = _lldb.eTypeOptionHideChildren
1393
1394eTypeOptionHideValue = _lldb.eTypeOptionHideValue
1395
1396eTypeOptionShowOneLiner = _lldb.eTypeOptionShowOneLiner
1397
1398eTypeOptionHideNames = _lldb.eTypeOptionHideNames
1399
1400eTypeOptionNonCacheable = _lldb.eTypeOptionNonCacheable
1401
1402eTypeOptionHideEmptyAggregates = _lldb.eTypeOptionHideEmptyAggregates
1403
1404eTypeOptionFrontEndWantsDereference = _lldb.eTypeOptionFrontEndWantsDereference
1405
1406eFrameCompareInvalid = _lldb.eFrameCompareInvalid
1407
1408eFrameCompareUnknown = _lldb.eFrameCompareUnknown
1409
1410eFrameCompareEqual = _lldb.eFrameCompareEqual
1411
1412eFrameCompareSameParent = _lldb.eFrameCompareSameParent
1413
1414eFrameCompareYounger = _lldb.eFrameCompareYounger
1415
1416eFrameCompareOlder = _lldb.eFrameCompareOlder
1417
1418eFilePermissionsUserRead = _lldb.eFilePermissionsUserRead
1419
1420eFilePermissionsUserWrite = _lldb.eFilePermissionsUserWrite
1421
1422eFilePermissionsUserExecute = _lldb.eFilePermissionsUserExecute
1423
1424eFilePermissionsGroupRead = _lldb.eFilePermissionsGroupRead
1425
1426eFilePermissionsGroupWrite = _lldb.eFilePermissionsGroupWrite
1427
1428eFilePermissionsGroupExecute = _lldb.eFilePermissionsGroupExecute
1429
1430eFilePermissionsWorldRead = _lldb.eFilePermissionsWorldRead
1431
1432eFilePermissionsWorldWrite = _lldb.eFilePermissionsWorldWrite
1433
1434eFilePermissionsWorldExecute = _lldb.eFilePermissionsWorldExecute
1435
1436eFilePermissionsUserRW = _lldb.eFilePermissionsUserRW
1437
1438eFileFilePermissionsUserRX = _lldb.eFileFilePermissionsUserRX
1439
1440eFilePermissionsUserRWX = _lldb.eFilePermissionsUserRWX
1441
1442eFilePermissionsGroupRW = _lldb.eFilePermissionsGroupRW
1443
1444eFilePermissionsGroupRX = _lldb.eFilePermissionsGroupRX
1445
1446eFilePermissionsGroupRWX = _lldb.eFilePermissionsGroupRWX
1447
1448eFilePermissionsWorldRW = _lldb.eFilePermissionsWorldRW
1449
1450eFilePermissionsWorldRX = _lldb.eFilePermissionsWorldRX
1451
1452eFilePermissionsWorldRWX = _lldb.eFilePermissionsWorldRWX
1453
1454eFilePermissionsEveryoneR = _lldb.eFilePermissionsEveryoneR
1455
1456eFilePermissionsEveryoneW = _lldb.eFilePermissionsEveryoneW
1457
1458eFilePermissionsEveryoneX = _lldb.eFilePermissionsEveryoneX
1459
1460eFilePermissionsEveryoneRW = _lldb.eFilePermissionsEveryoneRW
1461
1462eFilePermissionsEveryoneRX = _lldb.eFilePermissionsEveryoneRX
1463
1464eFilePermissionsEveryoneRWX = _lldb.eFilePermissionsEveryoneRWX
1465
1466eFilePermissionsFileDefault = _lldb.eFilePermissionsFileDefault
1467
1468eFilePermissionsDirectoryDefault = _lldb.eFilePermissionsDirectoryDefault
1469
1470eQueueItemKindUnknown = _lldb.eQueueItemKindUnknown
1471
1472eQueueItemKindFunction = _lldb.eQueueItemKindFunction
1473
1474eQueueItemKindBlock = _lldb.eQueueItemKindBlock
1475
1476eQueueKindUnknown = _lldb.eQueueKindUnknown
1477
1478eQueueKindSerial = _lldb.eQueueKindSerial
1479
1480eQueueKindConcurrent = _lldb.eQueueKindConcurrent
1481
1482eExpressionEvaluationParse = _lldb.eExpressionEvaluationParse
1483
1484eExpressionEvaluationIRGen = _lldb.eExpressionEvaluationIRGen
1485
1486eExpressionEvaluationExecution = _lldb.eExpressionEvaluationExecution
1487
1488eExpressionEvaluationComplete = _lldb.eExpressionEvaluationComplete
1489
1490eInstructionControlFlowKindUnknown = _lldb.eInstructionControlFlowKindUnknown
1491
1492eInstructionControlFlowKindOther = _lldb.eInstructionControlFlowKindOther
1493
1494eInstructionControlFlowKindCall = _lldb.eInstructionControlFlowKindCall
1495
1496eInstructionControlFlowKindReturn = _lldb.eInstructionControlFlowKindReturn
1497
1498eInstructionControlFlowKindJump = _lldb.eInstructionControlFlowKindJump
1499
1500eInstructionControlFlowKindCondJump = _lldb.eInstructionControlFlowKindCondJump
1501
1502eInstructionControlFlowKindFarCall = _lldb.eInstructionControlFlowKindFarCall
1503
1504eInstructionControlFlowKindFarReturn = _lldb.eInstructionControlFlowKindFarReturn
1505
1506eInstructionControlFlowKindFarJump = _lldb.eInstructionControlFlowKindFarJump
1507
1508eWatchpointKindWrite = _lldb.eWatchpointKindWrite
1509
1510eWatchpointKindRead = _lldb.eWatchpointKindRead
1511
1512eGdbSignalBadAccess = _lldb.eGdbSignalBadAccess
1513
1514eGdbSignalBadInstruction = _lldb.eGdbSignalBadInstruction
1515
1516eGdbSignalArithmetic = _lldb.eGdbSignalArithmetic
1517
1518eGdbSignalEmulation = _lldb.eGdbSignalEmulation
1519
1520eGdbSignalSoftware = _lldb.eGdbSignalSoftware
1521
1522eGdbSignalBreakpoint = _lldb.eGdbSignalBreakpoint
1523
1524ePathTypeLLDBShlibDir = _lldb.ePathTypeLLDBShlibDir
1525
1526ePathTypeSupportExecutableDir = _lldb.ePathTypeSupportExecutableDir
1527
1528ePathTypeHeaderDir = _lldb.ePathTypeHeaderDir
1529
1530ePathTypePythonDir = _lldb.ePathTypePythonDir
1531
1532ePathTypeLLDBSystemPlugins = _lldb.ePathTypeLLDBSystemPlugins
1533
1534ePathTypeLLDBUserPlugins = _lldb.ePathTypeLLDBUserPlugins
1535
1536ePathTypeLLDBTempSystemDir = _lldb.ePathTypeLLDBTempSystemDir
1537
1538ePathTypeGlobalLLDBTempSystemDir = _lldb.ePathTypeGlobalLLDBTempSystemDir
1539
1540ePathTypeClangDir = _lldb.ePathTypeClangDir
1541
1542eMemberFunctionKindUnknown = _lldb.eMemberFunctionKindUnknown
1543
1544eMemberFunctionKindConstructor = _lldb.eMemberFunctionKindConstructor
1545
1546eMemberFunctionKindDestructor = _lldb.eMemberFunctionKindDestructor
1547
1548eMemberFunctionKindInstanceMethod = _lldb.eMemberFunctionKindInstanceMethod
1549
1550eMemberFunctionKindStaticMethod = _lldb.eMemberFunctionKindStaticMethod
1551
1552eMatchTypeNormal = _lldb.eMatchTypeNormal
1553
1554eMatchTypeRegex = _lldb.eMatchTypeRegex
1555
1556eMatchTypeStartsWith = _lldb.eMatchTypeStartsWith
1557
1558eMatchTypeRegexInsensitive = _lldb.eMatchTypeRegexInsensitive
1559
1560eTypeHasChildren = _lldb.eTypeHasChildren
1561
1562eTypeHasValue = _lldb.eTypeHasValue
1563
1564eTypeIsArray = _lldb.eTypeIsArray
1565
1566eTypeIsBlock = _lldb.eTypeIsBlock
1567
1568eTypeIsBuiltIn = _lldb.eTypeIsBuiltIn
1569
1570eTypeIsClass = _lldb.eTypeIsClass
1571
1572eTypeIsCPlusPlus = _lldb.eTypeIsCPlusPlus
1573
1574eTypeIsEnumeration = _lldb.eTypeIsEnumeration
1575
1576eTypeIsFuncPrototype = _lldb.eTypeIsFuncPrototype
1577
1578eTypeIsMember = _lldb.eTypeIsMember
1579
1580eTypeIsObjC = _lldb.eTypeIsObjC
1581
1582eTypeIsPointer = _lldb.eTypeIsPointer
1583
1584eTypeIsReference = _lldb.eTypeIsReference
1585
1586eTypeIsStructUnion = _lldb.eTypeIsStructUnion
1587
1588eTypeIsTemplate = _lldb.eTypeIsTemplate
1589
1590eTypeIsTypedef = _lldb.eTypeIsTypedef
1591
1592eTypeIsVector = _lldb.eTypeIsVector
1593
1594eTypeIsScalar = _lldb.eTypeIsScalar
1595
1596eTypeIsInteger = _lldb.eTypeIsInteger
1597
1598eTypeIsFloat = _lldb.eTypeIsFloat
1599
1600eTypeIsComplex = _lldb.eTypeIsComplex
1601
1602eTypeIsSigned = _lldb.eTypeIsSigned
1603
1604eTypeInstanceIsPointer = _lldb.eTypeInstanceIsPointer
1605
1606eCommandRequiresTarget = _lldb.eCommandRequiresTarget
1607
1608eCommandRequiresProcess = _lldb.eCommandRequiresProcess
1609
1610eCommandRequiresThread = _lldb.eCommandRequiresThread
1611
1612eCommandRequiresFrame = _lldb.eCommandRequiresFrame
1613
1614eCommandRequiresRegContext = _lldb.eCommandRequiresRegContext
1615
1616eCommandTryTargetAPILock = _lldb.eCommandTryTargetAPILock
1617
1618eCommandProcessMustBeLaunched = _lldb.eCommandProcessMustBeLaunched
1619
1620eCommandProcessMustBePaused = _lldb.eCommandProcessMustBePaused
1621
1622eCommandProcessMustBeTraced = _lldb.eCommandProcessMustBeTraced
1623
1624eTypeSummaryCapped = _lldb.eTypeSummaryCapped
1625
1626eTypeSummaryUncapped = _lldb.eTypeSummaryUncapped
1627
1628eCommandInterpreterResultSuccess = _lldb.eCommandInterpreterResultSuccess
1629
1630eCommandInterpreterResultInferiorCrash = _lldb.eCommandInterpreterResultInferiorCrash
1631
1632eCommandInterpreterResultCommandError = _lldb.eCommandInterpreterResultCommandError
1633
1634eCommandInterpreterResultQuitRequested = _lldb.eCommandInterpreterResultQuitRequested
1635
1636eSaveCoreUnspecified = _lldb.eSaveCoreUnspecified
1637
1638eSaveCoreFull = _lldb.eSaveCoreFull
1639
1640eSaveCoreDirtyOnly = _lldb.eSaveCoreDirtyOnly
1641
1642eSaveCoreStackOnly = _lldb.eSaveCoreStackOnly
1643
1644eTraceEventDisabledSW = _lldb.eTraceEventDisabledSW
1645
1646eTraceEventDisabledHW = _lldb.eTraceEventDisabledHW
1647
1648eTraceEventCPUChanged = _lldb.eTraceEventCPUChanged
1649
1650eTraceEventHWClockTick = _lldb.eTraceEventHWClockTick
1651
1652eTraceEventSyncPoint = _lldb.eTraceEventSyncPoint
1653
1654eTraceItemKindError = _lldb.eTraceItemKindError
1655
1656eTraceItemKindEvent = _lldb.eTraceItemKindEvent
1657
1658eTraceItemKindInstruction = _lldb.eTraceItemKindInstruction
1659
1660eTraceCursorSeekTypeBeginning = _lldb.eTraceCursorSeekTypeBeginning
1661
1662eTraceCursorSeekTypeCurrent = _lldb.eTraceCursorSeekTypeCurrent
1663
1664eTraceCursorSeekTypeEnd = _lldb.eTraceCursorSeekTypeEnd
1665
1666eDWIMPrintVerbosityNone = _lldb.eDWIMPrintVerbosityNone
1667
1668eDWIMPrintVerbosityExpression = _lldb.eDWIMPrintVerbosityExpression
1669
1670eDWIMPrintVerbosityFull = _lldb.eDWIMPrintVerbosityFull
1671
1672eWatchPointValueKindInvalid = _lldb.eWatchPointValueKindInvalid
1673
1674eWatchPointValueKindVariable = _lldb.eWatchPointValueKindVariable
1675
1676eWatchPointValueKindExpression = _lldb.eWatchPointValueKindExpression
1677
1678eNoCompletion = _lldb.eNoCompletion
1679
1680eSourceFileCompletion = _lldb.eSourceFileCompletion
1681
1682eDiskFileCompletion = _lldb.eDiskFileCompletion
1683
1684eDiskDirectoryCompletion = _lldb.eDiskDirectoryCompletion
1685
1686eSymbolCompletion = _lldb.eSymbolCompletion
1687
1688eModuleCompletion = _lldb.eModuleCompletion
1689
1690eSettingsNameCompletion = _lldb.eSettingsNameCompletion
1691
1692ePlatformPluginCompletion = _lldb.ePlatformPluginCompletion
1693
1694eArchitectureCompletion = _lldb.eArchitectureCompletion
1695
1696eVariablePathCompletion = _lldb.eVariablePathCompletion
1697
1698eRegisterCompletion = _lldb.eRegisterCompletion
1699
1700eBreakpointCompletion = _lldb.eBreakpointCompletion
1701
1702eProcessPluginCompletion = _lldb.eProcessPluginCompletion
1703
1704eDisassemblyFlavorCompletion = _lldb.eDisassemblyFlavorCompletion
1705
1706eTypeLanguageCompletion = _lldb.eTypeLanguageCompletion
1707
1708eFrameIndexCompletion = _lldb.eFrameIndexCompletion
1709
1710eModuleUUIDCompletion = _lldb.eModuleUUIDCompletion
1711
1712eStopHookIDCompletion = _lldb.eStopHookIDCompletion
1713
1714eThreadIndexCompletion = _lldb.eThreadIndexCompletion
1715
1716eWatchpointIDCompletion = _lldb.eWatchpointIDCompletion
1717
1718eBreakpointNameCompletion = _lldb.eBreakpointNameCompletion
1719
1720eProcessIDCompletion = _lldb.eProcessIDCompletion
1721
1722eProcessNameCompletion = _lldb.eProcessNameCompletion
1723
1724eRemoteDiskFileCompletion = _lldb.eRemoteDiskFileCompletion
1725
1726eRemoteDiskDirectoryCompletion = _lldb.eRemoteDiskDirectoryCompletion
1727
1728eTypeCategoryNameCompletion = _lldb.eTypeCategoryNameCompletion
1729
1730eCustomCompletion = _lldb.eCustomCompletion
1731
1732eThreadIDCompletion = _lldb.eThreadIDCompletion
1733
1734eTerminatorCompletion = _lldb.eTerminatorCompletion
1735
1736eRefetch = _lldb.eRefetch
1737
1738eReuse = _lldb.eReuse
1739
1740eSymbolDownloadOff = _lldb.eSymbolDownloadOff
1741
1742eSymbolDownloadBackground = _lldb.eSymbolDownloadBackground
1743
1744eSymbolDownloadForeground = _lldb.eSymbolDownloadForeground
1745
1746eAddressMaskTypeCode = _lldb.eAddressMaskTypeCode
1747
1748eAddressMaskTypeData = _lldb.eAddressMaskTypeData
1749
1750eAddressMaskTypeAny = _lldb.eAddressMaskTypeAny
1751
1752eAddressMaskTypeAll = _lldb.eAddressMaskTypeAll
1753
1754eAddressMaskRangeLow = _lldb.eAddressMaskRangeLow
1755
1756eAddressMaskRangeHigh = _lldb.eAddressMaskRangeHigh
1757
1758eAddressMaskRangeAny = _lldb.eAddressMaskRangeAny
1759
1760eAddressMaskRangeAll = _lldb.eAddressMaskRangeAll
1761
1762eBroadcastBitProgress = _lldb.eBroadcastBitProgress
1763
1764eBroadcastBitWarning = _lldb.eBroadcastBitWarning
1765
1766eBroadcastBitError = _lldb.eBroadcastBitError
1767
1768eBroadcastSymbolChange = _lldb.eBroadcastSymbolChange
1769
1770eBroadcastBitProgressCategory = _lldb.eBroadcastBitProgressCategory
1771
1772eSeverityError = _lldb.eSeverityError
1773
1774eSeverityWarning = _lldb.eSeverityWarning
1775
1776eSeverityInfo = _lldb.eSeverityInfo
1777
1778class SBAddress(object):
1779    r"""
1780    A section + offset based address class.
1781
1782    The SBAddress class allows addresses to be relative to a section
1783    that can move during runtime due to images (executables, shared
1784    libraries, bundles, frameworks) being loaded at different
1785    addresses than the addresses found in the object file that
1786    represents them on disk. There are currently two types of addresses
1787    for a section:
1788
1789    * file addresses
1790    * load addresses
1791
1792    File addresses represents the virtual addresses that are in the 'on
1793    disk' object files. These virtual addresses are converted to be
1794    relative to unique sections scoped to the object file so that
1795    when/if the addresses slide when the images are loaded/unloaded
1796    in memory, we can easily track these changes without having to
1797    update every object (compile unit ranges, line tables, function
1798    address ranges, lexical block and inlined subroutine address
1799    ranges, global and static variables) each time an image is loaded or
1800    unloaded.
1801
1802    Load addresses represents the virtual addresses where each section
1803    ends up getting loaded at runtime. Before executing a program, it
1804    is common for all of the load addresses to be unresolved. When a
1805    DynamicLoader plug-in receives notification that shared libraries
1806    have been loaded/unloaded, the load addresses of the main executable
1807    and any images (shared libraries) will be  resolved/unresolved. When
1808    this happens, breakpoints that are in one of these sections can be
1809    set/cleared.
1810
1811    See docstring of SBFunction for example usage of SBAddress.
1812    """
1813
1814    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1815
1816    def __init__(self, *args):
1817        r"""
1818        __init__(SBAddress self) -> SBAddress
1819        __init__(SBAddress self, SBAddress rhs) -> SBAddress
1820        __init__(SBAddress self, SBSection section, lldb::addr_t offset) -> SBAddress
1821        __init__(SBAddress self, lldb::addr_t load_addr, SBTarget target) -> SBAddress
1822
1823            Create an address by resolving a load address using the supplied target.
1824        """
1825        _lldb.SBAddress_swiginit(self, _lldb.new_SBAddress(*args))
1826    __swig_destroy__ = _lldb.delete_SBAddress
1827
1828    def __nonzero__(self):
1829        return _lldb.SBAddress___nonzero__(self)
1830    __bool__ = __nonzero__
1831
1832
1833
1834    def __ne__(self, rhs):
1835        r"""__ne__(SBAddress self, SBAddress rhs) -> bool"""
1836        return _lldb.SBAddress___ne__(self, rhs)
1837
1838    def IsValid(self):
1839        r"""IsValid(SBAddress self) -> bool"""
1840        return _lldb.SBAddress_IsValid(self)
1841
1842    def Clear(self):
1843        r"""Clear(SBAddress self)"""
1844        return _lldb.SBAddress_Clear(self)
1845
1846    def GetFileAddress(self):
1847        r"""GetFileAddress(SBAddress self) -> lldb::addr_t"""
1848        return _lldb.SBAddress_GetFileAddress(self)
1849
1850    def GetLoadAddress(self, target):
1851        r"""GetLoadAddress(SBAddress self, SBTarget target) -> lldb::addr_t"""
1852        return _lldb.SBAddress_GetLoadAddress(self, target)
1853
1854    def SetAddress(self, section, offset):
1855        r"""SetAddress(SBAddress self, SBSection section, lldb::addr_t offset)"""
1856        return _lldb.SBAddress_SetAddress(self, section, offset)
1857
1858    def SetLoadAddress(self, load_addr, target):
1859        r"""SetLoadAddress(SBAddress self, lldb::addr_t load_addr, SBTarget target)"""
1860        return _lldb.SBAddress_SetLoadAddress(self, load_addr, target)
1861
1862    def OffsetAddress(self, offset):
1863        r"""OffsetAddress(SBAddress self, lldb::addr_t offset) -> bool"""
1864        return _lldb.SBAddress_OffsetAddress(self, offset)
1865
1866    def GetDescription(self, description):
1867        r"""GetDescription(SBAddress self, SBStream description) -> bool"""
1868        return _lldb.SBAddress_GetDescription(self, description)
1869
1870    def GetSymbolContext(self, resolve_scope):
1871        r"""
1872        GetSymbolContext(SBAddress self, uint32_t resolve_scope) -> SBSymbolContext
1873
1874            GetSymbolContext() and the following can lookup symbol information for a given address.
1875            An address might refer to code or data from an existing module, or it
1876            might refer to something on the stack or heap. The following functions
1877            will only return valid values if the address has been resolved to a code
1878            or data address using :py:class:`SBAddress.SetLoadAddress' or
1879            :py:class:`SBTarget.ResolveLoadAddress`.
1880        """
1881        return _lldb.SBAddress_GetSymbolContext(self, resolve_scope)
1882
1883    def GetSection(self):
1884        r"""GetSection(SBAddress self) -> SBSection"""
1885        return _lldb.SBAddress_GetSection(self)
1886
1887    def GetOffset(self):
1888        r"""GetOffset(SBAddress self) -> lldb::addr_t"""
1889        return _lldb.SBAddress_GetOffset(self)
1890
1891    def GetModule(self):
1892        r"""
1893        GetModule(SBAddress self) -> SBModule
1894
1895            GetModule() and the following grab individual objects for a given address and
1896            are less efficient if you want more than one symbol related objects.
1897            Use :py:class:`SBAddress.GetSymbolContext` or
1898            :py:class:`SBTarget.ResolveSymbolContextForAddress` when you want multiple
1899            debug symbol related objects for an address.
1900            One or more bits from the SymbolContextItem enumerations can be logically
1901            OR'ed together to more efficiently retrieve multiple symbol objects.
1902        """
1903        return _lldb.SBAddress_GetModule(self)
1904
1905    def GetCompileUnit(self):
1906        r"""GetCompileUnit(SBAddress self) -> SBCompileUnit"""
1907        return _lldb.SBAddress_GetCompileUnit(self)
1908
1909    def GetFunction(self):
1910        r"""GetFunction(SBAddress self) -> SBFunction"""
1911        return _lldb.SBAddress_GetFunction(self)
1912
1913    def GetBlock(self):
1914        r"""GetBlock(SBAddress self) -> SBBlock"""
1915        return _lldb.SBAddress_GetBlock(self)
1916
1917    def GetSymbol(self):
1918        r"""GetSymbol(SBAddress self) -> SBSymbol"""
1919        return _lldb.SBAddress_GetSymbol(self)
1920
1921    def GetLineEntry(self):
1922        r"""GetLineEntry(SBAddress self) -> SBLineEntry"""
1923        return _lldb.SBAddress_GetLineEntry(self)
1924
1925    def __repr__(self):
1926        r"""__repr__(SBAddress self) -> std::string"""
1927        return _lldb.SBAddress___repr__(self)
1928
1929        # operator== is a free function, which swig does not handle, so we inject
1930        # our own equality operator here
1931    def __eq__(self, other):
1932      return not self.__ne__(other)
1933
1934
1935    __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.'
1936
1937    def __get_load_addr_property__ (self):
1938        '''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.'''
1939        if not target:
1940            raise RuntimeError(self.__runtime_error_str)
1941        return self.GetLoadAddress (target)
1942
1943    def __set_load_addr_property__ (self, load_addr):
1944        '''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.'''
1945        if not target:
1946            raise RuntimeError(self.__runtime_error_str)
1947        return self.SetLoadAddress (load_addr, target)
1948
1949    def __int__(self):
1950        '''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.'''
1951        if not process or not target:
1952            raise RuntimeError(self.__runtime_error_str)
1953        if process.is_alive:
1954            return self.GetLoadAddress (target)
1955        return self.GetFileAddress ()
1956
1957    def __oct__(self):
1958        '''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.'''
1959        return '%o' % int(self)
1960
1961    def __hex__(self):
1962        '''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.'''
1963        return '0x%x' % int(self)
1964
1965    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.''')
1966    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.''')
1967    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.''')
1968    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.''')
1969    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.''')
1970    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.''')
1971    offset = property(GetOffset, None, doc='''A read only property that returns the section offset in bytes as an integer.''')
1972    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.''')
1973    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.''')
1974    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.''')
1975
1976
1977# Register SBAddress in _lldb:
1978_lldb.SBAddress_swigregister(SBAddress)
1979class SBAddressRange(object):
1980    r"""API clients can get address range information."""
1981
1982    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1983    __repr__ = _swig_repr
1984
1985    def __init__(self, *args):
1986        r"""
1987        __init__(SBAddressRange self) -> SBAddressRange
1988        __init__(SBAddressRange self, SBAddressRange rhs) -> SBAddressRange
1989        __init__(SBAddressRange self, SBAddress addr, lldb::addr_t byte_size) -> SBAddressRange
1990        """
1991        _lldb.SBAddressRange_swiginit(self, _lldb.new_SBAddressRange(*args))
1992    __swig_destroy__ = _lldb.delete_SBAddressRange
1993
1994    def Clear(self):
1995        r"""Clear(SBAddressRange self)"""
1996        return _lldb.SBAddressRange_Clear(self)
1997
1998    def IsValid(self):
1999        r"""IsValid(SBAddressRange self) -> bool"""
2000        return _lldb.SBAddressRange_IsValid(self)
2001
2002    def GetBaseAddress(self):
2003        r"""GetBaseAddress(SBAddressRange self) -> SBAddress"""
2004        return _lldb.SBAddressRange_GetBaseAddress(self)
2005
2006    def GetByteSize(self):
2007        r"""GetByteSize(SBAddressRange self) -> lldb::addr_t"""
2008        return _lldb.SBAddressRange_GetByteSize(self)
2009
2010    def __eq__(self, rhs):
2011        r"""__eq__(SBAddressRange self, SBAddressRange rhs) -> bool"""
2012        return _lldb.SBAddressRange___eq__(self, rhs)
2013
2014    def __ne__(self, rhs):
2015        r"""__ne__(SBAddressRange self, SBAddressRange rhs) -> bool"""
2016        return _lldb.SBAddressRange___ne__(self, rhs)
2017
2018    def GetDescription(self, description, target):
2019        r"""GetDescription(SBAddressRange self, SBStream description, SBTarget target) -> bool"""
2020        return _lldb.SBAddressRange_GetDescription(self, description, target)
2021
2022    def __repr__(self):
2023      import lldb
2024      stream = lldb.SBStream()
2025      self.GetDescription(stream, lldb.target if lldb.target else lldb.SBTarget())
2026      return stream.GetData()
2027
2028
2029# Register SBAddressRange in _lldb:
2030_lldb.SBAddressRange_swigregister(SBAddressRange)
2031class SBAddressRangeList(object):
2032    r"""Represents a list of :py:class:`SBAddressRange`."""
2033
2034    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2035    __repr__ = _swig_repr
2036
2037    def __init__(self, *args):
2038        r"""
2039        __init__(SBAddressRangeList self) -> SBAddressRangeList
2040        __init__(SBAddressRangeList self, SBAddressRangeList rhs) -> SBAddressRangeList
2041        """
2042        _lldb.SBAddressRangeList_swiginit(self, _lldb.new_SBAddressRangeList(*args))
2043    __swig_destroy__ = _lldb.delete_SBAddressRangeList
2044
2045    def GetSize(self):
2046        r"""GetSize(SBAddressRangeList self) -> uint32_t"""
2047        return _lldb.SBAddressRangeList_GetSize(self)
2048
2049    def Clear(self):
2050        r"""Clear(SBAddressRangeList self)"""
2051        return _lldb.SBAddressRangeList_Clear(self)
2052
2053    def GetAddressRangeAtIndex(self, idx):
2054        r"""GetAddressRangeAtIndex(SBAddressRangeList self, uint64_t idx) -> SBAddressRange"""
2055        return _lldb.SBAddressRangeList_GetAddressRangeAtIndex(self, idx)
2056
2057    def Append(self, *args):
2058        r"""
2059        Append(SBAddressRangeList self, SBAddressRange addr_range)
2060        Append(SBAddressRangeList self, SBAddressRangeList addr_range_list)
2061        """
2062        return _lldb.SBAddressRangeList_Append(self, *args)
2063
2064    def GetDescription(self, description, target):
2065        r"""GetDescription(SBAddressRangeList self, SBStream description, SBTarget target) -> bool"""
2066        return _lldb.SBAddressRangeList_GetDescription(self, description, target)
2067
2068    def __len__(self):
2069      '''Return the number of address ranges in a lldb.SBAddressRangeList object.'''
2070      return self.GetSize()
2071
2072    def __iter__(self):
2073      '''Iterate over all the address ranges in a lldb.SBAddressRangeList object.'''
2074      return lldb_iter(self, 'GetSize', 'GetAddressRangeAtIndex')
2075
2076    def __getitem__(self, idx):
2077      '''Get the address range at a given index in an lldb.SBAddressRangeList object.'''
2078      if not isinstance(idx, int):
2079        raise TypeError("unsupported index type: %s" % type(idx))
2080      count = len(self)
2081      if not (-count <= idx < count):
2082        raise IndexError("list index out of range")
2083      idx %= count
2084      return self.GetAddressRangeAtIndex(idx)
2085
2086    def __repr__(self):
2087      import lldb
2088      stream = lldb.SBStream()
2089      self.GetDescription(stream, lldb.target if lldb.target else lldb.SBTarget())
2090      return stream.GetData()
2091
2092
2093# Register SBAddressRangeList in _lldb:
2094_lldb.SBAddressRangeList_swigregister(SBAddressRangeList)
2095class SBAttachInfo(object):
2096    r"""Describes how to attach when calling :py:class:`SBTarget.Attach`."""
2097
2098    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2099    __repr__ = _swig_repr
2100
2101    def __init__(self, *args):
2102        r"""
2103        __init__(SBAttachInfo self) -> SBAttachInfo
2104        __init__(SBAttachInfo self, lldb::pid_t pid) -> SBAttachInfo
2105        __init__(SBAttachInfo self, char const * path, bool wait_for) -> SBAttachInfo
2106        __init__(SBAttachInfo self, char const * path, bool wait_for, bool _async) -> SBAttachInfo
2107        __init__(SBAttachInfo self, SBAttachInfo rhs) -> SBAttachInfo
2108        """
2109        _lldb.SBAttachInfo_swiginit(self, _lldb.new_SBAttachInfo(*args))
2110    __swig_destroy__ = _lldb.delete_SBAttachInfo
2111
2112    def GetProcessID(self):
2113        r"""GetProcessID(SBAttachInfo self) -> lldb::pid_t"""
2114        return _lldb.SBAttachInfo_GetProcessID(self)
2115
2116    def SetProcessID(self, pid):
2117        r"""SetProcessID(SBAttachInfo self, lldb::pid_t pid)"""
2118        return _lldb.SBAttachInfo_SetProcessID(self, pid)
2119
2120    def SetExecutable(self, *args):
2121        r"""
2122        SetExecutable(SBAttachInfo self, char const * path)
2123        SetExecutable(SBAttachInfo self, SBFileSpec exe_file)
2124        """
2125        return _lldb.SBAttachInfo_SetExecutable(self, *args)
2126
2127    def GetWaitForLaunch(self):
2128        r"""GetWaitForLaunch(SBAttachInfo self) -> bool"""
2129        return _lldb.SBAttachInfo_GetWaitForLaunch(self)
2130
2131    def SetWaitForLaunch(self, *args):
2132        r"""
2133        SetWaitForLaunch(SBAttachInfo self, bool b)
2134        SetWaitForLaunch(SBAttachInfo self, bool b, bool _async)
2135        """
2136        return _lldb.SBAttachInfo_SetWaitForLaunch(self, *args)
2137
2138    def GetIgnoreExisting(self):
2139        r"""GetIgnoreExisting(SBAttachInfo self) -> bool"""
2140        return _lldb.SBAttachInfo_GetIgnoreExisting(self)
2141
2142    def SetIgnoreExisting(self, b):
2143        r"""SetIgnoreExisting(SBAttachInfo self, bool b)"""
2144        return _lldb.SBAttachInfo_SetIgnoreExisting(self, b)
2145
2146    def GetResumeCount(self):
2147        r"""GetResumeCount(SBAttachInfo self) -> uint32_t"""
2148        return _lldb.SBAttachInfo_GetResumeCount(self)
2149
2150    def SetResumeCount(self, c):
2151        r"""SetResumeCount(SBAttachInfo self, uint32_t c)"""
2152        return _lldb.SBAttachInfo_SetResumeCount(self, c)
2153
2154    def GetProcessPluginName(self):
2155        r"""GetProcessPluginName(SBAttachInfo self) -> char const *"""
2156        return _lldb.SBAttachInfo_GetProcessPluginName(self)
2157
2158    def SetProcessPluginName(self, plugin_name):
2159        r"""SetProcessPluginName(SBAttachInfo self, char const * plugin_name)"""
2160        return _lldb.SBAttachInfo_SetProcessPluginName(self, plugin_name)
2161
2162    def GetUserID(self):
2163        r"""GetUserID(SBAttachInfo self) -> uint32_t"""
2164        return _lldb.SBAttachInfo_GetUserID(self)
2165
2166    def GetGroupID(self):
2167        r"""GetGroupID(SBAttachInfo self) -> uint32_t"""
2168        return _lldb.SBAttachInfo_GetGroupID(self)
2169
2170    def UserIDIsValid(self):
2171        r"""UserIDIsValid(SBAttachInfo self) -> bool"""
2172        return _lldb.SBAttachInfo_UserIDIsValid(self)
2173
2174    def GroupIDIsValid(self):
2175        r"""GroupIDIsValid(SBAttachInfo self) -> bool"""
2176        return _lldb.SBAttachInfo_GroupIDIsValid(self)
2177
2178    def SetUserID(self, uid):
2179        r"""SetUserID(SBAttachInfo self, uint32_t uid)"""
2180        return _lldb.SBAttachInfo_SetUserID(self, uid)
2181
2182    def SetGroupID(self, gid):
2183        r"""SetGroupID(SBAttachInfo self, uint32_t gid)"""
2184        return _lldb.SBAttachInfo_SetGroupID(self, gid)
2185
2186    def GetEffectiveUserID(self):
2187        r"""GetEffectiveUserID(SBAttachInfo self) -> uint32_t"""
2188        return _lldb.SBAttachInfo_GetEffectiveUserID(self)
2189
2190    def GetEffectiveGroupID(self):
2191        r"""GetEffectiveGroupID(SBAttachInfo self) -> uint32_t"""
2192        return _lldb.SBAttachInfo_GetEffectiveGroupID(self)
2193
2194    def EffectiveUserIDIsValid(self):
2195        r"""EffectiveUserIDIsValid(SBAttachInfo self) -> bool"""
2196        return _lldb.SBAttachInfo_EffectiveUserIDIsValid(self)
2197
2198    def EffectiveGroupIDIsValid(self):
2199        r"""EffectiveGroupIDIsValid(SBAttachInfo self) -> bool"""
2200        return _lldb.SBAttachInfo_EffectiveGroupIDIsValid(self)
2201
2202    def SetEffectiveUserID(self, uid):
2203        r"""SetEffectiveUserID(SBAttachInfo self, uint32_t uid)"""
2204        return _lldb.SBAttachInfo_SetEffectiveUserID(self, uid)
2205
2206    def SetEffectiveGroupID(self, gid):
2207        r"""SetEffectiveGroupID(SBAttachInfo self, uint32_t gid)"""
2208        return _lldb.SBAttachInfo_SetEffectiveGroupID(self, gid)
2209
2210    def GetParentProcessID(self):
2211        r"""GetParentProcessID(SBAttachInfo self) -> lldb::pid_t"""
2212        return _lldb.SBAttachInfo_GetParentProcessID(self)
2213
2214    def SetParentProcessID(self, pid):
2215        r"""SetParentProcessID(SBAttachInfo self, lldb::pid_t pid)"""
2216        return _lldb.SBAttachInfo_SetParentProcessID(self, pid)
2217
2218    def ParentProcessIDIsValid(self):
2219        r"""ParentProcessIDIsValid(SBAttachInfo self) -> bool"""
2220        return _lldb.SBAttachInfo_ParentProcessIDIsValid(self)
2221
2222    def GetListener(self):
2223        r"""GetListener(SBAttachInfo self) -> SBListener"""
2224        return _lldb.SBAttachInfo_GetListener(self)
2225
2226    def SetListener(self, listener):
2227        r"""SetListener(SBAttachInfo self, SBListener listener)"""
2228        return _lldb.SBAttachInfo_SetListener(self, listener)
2229
2230    def GetShadowListener(self):
2231        r"""GetShadowListener(SBAttachInfo self) -> SBListener"""
2232        return _lldb.SBAttachInfo_GetShadowListener(self)
2233
2234    def SetShadowListener(self, listener):
2235        r"""SetShadowListener(SBAttachInfo self, SBListener listener)"""
2236        return _lldb.SBAttachInfo_SetShadowListener(self, listener)
2237
2238    def GetScriptedProcessClassName(self):
2239        r"""GetScriptedProcessClassName(SBAttachInfo self) -> char const *"""
2240        return _lldb.SBAttachInfo_GetScriptedProcessClassName(self)
2241
2242    def SetScriptedProcessClassName(self, class_name):
2243        r"""SetScriptedProcessClassName(SBAttachInfo self, char const * class_name)"""
2244        return _lldb.SBAttachInfo_SetScriptedProcessClassName(self, class_name)
2245
2246    def GetScriptedProcessDictionary(self):
2247        r"""GetScriptedProcessDictionary(SBAttachInfo self) -> SBStructuredData"""
2248        return _lldb.SBAttachInfo_GetScriptedProcessDictionary(self)
2249
2250    def SetScriptedProcessDictionary(self, dict):
2251        r"""SetScriptedProcessDictionary(SBAttachInfo self, SBStructuredData dict)"""
2252        return _lldb.SBAttachInfo_SetScriptedProcessDictionary(self, dict)
2253
2254# Register SBAttachInfo in _lldb:
2255_lldb.SBAttachInfo_swigregister(SBAttachInfo)
2256class SBBlock(object):
2257    r"""Represents a lexical block. SBFunction contains SBBlock(s)."""
2258
2259    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2260
2261    def __init__(self, *args):
2262        r"""
2263        __init__(SBBlock self) -> SBBlock
2264        __init__(SBBlock self, SBBlock rhs) -> SBBlock
2265        """
2266        _lldb.SBBlock_swiginit(self, _lldb.new_SBBlock(*args))
2267    __swig_destroy__ = _lldb.delete_SBBlock
2268
2269    def IsInlined(self):
2270        r"""
2271        IsInlined(SBBlock self) -> bool
2272        Is this block contained within an inlined function?
2273        """
2274        return _lldb.SBBlock_IsInlined(self)
2275
2276    def __nonzero__(self):
2277        return _lldb.SBBlock___nonzero__(self)
2278    __bool__ = __nonzero__
2279
2280
2281
2282    def IsValid(self):
2283        r"""IsValid(SBBlock self) -> bool"""
2284        return _lldb.SBBlock_IsValid(self)
2285
2286    def GetInlinedName(self):
2287        r"""
2288        GetInlinedName(SBBlock self) -> char const *
2289
2290            Get the function name if this block represents an inlined function;
2291            otherwise, return None.
2292        """
2293        return _lldb.SBBlock_GetInlinedName(self)
2294
2295    def GetInlinedCallSiteFile(self):
2296        r"""
2297        GetInlinedCallSiteFile(SBBlock self) -> SBFileSpec
2298
2299            Get the call site file if this block represents an inlined function;
2300            otherwise, return an invalid file spec.
2301        """
2302        return _lldb.SBBlock_GetInlinedCallSiteFile(self)
2303
2304    def GetInlinedCallSiteLine(self):
2305        r"""
2306        GetInlinedCallSiteLine(SBBlock self) -> uint32_t
2307
2308            Get the call site line if this block represents an inlined function;
2309            otherwise, return 0.
2310        """
2311        return _lldb.SBBlock_GetInlinedCallSiteLine(self)
2312
2313    def GetInlinedCallSiteColumn(self):
2314        r"""
2315        GetInlinedCallSiteColumn(SBBlock self) -> uint32_t
2316
2317            Get the call site column if this block represents an inlined function;
2318            otherwise, return 0.
2319        """
2320        return _lldb.SBBlock_GetInlinedCallSiteColumn(self)
2321
2322    def GetParent(self):
2323        r"""
2324        GetParent(SBBlock self) -> SBBlock
2325        Get the parent block.
2326        """
2327        return _lldb.SBBlock_GetParent(self)
2328
2329    def GetSibling(self):
2330        r"""
2331        GetSibling(SBBlock self) -> SBBlock
2332        Get the sibling block for this block.
2333        """
2334        return _lldb.SBBlock_GetSibling(self)
2335
2336    def GetFirstChild(self):
2337        r"""
2338        GetFirstChild(SBBlock self) -> SBBlock
2339        Get the first child block.
2340        """
2341        return _lldb.SBBlock_GetFirstChild(self)
2342
2343    def GetNumRanges(self):
2344        r"""GetNumRanges(SBBlock self) -> uint32_t"""
2345        return _lldb.SBBlock_GetNumRanges(self)
2346
2347    def GetRangeStartAddress(self, idx):
2348        r"""GetRangeStartAddress(SBBlock self, uint32_t idx) -> SBAddress"""
2349        return _lldb.SBBlock_GetRangeStartAddress(self, idx)
2350
2351    def GetRangeEndAddress(self, idx):
2352        r"""GetRangeEndAddress(SBBlock self, uint32_t idx) -> SBAddress"""
2353        return _lldb.SBBlock_GetRangeEndAddress(self, idx)
2354
2355    def GetRanges(self):
2356        r"""GetRanges(SBBlock self) -> SBAddressRangeList"""
2357        return _lldb.SBBlock_GetRanges(self)
2358
2359    def GetRangeIndexForBlockAddress(self, block_addr):
2360        r"""GetRangeIndexForBlockAddress(SBBlock self, SBAddress block_addr) -> uint32_t"""
2361        return _lldb.SBBlock_GetRangeIndexForBlockAddress(self, block_addr)
2362
2363    def GetVariables(self, *args):
2364        r"""
2365        GetVariables(SBBlock self, SBFrame frame, bool arguments, bool locals, bool statics, lldb::DynamicValueType use_dynamic) -> SBValueList
2366        GetVariables(SBBlock self, SBTarget target, bool arguments, bool locals, bool statics) -> SBValueList
2367        """
2368        return _lldb.SBBlock_GetVariables(self, *args)
2369
2370    def GetContainingInlinedBlock(self):
2371        r"""
2372        GetContainingInlinedBlock(SBBlock self) -> SBBlock
2373        Get the inlined block that is or contains this block.
2374        """
2375        return _lldb.SBBlock_GetContainingInlinedBlock(self)
2376
2377    def GetDescription(self, description):
2378        r"""GetDescription(SBBlock self, SBStream description) -> bool"""
2379        return _lldb.SBBlock_GetDescription(self, description)
2380
2381    def __repr__(self):
2382        r"""__repr__(SBBlock self) -> std::string"""
2383        return _lldb.SBBlock___repr__(self)
2384
2385    def get_range_at_index(self, idx):
2386        if idx < self.GetNumRanges():
2387            return [self.GetRangeStartAddress(idx), self.GetRangeEndAddress(idx)]
2388        return []
2389
2390    class ranges_access(object):
2391        '''A helper object that will lazily hand out an array of lldb.SBAddress that represent address ranges for a block.'''
2392        def __init__(self, sbblock):
2393            self.sbblock = sbblock
2394
2395        def __len__(self):
2396            if self.sbblock:
2397                return int(self.sbblock.GetNumRanges())
2398            return 0
2399
2400        def __getitem__(self, key):
2401            count = len(self)
2402            if type(key) is int:
2403                return self.sbblock.get_range_at_index (key);
2404            if isinstance(key, SBAddress):
2405                range_idx = self.sbblock.GetRangeIndexForBlockAddress(key);
2406                if range_idx < len(self):
2407                    return [self.sbblock.GetRangeStartAddress(range_idx), self.sbblock.GetRangeEndAddress(range_idx)]
2408            else:
2409                print("error: unsupported item type: %s" % type(key))
2410            return None
2411
2412    def get_ranges_access_object(self):
2413        '''An accessor function that returns a ranges_access() object which allows lazy block address ranges access.'''
2414        return self.ranges_access (self)
2415
2416    def get_ranges_array(self):
2417        '''An accessor function that returns an array object that contains all ranges in this block object.'''
2418        if not hasattr(self, 'ranges_array'):
2419            self.ranges_array = []
2420            for idx in range(self.num_ranges):
2421                self.ranges_array.append ([self.GetRangeStartAddress(idx), self.GetRangeEndAddress(idx)])
2422        return self.ranges_array
2423
2424    def get_call_site(self):
2425        return declaration(self.GetInlinedCallSiteFile(), self.GetInlinedCallSiteLine(), self.GetInlinedCallSiteColumn())
2426
2427    parent = property(GetParent, None, doc='''A read only property that returns the same result as GetParent().''')
2428    first_child = property(GetFirstChild, None, doc='''A read only property that returns the same result as GetFirstChild().''')
2429    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.''')
2430    sibling = property(GetSibling, None, doc='''A read only property that returns the same result as GetSibling().''')
2431    name = property(GetInlinedName, None, doc='''A read only property that returns the same result as GetInlinedName().''')
2432    inlined_block = property(GetContainingInlinedBlock, None, doc='''A read only property that returns the same result as GetContainingInlinedBlock().''')
2433    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]").''')
2434    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.''')
2435    num_ranges = property(GetNumRanges, None, doc='''A read only property that returns the same result as GetNumRanges().''')
2436
2437
2438# Register SBBlock in _lldb:
2439_lldb.SBBlock_swigregister(SBBlock)
2440class SBBreakpoint(object):
2441    r"""
2442    Represents a logical breakpoint and its associated settings.
2443
2444    For example (from test/functionalities/breakpoint/breakpoint_ignore_count/
2445    TestBreakpointIgnoreCount.py),::
2446
2447        def breakpoint_ignore_count_python(self):
2448            '''Use Python APIs to set breakpoint ignore count.'''
2449            exe = os.path.join(os.getcwd(), 'a.out')
2450
2451            # Create a target by the debugger.
2452            target = self.dbg.CreateTarget(exe)
2453            self.assertTrue(target, VALID_TARGET)
2454
2455            # Now create a breakpoint on main.c by name 'c'.
2456            breakpoint = target.BreakpointCreateByName('c', 'a.out')
2457            self.assertTrue(breakpoint and
2458                            breakpoint.GetNumLocations() == 1,
2459                            VALID_BREAKPOINT)
2460
2461            # Get the breakpoint location from breakpoint after we verified that,
2462            # indeed, it has one location.
2463            location = breakpoint.GetLocationAtIndex(0)
2464            self.assertTrue(location and
2465                            location.IsEnabled(),
2466                            VALID_BREAKPOINT_LOCATION)
2467
2468            # Set the ignore count on the breakpoint location.
2469            location.SetIgnoreCount(2)
2470            self.assertTrue(location.GetIgnoreCount() == 2,
2471                            'SetIgnoreCount() works correctly')
2472
2473            # Now launch the process, and do not stop at entry point.
2474            process = target.LaunchSimple(None, None, os.getcwd())
2475            self.assertTrue(process, PROCESS_IS_VALID)
2476
2477            # Frame#0 should be on main.c:37, frame#1 should be on main.c:25, and
2478            # frame#2 should be on main.c:48.
2479            #lldbutil.print_stacktraces(process)
2480            from lldbutil import get_stopped_thread
2481            thread = get_stopped_thread(process, lldb.eStopReasonBreakpoint)
2482            self.assertTrue(thread is not None, 'There should be a thread stopped due to breakpoint')
2483            frame0 = thread.GetFrameAtIndex(0)
2484            frame1 = thread.GetFrameAtIndex(1)
2485            frame2 = thread.GetFrameAtIndex(2)
2486            self.assertTrue(frame0.GetLineEntry().GetLine() == self.line1 and
2487                            frame1.GetLineEntry().GetLine() == self.line3 and
2488                            frame2.GetLineEntry().GetLine() == self.line4,
2489                            STOPPED_DUE_TO_BREAKPOINT_IGNORE_COUNT)
2490
2491            # The hit count for the breakpoint should be 3.
2492            self.assertTrue(breakpoint.GetHitCount() == 3)
2493
2494            process.Continue()
2495
2496    SBBreakpoint supports breakpoint location iteration, for example,::
2497
2498        for bl in breakpoint:
2499            print('breakpoint location load addr: %s' % hex(bl.GetLoadAddress()))
2500            print('breakpoint location condition: %s' % hex(bl.GetCondition()))
2501
2502    and rich comparison methods which allow the API program to use,::
2503
2504        if aBreakpoint == bBreakpoint:
2505            ...
2506
2507    to compare two breakpoints for equality.
2508    """
2509
2510    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2511
2512    def __init__(self, *args):
2513        r"""
2514        __init__(SBBreakpoint self) -> SBBreakpoint
2515        __init__(SBBreakpoint self, SBBreakpoint rhs) -> SBBreakpoint
2516        """
2517        _lldb.SBBreakpoint_swiginit(self, _lldb.new_SBBreakpoint(*args))
2518    __swig_destroy__ = _lldb.delete_SBBreakpoint
2519
2520    def __eq__(self, rhs):
2521        r"""__eq__(SBBreakpoint self, SBBreakpoint rhs) -> bool"""
2522        return _lldb.SBBreakpoint___eq__(self, rhs)
2523
2524    def __ne__(self, rhs):
2525        r"""__ne__(SBBreakpoint self, SBBreakpoint rhs) -> bool"""
2526        return _lldb.SBBreakpoint___ne__(self, rhs)
2527
2528    def GetID(self):
2529        r"""GetID(SBBreakpoint self) -> lldb::break_id_t"""
2530        return _lldb.SBBreakpoint_GetID(self)
2531
2532    def __nonzero__(self):
2533        return _lldb.SBBreakpoint___nonzero__(self)
2534    __bool__ = __nonzero__
2535
2536
2537
2538    def IsValid(self):
2539        r"""IsValid(SBBreakpoint self) -> bool"""
2540        return _lldb.SBBreakpoint_IsValid(self)
2541
2542    def ClearAllBreakpointSites(self):
2543        r"""ClearAllBreakpointSites(SBBreakpoint self)"""
2544        return _lldb.SBBreakpoint_ClearAllBreakpointSites(self)
2545
2546    def GetTarget(self):
2547        r"""GetTarget(SBBreakpoint self) -> SBTarget"""
2548        return _lldb.SBBreakpoint_GetTarget(self)
2549
2550    def FindLocationByAddress(self, vm_addr):
2551        r"""FindLocationByAddress(SBBreakpoint self, lldb::addr_t vm_addr) -> SBBreakpointLocation"""
2552        return _lldb.SBBreakpoint_FindLocationByAddress(self, vm_addr)
2553
2554    def FindLocationIDByAddress(self, vm_addr):
2555        r"""FindLocationIDByAddress(SBBreakpoint self, lldb::addr_t vm_addr) -> lldb::break_id_t"""
2556        return _lldb.SBBreakpoint_FindLocationIDByAddress(self, vm_addr)
2557
2558    def FindLocationByID(self, bp_loc_id):
2559        r"""FindLocationByID(SBBreakpoint self, lldb::break_id_t bp_loc_id) -> SBBreakpointLocation"""
2560        return _lldb.SBBreakpoint_FindLocationByID(self, bp_loc_id)
2561
2562    def GetLocationAtIndex(self, index):
2563        r"""GetLocationAtIndex(SBBreakpoint self, uint32_t index) -> SBBreakpointLocation"""
2564        return _lldb.SBBreakpoint_GetLocationAtIndex(self, index)
2565
2566    def SetEnabled(self, enable):
2567        r"""SetEnabled(SBBreakpoint self, bool enable)"""
2568        return _lldb.SBBreakpoint_SetEnabled(self, enable)
2569
2570    def IsEnabled(self):
2571        r"""IsEnabled(SBBreakpoint self) -> bool"""
2572        return _lldb.SBBreakpoint_IsEnabled(self)
2573
2574    def SetOneShot(self, one_shot):
2575        r"""SetOneShot(SBBreakpoint self, bool one_shot)"""
2576        return _lldb.SBBreakpoint_SetOneShot(self, one_shot)
2577
2578    def IsOneShot(self):
2579        r"""IsOneShot(SBBreakpoint self) -> bool"""
2580        return _lldb.SBBreakpoint_IsOneShot(self)
2581
2582    def IsInternal(self):
2583        r"""IsInternal(SBBreakpoint self) -> bool"""
2584        return _lldb.SBBreakpoint_IsInternal(self)
2585
2586    def GetHitCount(self):
2587        r"""GetHitCount(SBBreakpoint self) -> uint32_t"""
2588        return _lldb.SBBreakpoint_GetHitCount(self)
2589
2590    def SetIgnoreCount(self, count):
2591        r"""SetIgnoreCount(SBBreakpoint self, uint32_t count)"""
2592        return _lldb.SBBreakpoint_SetIgnoreCount(self, count)
2593
2594    def GetIgnoreCount(self):
2595        r"""GetIgnoreCount(SBBreakpoint self) -> uint32_t"""
2596        return _lldb.SBBreakpoint_GetIgnoreCount(self)
2597
2598    def SetCondition(self, condition):
2599        r"""
2600        SetCondition(SBBreakpoint self, char const * condition)
2601
2602            The breakpoint stops only if the condition expression evaluates to true.
2603        """
2604        return _lldb.SBBreakpoint_SetCondition(self, condition)
2605
2606    def GetCondition(self):
2607        r"""
2608        GetCondition(SBBreakpoint self) -> char const *
2609
2610            Get the condition expression for the breakpoint.
2611        """
2612        return _lldb.SBBreakpoint_GetCondition(self)
2613
2614    def SetAutoContinue(self, auto_continue):
2615        r"""SetAutoContinue(SBBreakpoint self, bool auto_continue)"""
2616        return _lldb.SBBreakpoint_SetAutoContinue(self, auto_continue)
2617
2618    def GetAutoContinue(self):
2619        r"""GetAutoContinue(SBBreakpoint self) -> bool"""
2620        return _lldb.SBBreakpoint_GetAutoContinue(self)
2621
2622    def SetThreadID(self, sb_thread_id):
2623        r"""SetThreadID(SBBreakpoint self, lldb::tid_t sb_thread_id)"""
2624        return _lldb.SBBreakpoint_SetThreadID(self, sb_thread_id)
2625
2626    def GetThreadID(self):
2627        r"""GetThreadID(SBBreakpoint self) -> lldb::tid_t"""
2628        return _lldb.SBBreakpoint_GetThreadID(self)
2629
2630    def SetThreadIndex(self, index):
2631        r"""SetThreadIndex(SBBreakpoint self, uint32_t index)"""
2632        return _lldb.SBBreakpoint_SetThreadIndex(self, index)
2633
2634    def GetThreadIndex(self):
2635        r"""GetThreadIndex(SBBreakpoint self) -> uint32_t"""
2636        return _lldb.SBBreakpoint_GetThreadIndex(self)
2637
2638    def SetThreadName(self, thread_name):
2639        r"""SetThreadName(SBBreakpoint self, char const * thread_name)"""
2640        return _lldb.SBBreakpoint_SetThreadName(self, thread_name)
2641
2642    def GetThreadName(self):
2643        r"""GetThreadName(SBBreakpoint self) -> char const *"""
2644        return _lldb.SBBreakpoint_GetThreadName(self)
2645
2646    def SetQueueName(self, queue_name):
2647        r"""SetQueueName(SBBreakpoint self, char const * queue_name)"""
2648        return _lldb.SBBreakpoint_SetQueueName(self, queue_name)
2649
2650    def GetQueueName(self):
2651        r"""GetQueueName(SBBreakpoint self) -> char const *"""
2652        return _lldb.SBBreakpoint_GetQueueName(self)
2653
2654    def SetScriptCallbackFunction(self, *args):
2655        r"""
2656        SetScriptCallbackFunction(SBBreakpoint self, char const * callback_function_name)
2657        SetScriptCallbackFunction(SBBreakpoint self, char const * callback_function_name, SBStructuredData extra_args) -> SBError
2658
2659            Set the name of the script function to be called when the breakpoint is hit.
2660            To use this variant, the function should take (frame, bp_loc, extra_args, internal_dict) and
2661            when the breakpoint is hit the extra_args will be passed to the callback function.
2662        """
2663        return _lldb.SBBreakpoint_SetScriptCallbackFunction(self, *args)
2664
2665    def SetCommandLineCommands(self, commands):
2666        r"""SetCommandLineCommands(SBBreakpoint self, SBStringList commands)"""
2667        return _lldb.SBBreakpoint_SetCommandLineCommands(self, commands)
2668
2669    def GetCommandLineCommands(self, commands):
2670        r"""GetCommandLineCommands(SBBreakpoint self, SBStringList commands) -> bool"""
2671        return _lldb.SBBreakpoint_GetCommandLineCommands(self, commands)
2672
2673    def SetScriptCallbackBody(self, script_body_text):
2674        r"""
2675        SetScriptCallbackBody(SBBreakpoint self, char const * script_body_text) -> SBError
2676
2677            Provide the body for the script function to be called when the breakpoint is hit.
2678            The body will be wrapped in a function, which be passed two arguments:
2679            'frame' - which holds the bottom-most SBFrame of the thread that hit the breakpoint
2680            'bpno'  - which is the SBBreakpointLocation to which the callback was attached.
2681
2682            The error parameter is currently ignored, but will at some point hold the Python
2683            compilation diagnostics.
2684            Returns true if the body compiles successfully, false if not.
2685        """
2686        return _lldb.SBBreakpoint_SetScriptCallbackBody(self, script_body_text)
2687
2688    def AddName(self, new_name):
2689        r"""AddName(SBBreakpoint self, char const * new_name) -> bool"""
2690        return _lldb.SBBreakpoint_AddName(self, new_name)
2691
2692    def AddNameWithErrorHandling(self, new_name):
2693        r"""AddNameWithErrorHandling(SBBreakpoint self, char const * new_name) -> SBError"""
2694        return _lldb.SBBreakpoint_AddNameWithErrorHandling(self, new_name)
2695
2696    def RemoveName(self, name_to_remove):
2697        r"""RemoveName(SBBreakpoint self, char const * name_to_remove)"""
2698        return _lldb.SBBreakpoint_RemoveName(self, name_to_remove)
2699
2700    def MatchesName(self, name):
2701        r"""MatchesName(SBBreakpoint self, char const * name) -> bool"""
2702        return _lldb.SBBreakpoint_MatchesName(self, name)
2703
2704    def GetNames(self, names):
2705        r"""GetNames(SBBreakpoint self, SBStringList names)"""
2706        return _lldb.SBBreakpoint_GetNames(self, names)
2707
2708    def GetNumResolvedLocations(self):
2709        r"""GetNumResolvedLocations(SBBreakpoint self) -> size_t"""
2710        return _lldb.SBBreakpoint_GetNumResolvedLocations(self)
2711
2712    def GetNumLocations(self):
2713        r"""GetNumLocations(SBBreakpoint self) -> size_t"""
2714        return _lldb.SBBreakpoint_GetNumLocations(self)
2715
2716    def GetDescription(self, *args):
2717        r"""
2718        GetDescription(SBBreakpoint self, SBStream description) -> bool
2719        GetDescription(SBBreakpoint self, SBStream description, bool include_locations) -> bool
2720        """
2721        return _lldb.SBBreakpoint_GetDescription(self, *args)
2722
2723    @staticmethod
2724    def EventIsBreakpointEvent(event):
2725        r"""EventIsBreakpointEvent(SBEvent event) -> bool"""
2726        return _lldb.SBBreakpoint_EventIsBreakpointEvent(event)
2727
2728    @staticmethod
2729    def GetBreakpointEventTypeFromEvent(event):
2730        r"""GetBreakpointEventTypeFromEvent(SBEvent event) -> lldb::BreakpointEventType"""
2731        return _lldb.SBBreakpoint_GetBreakpointEventTypeFromEvent(event)
2732
2733    @staticmethod
2734    def GetBreakpointFromEvent(event):
2735        r"""GetBreakpointFromEvent(SBEvent event) -> SBBreakpoint"""
2736        return _lldb.SBBreakpoint_GetBreakpointFromEvent(event)
2737
2738    @staticmethod
2739    def GetBreakpointLocationAtIndexFromEvent(event, loc_idx):
2740        r"""GetBreakpointLocationAtIndexFromEvent(SBEvent event, uint32_t loc_idx) -> SBBreakpointLocation"""
2741        return _lldb.SBBreakpoint_GetBreakpointLocationAtIndexFromEvent(event, loc_idx)
2742
2743    @staticmethod
2744    def GetNumBreakpointLocationsFromEvent(event_sp):
2745        r"""GetNumBreakpointLocationsFromEvent(SBEvent event_sp) -> uint32_t"""
2746        return _lldb.SBBreakpoint_GetNumBreakpointLocationsFromEvent(event_sp)
2747
2748    def IsHardware(self):
2749        r"""IsHardware(SBBreakpoint self) -> bool"""
2750        return _lldb.SBBreakpoint_IsHardware(self)
2751
2752    def AddLocation(self, address):
2753        r"""AddLocation(SBBreakpoint self, SBAddress address) -> SBError"""
2754        return _lldb.SBBreakpoint_AddLocation(self, address)
2755
2756    def SerializeToStructuredData(self):
2757        r"""SerializeToStructuredData(SBBreakpoint self) -> SBStructuredData"""
2758        return _lldb.SBBreakpoint_SerializeToStructuredData(self)
2759
2760    def __repr__(self):
2761        r"""__repr__(SBBreakpoint self) -> std::string"""
2762        return _lldb.SBBreakpoint___repr__(self)
2763
2764
2765    class locations_access(object):
2766        '''A helper object that will lazily hand out locations for a breakpoint when supplied an index.'''
2767        def __init__(self, sbbreakpoint):
2768            self.sbbreakpoint = sbbreakpoint
2769
2770        def __len__(self):
2771            if self.sbbreakpoint:
2772                return int(self.sbbreakpoint.GetNumLocations())
2773            return 0
2774
2775        def __getitem__(self, key):
2776            if isinstance(key, int):
2777                count = len(self)
2778                if -count <= key < count:
2779                    key %= count
2780                    return self.sbbreakpoint.GetLocationAtIndex(key)
2781            return None
2782
2783    def get_locations_access_object(self):
2784        '''An accessor function that returns a locations_access() object which allows lazy location access from a lldb.SBBreakpoint object.'''
2785        return self.locations_access (self)
2786
2787    def get_breakpoint_location_list(self):
2788        '''An accessor function that returns a list() that contains all locations in a lldb.SBBreakpoint object.'''
2789        locations = []
2790        accessor = self.get_locations_access_object()
2791        for idx in range(len(accessor)):
2792            locations.append(accessor[idx])
2793        return locations
2794
2795    def __iter__(self):
2796        '''Iterate over all breakpoint locations in a lldb.SBBreakpoint
2797        object.'''
2798        return lldb_iter(self, 'GetNumLocations', 'GetLocationAtIndex')
2799
2800    def __len__(self):
2801        '''Return the number of breakpoint locations in a lldb.SBBreakpoint
2802        object.'''
2803        return self.GetNumLocations()
2804
2805    locations = property(get_breakpoint_location_list, None, doc='''A read only property that returns a list() of lldb.SBBreakpointLocation objects for this breakpoint.''')
2806    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]).''')
2807    id = property(GetID, None, doc='''A read only property that returns the ID of this breakpoint.''')
2808    enabled = property(IsEnabled, SetEnabled, doc='''A read/write property that configures whether this breakpoint is enabled or not.''')
2809    one_shot = property(IsOneShot, SetOneShot, doc='''A read/write property that configures whether this breakpoint is one-shot (deleted when hit) or not.''')
2810    num_locations = property(GetNumLocations, None, doc='''A read only property that returns the count of locations of this breakpoint.''')
2811
2812
2813    def __eq__(self, rhs):
2814        if not isinstance(rhs, type(self)):
2815            return False
2816
2817        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
2818
2819    def __ne__(self, rhs):
2820        if not isinstance(rhs, type(self)):
2821            return True
2822
2823        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
2824
2825
2826# Register SBBreakpoint in _lldb:
2827_lldb.SBBreakpoint_swigregister(SBBreakpoint)
2828class SBBreakpointList(object):
2829    r"""Represents a list of :py:class:`SBBreakpoint`."""
2830
2831    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2832    __repr__ = _swig_repr
2833
2834    def __init__(self, target):
2835        r"""__init__(SBBreakpointList self, SBTarget target) -> SBBreakpointList"""
2836        _lldb.SBBreakpointList_swiginit(self, _lldb.new_SBBreakpointList(target))
2837    __swig_destroy__ = _lldb.delete_SBBreakpointList
2838
2839    def GetSize(self):
2840        r"""GetSize(SBBreakpointList self) -> size_t"""
2841        return _lldb.SBBreakpointList_GetSize(self)
2842
2843    def GetBreakpointAtIndex(self, idx):
2844        r"""GetBreakpointAtIndex(SBBreakpointList self, size_t idx) -> SBBreakpoint"""
2845        return _lldb.SBBreakpointList_GetBreakpointAtIndex(self, idx)
2846
2847    def FindBreakpointByID(self, arg2):
2848        r"""FindBreakpointByID(SBBreakpointList self, lldb::break_id_t arg2) -> SBBreakpoint"""
2849        return _lldb.SBBreakpointList_FindBreakpointByID(self, arg2)
2850
2851    def Append(self, sb_bkpt):
2852        r"""Append(SBBreakpointList self, SBBreakpoint sb_bkpt)"""
2853        return _lldb.SBBreakpointList_Append(self, sb_bkpt)
2854
2855    def AppendIfUnique(self, sb_bkpt):
2856        r"""AppendIfUnique(SBBreakpointList self, SBBreakpoint sb_bkpt) -> bool"""
2857        return _lldb.SBBreakpointList_AppendIfUnique(self, sb_bkpt)
2858
2859    def AppendByID(self, id):
2860        r"""AppendByID(SBBreakpointList self, lldb::break_id_t id)"""
2861        return _lldb.SBBreakpointList_AppendByID(self, id)
2862
2863    def Clear(self):
2864        r"""Clear(SBBreakpointList self)"""
2865        return _lldb.SBBreakpointList_Clear(self)
2866
2867    def __len__(self):
2868        '''Return the number of breakpoints in a lldb.SBBreakpointList object.'''
2869        return self.GetSize()
2870
2871    def __iter__(self):
2872        '''Iterate over all breakpoints in a lldb.SBBreakpointList object.'''
2873        return lldb_iter(self, 'GetSize', 'GetBreakpointAtIndex')
2874
2875
2876# Register SBBreakpointList in _lldb:
2877_lldb.SBBreakpointList_swigregister(SBBreakpointList)
2878class SBBreakpointLocation(object):
2879    r"""
2880    Represents one unique instance (by address) of a logical breakpoint.
2881
2882    A breakpoint location is defined by the breakpoint that produces it,
2883    and the address that resulted in this particular instantiation.
2884    Each breakpoint location has its settable options.
2885
2886    :py:class:`SBBreakpoint` contains SBBreakpointLocation(s). See docstring of SBBreakpoint
2887    for retrieval of an SBBreakpointLocation from an SBBreakpoint.
2888    """
2889
2890    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2891
2892    def __init__(self, *args):
2893        r"""
2894        __init__(SBBreakpointLocation self) -> SBBreakpointLocation
2895        __init__(SBBreakpointLocation self, SBBreakpointLocation rhs) -> SBBreakpointLocation
2896        """
2897        _lldb.SBBreakpointLocation_swiginit(self, _lldb.new_SBBreakpointLocation(*args))
2898    __swig_destroy__ = _lldb.delete_SBBreakpointLocation
2899
2900    def GetID(self):
2901        r"""GetID(SBBreakpointLocation self) -> lldb::break_id_t"""
2902        return _lldb.SBBreakpointLocation_GetID(self)
2903
2904    def __nonzero__(self):
2905        return _lldb.SBBreakpointLocation___nonzero__(self)
2906    __bool__ = __nonzero__
2907
2908
2909
2910    def IsValid(self):
2911        r"""IsValid(SBBreakpointLocation self) -> bool"""
2912        return _lldb.SBBreakpointLocation_IsValid(self)
2913
2914    def GetAddress(self):
2915        r"""GetAddress(SBBreakpointLocation self) -> SBAddress"""
2916        return _lldb.SBBreakpointLocation_GetAddress(self)
2917
2918    def GetLoadAddress(self):
2919        r"""GetLoadAddress(SBBreakpointLocation self) -> lldb::addr_t"""
2920        return _lldb.SBBreakpointLocation_GetLoadAddress(self)
2921
2922    def SetEnabled(self, enabled):
2923        r"""SetEnabled(SBBreakpointLocation self, bool enabled)"""
2924        return _lldb.SBBreakpointLocation_SetEnabled(self, enabled)
2925
2926    def IsEnabled(self):
2927        r"""IsEnabled(SBBreakpointLocation self) -> bool"""
2928        return _lldb.SBBreakpointLocation_IsEnabled(self)
2929
2930    def GetHitCount(self):
2931        r"""GetHitCount(SBBreakpointLocation self) -> uint32_t"""
2932        return _lldb.SBBreakpointLocation_GetHitCount(self)
2933
2934    def GetIgnoreCount(self):
2935        r"""GetIgnoreCount(SBBreakpointLocation self) -> uint32_t"""
2936        return _lldb.SBBreakpointLocation_GetIgnoreCount(self)
2937
2938    def SetIgnoreCount(self, n):
2939        r"""SetIgnoreCount(SBBreakpointLocation self, uint32_t n)"""
2940        return _lldb.SBBreakpointLocation_SetIgnoreCount(self, n)
2941
2942    def SetCondition(self, condition):
2943        r"""
2944        SetCondition(SBBreakpointLocation self, char const * condition)
2945
2946            The breakpoint location stops only if the condition expression evaluates
2947            to true.
2948        """
2949        return _lldb.SBBreakpointLocation_SetCondition(self, condition)
2950
2951    def GetCondition(self):
2952        r"""
2953        GetCondition(SBBreakpointLocation self) -> char const *
2954
2955            Get the condition expression for the breakpoint location.
2956        """
2957        return _lldb.SBBreakpointLocation_GetCondition(self)
2958
2959    def SetAutoContinue(self, auto_continue):
2960        r"""SetAutoContinue(SBBreakpointLocation self, bool auto_continue)"""
2961        return _lldb.SBBreakpointLocation_SetAutoContinue(self, auto_continue)
2962
2963    def GetAutoContinue(self):
2964        r"""GetAutoContinue(SBBreakpointLocation self) -> bool"""
2965        return _lldb.SBBreakpointLocation_GetAutoContinue(self)
2966
2967    def SetScriptCallbackFunction(self, *args):
2968        r"""
2969        SetScriptCallbackFunction(SBBreakpointLocation self, char const * callback_function_name)
2970        SetScriptCallbackFunction(SBBreakpointLocation self, char const * callback_function_name, SBStructuredData extra_args) -> SBError
2971
2972            Set the name of the script function to be called when the breakpoint is hit.
2973            To use this variant, the function should take (frame, bp_loc, extra_args, internal_dict) and
2974            when the breakpoint is hit the extra_args will be passed to the callback function.
2975        """
2976        return _lldb.SBBreakpointLocation_SetScriptCallbackFunction(self, *args)
2977
2978    def SetScriptCallbackBody(self, script_body_text):
2979        r"""
2980        SetScriptCallbackBody(SBBreakpointLocation self, char const * script_body_text) -> SBError
2981
2982            Provide the body for the script function to be called when the breakpoint location is hit.
2983            The body will be wrapped in a function, which be passed two arguments:
2984            'frame' - which holds the bottom-most SBFrame of the thread that hit the breakpoint
2985            'bpno'  - which is the SBBreakpointLocation to which the callback was attached.
2986
2987            The error parameter is currently ignored, but will at some point hold the Python
2988            compilation diagnostics.
2989            Returns true if the body compiles successfully, false if not.
2990        """
2991        return _lldb.SBBreakpointLocation_SetScriptCallbackBody(self, script_body_text)
2992
2993    def SetCommandLineCommands(self, commands):
2994        r"""SetCommandLineCommands(SBBreakpointLocation self, SBStringList commands)"""
2995        return _lldb.SBBreakpointLocation_SetCommandLineCommands(self, commands)
2996
2997    def GetCommandLineCommands(self, commands):
2998        r"""GetCommandLineCommands(SBBreakpointLocation self, SBStringList commands) -> bool"""
2999        return _lldb.SBBreakpointLocation_GetCommandLineCommands(self, commands)
3000
3001    def SetThreadID(self, sb_thread_id):
3002        r"""SetThreadID(SBBreakpointLocation self, lldb::tid_t sb_thread_id)"""
3003        return _lldb.SBBreakpointLocation_SetThreadID(self, sb_thread_id)
3004
3005    def GetThreadID(self):
3006        r"""GetThreadID(SBBreakpointLocation self) -> lldb::tid_t"""
3007        return _lldb.SBBreakpointLocation_GetThreadID(self)
3008
3009    def SetThreadIndex(self, index):
3010        r"""SetThreadIndex(SBBreakpointLocation self, uint32_t index)"""
3011        return _lldb.SBBreakpointLocation_SetThreadIndex(self, index)
3012
3013    def GetThreadIndex(self):
3014        r"""GetThreadIndex(SBBreakpointLocation self) -> uint32_t"""
3015        return _lldb.SBBreakpointLocation_GetThreadIndex(self)
3016
3017    def SetThreadName(self, thread_name):
3018        r"""SetThreadName(SBBreakpointLocation self, char const * thread_name)"""
3019        return _lldb.SBBreakpointLocation_SetThreadName(self, thread_name)
3020
3021    def GetThreadName(self):
3022        r"""GetThreadName(SBBreakpointLocation self) -> char const *"""
3023        return _lldb.SBBreakpointLocation_GetThreadName(self)
3024
3025    def SetQueueName(self, queue_name):
3026        r"""SetQueueName(SBBreakpointLocation self, char const * queue_name)"""
3027        return _lldb.SBBreakpointLocation_SetQueueName(self, queue_name)
3028
3029    def GetQueueName(self):
3030        r"""GetQueueName(SBBreakpointLocation self) -> char const *"""
3031        return _lldb.SBBreakpointLocation_GetQueueName(self)
3032
3033    def IsResolved(self):
3034        r"""IsResolved(SBBreakpointLocation self) -> bool"""
3035        return _lldb.SBBreakpointLocation_IsResolved(self)
3036
3037    def GetDescription(self, description, level):
3038        r"""GetDescription(SBBreakpointLocation self, SBStream description, lldb::DescriptionLevel level) -> bool"""
3039        return _lldb.SBBreakpointLocation_GetDescription(self, description, level)
3040
3041    def GetBreakpoint(self):
3042        r"""GetBreakpoint(SBBreakpointLocation self) -> SBBreakpoint"""
3043        return _lldb.SBBreakpointLocation_GetBreakpoint(self)
3044
3045    def __repr__(self):
3046        r"""__repr__(SBBreakpointLocation self) -> std::string"""
3047        return _lldb.SBBreakpointLocation___repr__(self)
3048
3049        # operator== is a free function, which swig does not handle, so we inject
3050        # our own equality operator here
3051    def __eq__(self, other):
3052      return not self.__ne__(other)
3053
3054
3055# Register SBBreakpointLocation in _lldb:
3056_lldb.SBBreakpointLocation_swigregister(SBBreakpointLocation)
3057class SBBreakpointName(object):
3058    r"""
3059    Represents a breakpoint name registered in a given :py:class:`SBTarget`.
3060
3061    Breakpoint names provide a way to act on groups of breakpoints.  When you add a
3062    name to a group of breakpoints, you can then use the name in all the command
3063    line lldb commands for that name.  You can also configure the SBBreakpointName
3064    options and those options will be propagated to any :py:class:`SBBreakpoint` s currently
3065    using that name.  Adding a name to a breakpoint will also apply any of the
3066    set options to that breakpoint.
3067
3068    You can also set permissions on a breakpoint name to disable listing, deleting
3069    and disabling breakpoints.  That will disallow the given operation for breakpoints
3070    except when the breakpoint is mentioned by ID.  So for instance deleting all the
3071    breakpoints won't delete breakpoints so marked.
3072    """
3073
3074    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3075
3076    def __init__(self, *args):
3077        r"""
3078        __init__(SBBreakpointName self) -> SBBreakpointName
3079        __init__(SBBreakpointName self, SBTarget target, char const * name) -> SBBreakpointName
3080        __init__(SBBreakpointName self, SBBreakpoint bkpt, char const * name) -> SBBreakpointName
3081        __init__(SBBreakpointName self, SBBreakpointName rhs) -> SBBreakpointName
3082        """
3083        _lldb.SBBreakpointName_swiginit(self, _lldb.new_SBBreakpointName(*args))
3084    __swig_destroy__ = _lldb.delete_SBBreakpointName
3085
3086    def __eq__(self, rhs):
3087        r"""__eq__(SBBreakpointName self, SBBreakpointName rhs) -> bool"""
3088        return _lldb.SBBreakpointName___eq__(self, rhs)
3089
3090    def __ne__(self, rhs):
3091        r"""__ne__(SBBreakpointName self, SBBreakpointName rhs) -> bool"""
3092        return _lldb.SBBreakpointName___ne__(self, rhs)
3093
3094    def __nonzero__(self):
3095        return _lldb.SBBreakpointName___nonzero__(self)
3096    __bool__ = __nonzero__
3097
3098
3099
3100    def IsValid(self):
3101        r"""IsValid(SBBreakpointName self) -> bool"""
3102        return _lldb.SBBreakpointName_IsValid(self)
3103
3104    def GetName(self):
3105        r"""GetName(SBBreakpointName self) -> char const *"""
3106        return _lldb.SBBreakpointName_GetName(self)
3107
3108    def SetEnabled(self, enable):
3109        r"""SetEnabled(SBBreakpointName self, bool enable)"""
3110        return _lldb.SBBreakpointName_SetEnabled(self, enable)
3111
3112    def IsEnabled(self):
3113        r"""IsEnabled(SBBreakpointName self) -> bool"""
3114        return _lldb.SBBreakpointName_IsEnabled(self)
3115
3116    def SetOneShot(self, one_shot):
3117        r"""SetOneShot(SBBreakpointName self, bool one_shot)"""
3118        return _lldb.SBBreakpointName_SetOneShot(self, one_shot)
3119
3120    def IsOneShot(self):
3121        r"""IsOneShot(SBBreakpointName self) -> bool"""
3122        return _lldb.SBBreakpointName_IsOneShot(self)
3123
3124    def SetIgnoreCount(self, count):
3125        r"""SetIgnoreCount(SBBreakpointName self, uint32_t count)"""
3126        return _lldb.SBBreakpointName_SetIgnoreCount(self, count)
3127
3128    def GetIgnoreCount(self):
3129        r"""GetIgnoreCount(SBBreakpointName self) -> uint32_t"""
3130        return _lldb.SBBreakpointName_GetIgnoreCount(self)
3131
3132    def SetCondition(self, condition):
3133        r"""SetCondition(SBBreakpointName self, char const * condition)"""
3134        return _lldb.SBBreakpointName_SetCondition(self, condition)
3135
3136    def GetCondition(self):
3137        r"""GetCondition(SBBreakpointName self) -> char const *"""
3138        return _lldb.SBBreakpointName_GetCondition(self)
3139
3140    def SetAutoContinue(self, auto_continue):
3141        r"""SetAutoContinue(SBBreakpointName self, bool auto_continue)"""
3142        return _lldb.SBBreakpointName_SetAutoContinue(self, auto_continue)
3143
3144    def GetAutoContinue(self):
3145        r"""GetAutoContinue(SBBreakpointName self) -> bool"""
3146        return _lldb.SBBreakpointName_GetAutoContinue(self)
3147
3148    def SetThreadID(self, sb_thread_id):
3149        r"""SetThreadID(SBBreakpointName self, lldb::tid_t sb_thread_id)"""
3150        return _lldb.SBBreakpointName_SetThreadID(self, sb_thread_id)
3151
3152    def GetThreadID(self):
3153        r"""GetThreadID(SBBreakpointName self) -> lldb::tid_t"""
3154        return _lldb.SBBreakpointName_GetThreadID(self)
3155
3156    def SetThreadIndex(self, index):
3157        r"""SetThreadIndex(SBBreakpointName self, uint32_t index)"""
3158        return _lldb.SBBreakpointName_SetThreadIndex(self, index)
3159
3160    def GetThreadIndex(self):
3161        r"""GetThreadIndex(SBBreakpointName self) -> uint32_t"""
3162        return _lldb.SBBreakpointName_GetThreadIndex(self)
3163
3164    def SetThreadName(self, thread_name):
3165        r"""SetThreadName(SBBreakpointName self, char const * thread_name)"""
3166        return _lldb.SBBreakpointName_SetThreadName(self, thread_name)
3167
3168    def GetThreadName(self):
3169        r"""GetThreadName(SBBreakpointName self) -> char const *"""
3170        return _lldb.SBBreakpointName_GetThreadName(self)
3171
3172    def SetQueueName(self, queue_name):
3173        r"""SetQueueName(SBBreakpointName self, char const * queue_name)"""
3174        return _lldb.SBBreakpointName_SetQueueName(self, queue_name)
3175
3176    def GetQueueName(self):
3177        r"""GetQueueName(SBBreakpointName self) -> char const *"""
3178        return _lldb.SBBreakpointName_GetQueueName(self)
3179
3180    def SetScriptCallbackFunction(self, *args):
3181        r"""
3182        SetScriptCallbackFunction(SBBreakpointName self, char const * callback_function_name)
3183        SetScriptCallbackFunction(SBBreakpointName self, char const * callback_function_name, SBStructuredData extra_args) -> SBError
3184        """
3185        return _lldb.SBBreakpointName_SetScriptCallbackFunction(self, *args)
3186
3187    def SetCommandLineCommands(self, commands):
3188        r"""SetCommandLineCommands(SBBreakpointName self, SBStringList commands)"""
3189        return _lldb.SBBreakpointName_SetCommandLineCommands(self, commands)
3190
3191    def GetCommandLineCommands(self, commands):
3192        r"""GetCommandLineCommands(SBBreakpointName self, SBStringList commands) -> bool"""
3193        return _lldb.SBBreakpointName_GetCommandLineCommands(self, commands)
3194
3195    def SetScriptCallbackBody(self, script_body_text):
3196        r"""SetScriptCallbackBody(SBBreakpointName self, char const * script_body_text) -> SBError"""
3197        return _lldb.SBBreakpointName_SetScriptCallbackBody(self, script_body_text)
3198
3199    def GetHelpString(self):
3200        r"""GetHelpString(SBBreakpointName self) -> char const *"""
3201        return _lldb.SBBreakpointName_GetHelpString(self)
3202
3203    def SetHelpString(self, help_string):
3204        r"""SetHelpString(SBBreakpointName self, char const * help_string)"""
3205        return _lldb.SBBreakpointName_SetHelpString(self, help_string)
3206
3207    def GetAllowList(self):
3208        r"""GetAllowList(SBBreakpointName self) -> bool"""
3209        return _lldb.SBBreakpointName_GetAllowList(self)
3210
3211    def SetAllowList(self, value):
3212        r"""SetAllowList(SBBreakpointName self, bool value)"""
3213        return _lldb.SBBreakpointName_SetAllowList(self, value)
3214
3215    def GetAllowDelete(self):
3216        r"""GetAllowDelete(SBBreakpointName self) -> bool"""
3217        return _lldb.SBBreakpointName_GetAllowDelete(self)
3218
3219    def SetAllowDelete(self, value):
3220        r"""SetAllowDelete(SBBreakpointName self, bool value)"""
3221        return _lldb.SBBreakpointName_SetAllowDelete(self, value)
3222
3223    def GetAllowDisable(self):
3224        r"""GetAllowDisable(SBBreakpointName self) -> bool"""
3225        return _lldb.SBBreakpointName_GetAllowDisable(self)
3226
3227    def SetAllowDisable(self, value):
3228        r"""SetAllowDisable(SBBreakpointName self, bool value)"""
3229        return _lldb.SBBreakpointName_SetAllowDisable(self, value)
3230
3231    def GetDescription(self, description):
3232        r"""GetDescription(SBBreakpointName self, SBStream description) -> bool"""
3233        return _lldb.SBBreakpointName_GetDescription(self, description)
3234
3235    def __repr__(self):
3236        r"""__repr__(SBBreakpointName self) -> std::string"""
3237        return _lldb.SBBreakpointName___repr__(self)
3238
3239        # operator== is a free function, which swig does not handle, so we inject
3240        # our own equality operator here
3241    def __eq__(self, other):
3242      return not self.__ne__(other)
3243
3244
3245# Register SBBreakpointName in _lldb:
3246_lldb.SBBreakpointName_swigregister(SBBreakpointName)
3247class SBBroadcaster(object):
3248    r"""
3249    Represents an entity which can broadcast events.
3250
3251    A default broadcaster is
3252    associated with an SBCommandInterpreter, SBProcess, and SBTarget.  For
3253    example, use ::
3254
3255        broadcaster = process.GetBroadcaster()
3256
3257    to retrieve the process's broadcaster.
3258
3259    See also SBEvent for example usage of interacting with a broadcaster.
3260    """
3261
3262    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3263    __repr__ = _swig_repr
3264
3265    def __init__(self, *args):
3266        r"""
3267        __init__(SBBroadcaster self) -> SBBroadcaster
3268        __init__(SBBroadcaster self, char const * name) -> SBBroadcaster
3269        __init__(SBBroadcaster self, SBBroadcaster rhs) -> SBBroadcaster
3270        """
3271        _lldb.SBBroadcaster_swiginit(self, _lldb.new_SBBroadcaster(*args))
3272    __swig_destroy__ = _lldb.delete_SBBroadcaster
3273
3274    def __nonzero__(self):
3275        return _lldb.SBBroadcaster___nonzero__(self)
3276    __bool__ = __nonzero__
3277
3278
3279
3280    def IsValid(self):
3281        r"""IsValid(SBBroadcaster self) -> bool"""
3282        return _lldb.SBBroadcaster_IsValid(self)
3283
3284    def Clear(self):
3285        r"""Clear(SBBroadcaster self)"""
3286        return _lldb.SBBroadcaster_Clear(self)
3287
3288    def BroadcastEventByType(self, event_type, unique=False):
3289        r"""BroadcastEventByType(SBBroadcaster self, uint32_t event_type, bool unique=False)"""
3290        return _lldb.SBBroadcaster_BroadcastEventByType(self, event_type, unique)
3291
3292    def BroadcastEvent(self, event, unique=False):
3293        r"""BroadcastEvent(SBBroadcaster self, SBEvent event, bool unique=False)"""
3294        return _lldb.SBBroadcaster_BroadcastEvent(self, event, unique)
3295
3296    def AddInitialEventsToListener(self, listener, requested_events):
3297        r"""AddInitialEventsToListener(SBBroadcaster self, SBListener listener, uint32_t requested_events)"""
3298        return _lldb.SBBroadcaster_AddInitialEventsToListener(self, listener, requested_events)
3299
3300    def AddListener(self, listener, event_mask):
3301        r"""AddListener(SBBroadcaster self, SBListener listener, uint32_t event_mask) -> uint32_t"""
3302        return _lldb.SBBroadcaster_AddListener(self, listener, event_mask)
3303
3304    def GetName(self):
3305        r"""GetName(SBBroadcaster self) -> char const *"""
3306        return _lldb.SBBroadcaster_GetName(self)
3307
3308    def EventTypeHasListeners(self, event_type):
3309        r"""EventTypeHasListeners(SBBroadcaster self, uint32_t event_type) -> bool"""
3310        return _lldb.SBBroadcaster_EventTypeHasListeners(self, event_type)
3311
3312    def RemoveListener(self, *args):
3313        r"""RemoveListener(SBBroadcaster self, SBListener listener, uint32_t event_mask=4294967295U) -> bool"""
3314        return _lldb.SBBroadcaster_RemoveListener(self, *args)
3315
3316    def __eq__(self, rhs):
3317        r"""__eq__(SBBroadcaster self, SBBroadcaster rhs) -> bool"""
3318        return _lldb.SBBroadcaster___eq__(self, rhs)
3319
3320    def __ne__(self, rhs):
3321        r"""__ne__(SBBroadcaster self, SBBroadcaster rhs) -> bool"""
3322        return _lldb.SBBroadcaster___ne__(self, rhs)
3323
3324    def __lt__(self, rhs):
3325        r"""__lt__(SBBroadcaster self, SBBroadcaster rhs) -> bool"""
3326        return _lldb.SBBroadcaster___lt__(self, rhs)
3327
3328        # operator== is a free function, which swig does not handle, so we inject
3329        # our own equality operator here
3330    def __eq__(self, other):
3331      return not self.__ne__(other)
3332
3333
3334    def __eq__(self, rhs):
3335        if not isinstance(rhs, type(self)):
3336            return False
3337
3338        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
3339
3340    def __ne__(self, rhs):
3341        if not isinstance(rhs, type(self)):
3342            return True
3343
3344        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
3345
3346
3347# Register SBBroadcaster in _lldb:
3348_lldb.SBBroadcaster_swigregister(SBBroadcaster)
3349class SBCommandInterpreter(object):
3350    r"""
3351    SBCommandInterpreter handles/interprets commands for lldb.
3352
3353    You get the command interpreter from the :py:class:`SBDebugger` instance.
3354
3355    For example (from test/ python_api/interpreter/TestCommandInterpreterAPI.py),::
3356
3357        def command_interpreter_api(self):
3358            '''Test the SBCommandInterpreter APIs.'''
3359            exe = os.path.join(os.getcwd(), 'a.out')
3360
3361            # Create a target by the debugger.
3362            target = self.dbg.CreateTarget(exe)
3363            self.assertTrue(target, VALID_TARGET)
3364
3365            # Retrieve the associated command interpreter from our debugger.
3366            ci = self.dbg.GetCommandInterpreter()
3367            self.assertTrue(ci, VALID_COMMAND_INTERPRETER)
3368
3369            # Exercise some APIs....
3370
3371            self.assertTrue(ci.HasCommands())
3372            self.assertTrue(ci.HasAliases())
3373            self.assertTrue(ci.HasAliasOptions())
3374            self.assertTrue(ci.CommandExists('breakpoint'))
3375            self.assertTrue(ci.CommandExists('target'))
3376            self.assertTrue(ci.CommandExists('platform'))
3377            self.assertTrue(ci.AliasExists('file'))
3378            self.assertTrue(ci.AliasExists('run'))
3379            self.assertTrue(ci.AliasExists('bt'))
3380
3381            res = lldb.SBCommandReturnObject()
3382            ci.HandleCommand('breakpoint set -f main.c -l %d' % self.line, res)
3383            self.assertTrue(res.Succeeded())
3384            ci.HandleCommand('process launch', res)
3385            self.assertTrue(res.Succeeded())
3386
3387            process = ci.GetProcess()
3388            self.assertTrue(process)
3389
3390            ...
3391
3392    The HandleCommand() instance method takes two args: the command string and
3393    an SBCommandReturnObject instance which encapsulates the result of command
3394    execution.
3395    """
3396
3397    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3398    __repr__ = _swig_repr
3399    eBroadcastBitThreadShouldExit = _lldb.SBCommandInterpreter_eBroadcastBitThreadShouldExit
3400
3401    eBroadcastBitResetPrompt = _lldb.SBCommandInterpreter_eBroadcastBitResetPrompt
3402
3403    eBroadcastBitQuitCommandReceived = _lldb.SBCommandInterpreter_eBroadcastBitQuitCommandReceived
3404
3405    eBroadcastBitAsynchronousOutputData = _lldb.SBCommandInterpreter_eBroadcastBitAsynchronousOutputData
3406
3407    eBroadcastBitAsynchronousErrorData = _lldb.SBCommandInterpreter_eBroadcastBitAsynchronousErrorData
3408
3409
3410    def __init__(self, *args):
3411        r"""
3412        __init__(SBCommandInterpreter self) -> SBCommandInterpreter
3413        __init__(SBCommandInterpreter self, SBCommandInterpreter rhs) -> SBCommandInterpreter
3414        """
3415        _lldb.SBCommandInterpreter_swiginit(self, _lldb.new_SBCommandInterpreter(*args))
3416    __swig_destroy__ = _lldb.delete_SBCommandInterpreter
3417
3418    @staticmethod
3419    def GetArgumentTypeAsCString(arg_type):
3420        r"""GetArgumentTypeAsCString(lldb::CommandArgumentType const arg_type) -> char const *"""
3421        return _lldb.SBCommandInterpreter_GetArgumentTypeAsCString(arg_type)
3422
3423    @staticmethod
3424    def GetArgumentDescriptionAsCString(arg_type):
3425        r"""GetArgumentDescriptionAsCString(lldb::CommandArgumentType const arg_type) -> char const *"""
3426        return _lldb.SBCommandInterpreter_GetArgumentDescriptionAsCString(arg_type)
3427
3428    @staticmethod
3429    def EventIsCommandInterpreterEvent(event):
3430        r"""EventIsCommandInterpreterEvent(SBEvent event) -> bool"""
3431        return _lldb.SBCommandInterpreter_EventIsCommandInterpreterEvent(event)
3432
3433    def __nonzero__(self):
3434        return _lldb.SBCommandInterpreter___nonzero__(self)
3435    __bool__ = __nonzero__
3436
3437
3438
3439    def IsValid(self):
3440        r"""IsValid(SBCommandInterpreter self) -> bool"""
3441        return _lldb.SBCommandInterpreter_IsValid(self)
3442
3443    def CommandExists(self, cmd):
3444        r"""CommandExists(SBCommandInterpreter self, char const * cmd) -> bool"""
3445        return _lldb.SBCommandInterpreter_CommandExists(self, cmd)
3446
3447    def UserCommandExists(self, cmd):
3448        r"""UserCommandExists(SBCommandInterpreter self, char const * cmd) -> bool"""
3449        return _lldb.SBCommandInterpreter_UserCommandExists(self, cmd)
3450
3451    def AliasExists(self, cmd):
3452        r"""AliasExists(SBCommandInterpreter self, char const * cmd) -> bool"""
3453        return _lldb.SBCommandInterpreter_AliasExists(self, cmd)
3454
3455    def GetBroadcaster(self):
3456        r"""GetBroadcaster(SBCommandInterpreter self) -> SBBroadcaster"""
3457        return _lldb.SBCommandInterpreter_GetBroadcaster(self)
3458
3459    @staticmethod
3460    def GetBroadcasterClass():
3461        r"""GetBroadcasterClass() -> char const *"""
3462        return _lldb.SBCommandInterpreter_GetBroadcasterClass()
3463
3464    def HasCommands(self):
3465        r"""HasCommands(SBCommandInterpreter self) -> bool"""
3466        return _lldb.SBCommandInterpreter_HasCommands(self)
3467
3468    def HasAliases(self):
3469        r"""HasAliases(SBCommandInterpreter self) -> bool"""
3470        return _lldb.SBCommandInterpreter_HasAliases(self)
3471
3472    def HasAliasOptions(self):
3473        r"""HasAliasOptions(SBCommandInterpreter self) -> bool"""
3474        return _lldb.SBCommandInterpreter_HasAliasOptions(self)
3475
3476    def IsInteractive(self):
3477        r"""IsInteractive(SBCommandInterpreter self) -> bool"""
3478        return _lldb.SBCommandInterpreter_IsInteractive(self)
3479
3480    def GetProcess(self):
3481        r"""GetProcess(SBCommandInterpreter self) -> SBProcess"""
3482        return _lldb.SBCommandInterpreter_GetProcess(self)
3483
3484    def GetDebugger(self):
3485        r"""GetDebugger(SBCommandInterpreter self) -> SBDebugger"""
3486        return _lldb.SBCommandInterpreter_GetDebugger(self)
3487
3488    def SourceInitFileInHomeDirectory(self, *args):
3489        r"""
3490        SourceInitFileInHomeDirectory(SBCommandInterpreter self, SBCommandReturnObject result)
3491        SourceInitFileInHomeDirectory(SBCommandInterpreter self, SBCommandReturnObject result, bool is_repl)
3492        """
3493        return _lldb.SBCommandInterpreter_SourceInitFileInHomeDirectory(self, *args)
3494
3495    def SourceInitFileInCurrentWorkingDirectory(self, result):
3496        r"""SourceInitFileInCurrentWorkingDirectory(SBCommandInterpreter self, SBCommandReturnObject result)"""
3497        return _lldb.SBCommandInterpreter_SourceInitFileInCurrentWorkingDirectory(self, result)
3498
3499    def HandleCommand(self, *args):
3500        r"""
3501        HandleCommand(SBCommandInterpreter self, char const * command_line, SBCommandReturnObject result, bool add_to_history=False) -> lldb::ReturnStatus
3502        HandleCommand(SBCommandInterpreter self, char const * command_line, SBExecutionContext exe_ctx, SBCommandReturnObject result, bool add_to_history=False) -> lldb::ReturnStatus
3503        """
3504        return _lldb.SBCommandInterpreter_HandleCommand(self, *args)
3505
3506    def HandleCommandsFromFile(self, file, override_context, options, result):
3507        r"""HandleCommandsFromFile(SBCommandInterpreter self, SBFileSpec file, SBExecutionContext override_context, SBCommandInterpreterRunOptions options, SBCommandReturnObject result)"""
3508        return _lldb.SBCommandInterpreter_HandleCommandsFromFile(self, file, override_context, options, result)
3509
3510    def HandleCompletion(self, current_line, cursor_pos, match_start_point, max_return_elements, matches):
3511        r"""HandleCompletion(SBCommandInterpreter self, char const * current_line, uint32_t cursor_pos, int match_start_point, int max_return_elements, SBStringList matches) -> int"""
3512        return _lldb.SBCommandInterpreter_HandleCompletion(self, current_line, cursor_pos, match_start_point, max_return_elements, matches)
3513
3514    def HandleCompletionWithDescriptions(self, current_line, cursor_pos, match_start_point, max_return_elements, matches, descriptions):
3515        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"""
3516        return _lldb.SBCommandInterpreter_HandleCompletionWithDescriptions(self, current_line, cursor_pos, match_start_point, max_return_elements, matches, descriptions)
3517
3518    def WasInterrupted(self):
3519        r"""WasInterrupted(SBCommandInterpreter self) -> bool"""
3520        return _lldb.SBCommandInterpreter_WasInterrupted(self)
3521
3522    def InterruptCommand(self):
3523        r"""InterruptCommand(SBCommandInterpreter self) -> bool"""
3524        return _lldb.SBCommandInterpreter_InterruptCommand(self)
3525
3526    def SetCommandOverrideCallback(self, command_name, callback):
3527        r"""SetCommandOverrideCallback(SBCommandInterpreter self, char const * command_name, lldb::CommandOverrideCallback callback) -> bool"""
3528        return _lldb.SBCommandInterpreter_SetCommandOverrideCallback(self, command_name, callback)
3529
3530    def IsActive(self):
3531        r"""IsActive(SBCommandInterpreter self) -> bool"""
3532        return _lldb.SBCommandInterpreter_IsActive(self)
3533
3534    def GetIOHandlerControlSequence(self, ch):
3535        r"""GetIOHandlerControlSequence(SBCommandInterpreter self, char ch) -> char const *"""
3536        return _lldb.SBCommandInterpreter_GetIOHandlerControlSequence(self, ch)
3537
3538    def GetPromptOnQuit(self):
3539        r"""GetPromptOnQuit(SBCommandInterpreter self) -> bool"""
3540        return _lldb.SBCommandInterpreter_GetPromptOnQuit(self)
3541
3542    def SetPromptOnQuit(self, b):
3543        r"""SetPromptOnQuit(SBCommandInterpreter self, bool b)"""
3544        return _lldb.SBCommandInterpreter_SetPromptOnQuit(self, b)
3545
3546    def AllowExitCodeOnQuit(self, allow):
3547        r"""AllowExitCodeOnQuit(SBCommandInterpreter self, bool allow)"""
3548        return _lldb.SBCommandInterpreter_AllowExitCodeOnQuit(self, allow)
3549
3550    def HasCustomQuitExitCode(self):
3551        r"""HasCustomQuitExitCode(SBCommandInterpreter self) -> bool"""
3552        return _lldb.SBCommandInterpreter_HasCustomQuitExitCode(self)
3553
3554    def GetQuitStatus(self):
3555        r"""GetQuitStatus(SBCommandInterpreter self) -> int"""
3556        return _lldb.SBCommandInterpreter_GetQuitStatus(self)
3557
3558    def ResolveCommand(self, command_line, result):
3559        r"""ResolveCommand(SBCommandInterpreter self, char const * command_line, SBCommandReturnObject result)"""
3560        return _lldb.SBCommandInterpreter_ResolveCommand(self, command_line, result)
3561
3562    def GetStatistics(self):
3563        r"""GetStatistics(SBCommandInterpreter self) -> SBStructuredData"""
3564        return _lldb.SBCommandInterpreter_GetStatistics(self)
3565
3566    def GetTranscript(self):
3567        r"""GetTranscript(SBCommandInterpreter self) -> SBStructuredData"""
3568        return _lldb.SBCommandInterpreter_GetTranscript(self)
3569
3570# Register SBCommandInterpreter in _lldb:
3571_lldb.SBCommandInterpreter_swigregister(SBCommandInterpreter)
3572class SBCommandInterpreterRunOptions(object):
3573    r"""
3574    SBCommandInterpreterRunOptions controls how the RunCommandInterpreter runs the code it is fed.
3575
3576    A default SBCommandInterpreterRunOptions object has:
3577
3578    * StopOnContinue: false
3579    * StopOnError:    false
3580    * StopOnCrash:    false
3581    * EchoCommands:   true
3582    * PrintResults:   true
3583    * PrintErrors:    true
3584    * AddToHistory:   true
3585    * AllowRepeats    false
3586
3587    Interactive debug sessions always allow repeats, the AllowRepeats
3588    run option only affects non-interactive sessions.
3589
3590    """
3591
3592    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3593    __repr__ = _swig_repr
3594
3595    def __init__(self, *args):
3596        r"""
3597        __init__(SBCommandInterpreterRunOptions self) -> SBCommandInterpreterRunOptions
3598        __init__(SBCommandInterpreterRunOptions self, SBCommandInterpreterRunOptions rhs) -> SBCommandInterpreterRunOptions
3599        """
3600        _lldb.SBCommandInterpreterRunOptions_swiginit(self, _lldb.new_SBCommandInterpreterRunOptions(*args))
3601    __swig_destroy__ = _lldb.delete_SBCommandInterpreterRunOptions
3602
3603    def GetStopOnContinue(self):
3604        r"""GetStopOnContinue(SBCommandInterpreterRunOptions self) -> bool"""
3605        return _lldb.SBCommandInterpreterRunOptions_GetStopOnContinue(self)
3606
3607    def SetStopOnContinue(self, arg2):
3608        r"""SetStopOnContinue(SBCommandInterpreterRunOptions self, bool arg2)"""
3609        return _lldb.SBCommandInterpreterRunOptions_SetStopOnContinue(self, arg2)
3610
3611    def GetStopOnError(self):
3612        r"""GetStopOnError(SBCommandInterpreterRunOptions self) -> bool"""
3613        return _lldb.SBCommandInterpreterRunOptions_GetStopOnError(self)
3614
3615    def SetStopOnError(self, arg2):
3616        r"""SetStopOnError(SBCommandInterpreterRunOptions self, bool arg2)"""
3617        return _lldb.SBCommandInterpreterRunOptions_SetStopOnError(self, arg2)
3618
3619    def GetStopOnCrash(self):
3620        r"""GetStopOnCrash(SBCommandInterpreterRunOptions self) -> bool"""
3621        return _lldb.SBCommandInterpreterRunOptions_GetStopOnCrash(self)
3622
3623    def SetStopOnCrash(self, arg2):
3624        r"""SetStopOnCrash(SBCommandInterpreterRunOptions self, bool arg2)"""
3625        return _lldb.SBCommandInterpreterRunOptions_SetStopOnCrash(self, arg2)
3626
3627    def GetEchoCommands(self):
3628        r"""GetEchoCommands(SBCommandInterpreterRunOptions self) -> bool"""
3629        return _lldb.SBCommandInterpreterRunOptions_GetEchoCommands(self)
3630
3631    def SetEchoCommands(self, arg2):
3632        r"""SetEchoCommands(SBCommandInterpreterRunOptions self, bool arg2)"""
3633        return _lldb.SBCommandInterpreterRunOptions_SetEchoCommands(self, arg2)
3634
3635    def GetEchoCommentCommands(self):
3636        r"""GetEchoCommentCommands(SBCommandInterpreterRunOptions self) -> bool"""
3637        return _lldb.SBCommandInterpreterRunOptions_GetEchoCommentCommands(self)
3638
3639    def SetEchoCommentCommands(self, echo):
3640        r"""SetEchoCommentCommands(SBCommandInterpreterRunOptions self, bool echo)"""
3641        return _lldb.SBCommandInterpreterRunOptions_SetEchoCommentCommands(self, echo)
3642
3643    def GetPrintResults(self):
3644        r"""GetPrintResults(SBCommandInterpreterRunOptions self) -> bool"""
3645        return _lldb.SBCommandInterpreterRunOptions_GetPrintResults(self)
3646
3647    def SetPrintResults(self, arg2):
3648        r"""SetPrintResults(SBCommandInterpreterRunOptions self, bool arg2)"""
3649        return _lldb.SBCommandInterpreterRunOptions_SetPrintResults(self, arg2)
3650
3651    def GetPrintErrors(self):
3652        r"""GetPrintErrors(SBCommandInterpreterRunOptions self) -> bool"""
3653        return _lldb.SBCommandInterpreterRunOptions_GetPrintErrors(self)
3654
3655    def SetPrintErrors(self, arg2):
3656        r"""SetPrintErrors(SBCommandInterpreterRunOptions self, bool arg2)"""
3657        return _lldb.SBCommandInterpreterRunOptions_SetPrintErrors(self, arg2)
3658
3659    def GetAddToHistory(self):
3660        r"""GetAddToHistory(SBCommandInterpreterRunOptions self) -> bool"""
3661        return _lldb.SBCommandInterpreterRunOptions_GetAddToHistory(self)
3662
3663    def SetAddToHistory(self, arg2):
3664        r"""SetAddToHistory(SBCommandInterpreterRunOptions self, bool arg2)"""
3665        return _lldb.SBCommandInterpreterRunOptions_SetAddToHistory(self, arg2)
3666
3667    def GetAutoHandleEvents(self):
3668        r"""GetAutoHandleEvents(SBCommandInterpreterRunOptions self) -> bool"""
3669        return _lldb.SBCommandInterpreterRunOptions_GetAutoHandleEvents(self)
3670
3671    def SetAutoHandleEvents(self, arg2):
3672        r"""SetAutoHandleEvents(SBCommandInterpreterRunOptions self, bool arg2)"""
3673        return _lldb.SBCommandInterpreterRunOptions_SetAutoHandleEvents(self, arg2)
3674
3675    def GetSpawnThread(self):
3676        r"""GetSpawnThread(SBCommandInterpreterRunOptions self) -> bool"""
3677        return _lldb.SBCommandInterpreterRunOptions_GetSpawnThread(self)
3678
3679    def SetSpawnThread(self, arg2):
3680        r"""SetSpawnThread(SBCommandInterpreterRunOptions self, bool arg2)"""
3681        return _lldb.SBCommandInterpreterRunOptions_SetSpawnThread(self, arg2)
3682
3683    def GetAllowRepeats(self):
3684        r"""GetAllowRepeats(SBCommandInterpreterRunOptions self) -> bool"""
3685        return _lldb.SBCommandInterpreterRunOptions_GetAllowRepeats(self)
3686
3687    def SetAllowRepeats(self, arg2):
3688        r"""SetAllowRepeats(SBCommandInterpreterRunOptions self, bool arg2)"""
3689        return _lldb.SBCommandInterpreterRunOptions_SetAllowRepeats(self, arg2)
3690
3691# Register SBCommandInterpreterRunOptions in _lldb:
3692_lldb.SBCommandInterpreterRunOptions_swigregister(SBCommandInterpreterRunOptions)
3693class SBCommandReturnObject(object):
3694    r"""
3695    Represents a container which holds the result from command execution.
3696    It works with :py:class:`SBCommandInterpreter.HandleCommand()` to encapsulate the result
3697    of command execution.
3698
3699    See :py:class:`SBCommandInterpreter` for example usage of SBCommandReturnObject.
3700    """
3701
3702    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3703
3704    def __init__(self, *args):
3705        r"""
3706        __init__(SBCommandReturnObject self) -> SBCommandReturnObject
3707        __init__(SBCommandReturnObject self, SBCommandReturnObject rhs) -> SBCommandReturnObject
3708        """
3709        _lldb.SBCommandReturnObject_swiginit(self, _lldb.new_SBCommandReturnObject(*args))
3710    __swig_destroy__ = _lldb.delete_SBCommandReturnObject
3711
3712    def __nonzero__(self):
3713        return _lldb.SBCommandReturnObject___nonzero__(self)
3714    __bool__ = __nonzero__
3715
3716
3717
3718    def IsValid(self):
3719        r"""IsValid(SBCommandReturnObject self) -> bool"""
3720        return _lldb.SBCommandReturnObject_IsValid(self)
3721
3722    def PutOutput(self, *args):
3723        r"""
3724        PutOutput(SBCommandReturnObject self, SBFile file) -> size_t
3725        PutOutput(SBCommandReturnObject self, lldb::FileSP BORROWED) -> size_t
3726        """
3727        return _lldb.SBCommandReturnObject_PutOutput(self, *args)
3728
3729    def GetOutputSize(self):
3730        r"""GetOutputSize(SBCommandReturnObject self) -> size_t"""
3731        return _lldb.SBCommandReturnObject_GetOutputSize(self)
3732
3733    def GetErrorSize(self):
3734        r"""GetErrorSize(SBCommandReturnObject self) -> size_t"""
3735        return _lldb.SBCommandReturnObject_GetErrorSize(self)
3736
3737    def PutError(self, *args):
3738        r"""
3739        PutError(SBCommandReturnObject self, SBFile file) -> size_t
3740        PutError(SBCommandReturnObject self, lldb::FileSP BORROWED) -> size_t
3741        """
3742        return _lldb.SBCommandReturnObject_PutError(self, *args)
3743
3744    def Clear(self):
3745        r"""Clear(SBCommandReturnObject self)"""
3746        return _lldb.SBCommandReturnObject_Clear(self)
3747
3748    def GetStatus(self):
3749        r"""GetStatus(SBCommandReturnObject self) -> lldb::ReturnStatus"""
3750        return _lldb.SBCommandReturnObject_GetStatus(self)
3751
3752    def SetStatus(self, status):
3753        r"""SetStatus(SBCommandReturnObject self, lldb::ReturnStatus status)"""
3754        return _lldb.SBCommandReturnObject_SetStatus(self, status)
3755
3756    def Succeeded(self):
3757        r"""Succeeded(SBCommandReturnObject self) -> bool"""
3758        return _lldb.SBCommandReturnObject_Succeeded(self)
3759
3760    def HasResult(self):
3761        r"""HasResult(SBCommandReturnObject self) -> bool"""
3762        return _lldb.SBCommandReturnObject_HasResult(self)
3763
3764    def AppendMessage(self, message):
3765        r"""AppendMessage(SBCommandReturnObject self, char const * message)"""
3766        return _lldb.SBCommandReturnObject_AppendMessage(self, message)
3767
3768    def AppendWarning(self, message):
3769        r"""AppendWarning(SBCommandReturnObject self, char const * message)"""
3770        return _lldb.SBCommandReturnObject_AppendWarning(self, message)
3771
3772    def GetDescription(self, description):
3773        r"""GetDescription(SBCommandReturnObject self, SBStream description) -> bool"""
3774        return _lldb.SBCommandReturnObject_GetDescription(self, description)
3775
3776    def PutCString(self, string):
3777        r"""PutCString(SBCommandReturnObject self, char const * string)"""
3778        return _lldb.SBCommandReturnObject_PutCString(self, string)
3779
3780    def GetOutput(self, *args):
3781        r"""
3782        GetOutput(SBCommandReturnObject self) -> char const
3783        GetOutput(SBCommandReturnObject self, bool only_if_no_immediate) -> char const *
3784        """
3785        return _lldb.SBCommandReturnObject_GetOutput(self, *args)
3786
3787    def GetError(self, *args):
3788        r"""
3789        GetError(SBCommandReturnObject self) -> char const
3790        GetError(SBCommandReturnObject self, bool only_if_no_immediate) -> char const *
3791        """
3792        return _lldb.SBCommandReturnObject_GetError(self, *args)
3793
3794    def SetError(self, *args):
3795        r"""
3796        SetError(SBCommandReturnObject self, SBError error, char const * fallback_error_cstr=None)
3797        SetError(SBCommandReturnObject self, char const * error_cstr)
3798        """
3799        return _lldb.SBCommandReturnObject_SetError(self, *args)
3800
3801    def __repr__(self):
3802        r"""__repr__(SBCommandReturnObject self) -> std::string"""
3803        return _lldb.SBCommandReturnObject___repr__(self)
3804
3805    def SetImmediateOutputFile(self, *args):
3806        r"""
3807        SetImmediateOutputFile(SBCommandReturnObject self, SBFile file)
3808        SetImmediateOutputFile(SBCommandReturnObject self, lldb::FileSP BORROWED)
3809        SetImmediateOutputFile(SBCommandReturnObject self, lldb::FileSP BORROWED, bool transfer_ownership)
3810        """
3811        return _lldb.SBCommandReturnObject_SetImmediateOutputFile(self, *args)
3812
3813    def SetImmediateErrorFile(self, *args):
3814        r"""
3815        SetImmediateErrorFile(SBCommandReturnObject self, SBFile file)
3816        SetImmediateErrorFile(SBCommandReturnObject self, lldb::FileSP BORROWED)
3817        SetImmediateErrorFile(SBCommandReturnObject self, lldb::FileSP BORROWED, bool transfer_ownership)
3818        """
3819        return _lldb.SBCommandReturnObject_SetImmediateErrorFile(self, *args)
3820
3821    def Print(self, str):
3822        r"""Print(SBCommandReturnObject self, char const * str)"""
3823        return _lldb.SBCommandReturnObject_Print(self, str)
3824
3825    def write(self, str):
3826        r"""write(SBCommandReturnObject self, char const * str)"""
3827        return _lldb.SBCommandReturnObject_write(self, str)
3828
3829    def flush(self):
3830        r"""flush(SBCommandReturnObject self)"""
3831        return _lldb.SBCommandReturnObject_flush(self)
3832
3833# Register SBCommandReturnObject in _lldb:
3834_lldb.SBCommandReturnObject_swigregister(SBCommandReturnObject)
3835class SBCommunication(object):
3836    r"""Allows sending/receiving data."""
3837
3838    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3839    __repr__ = _swig_repr
3840    eBroadcastBitDisconnected = _lldb.SBCommunication_eBroadcastBitDisconnected
3841
3842    eBroadcastBitReadThreadGotBytes = _lldb.SBCommunication_eBroadcastBitReadThreadGotBytes
3843
3844    eBroadcastBitReadThreadDidExit = _lldb.SBCommunication_eBroadcastBitReadThreadDidExit
3845
3846    eBroadcastBitReadThreadShouldExit = _lldb.SBCommunication_eBroadcastBitReadThreadShouldExit
3847
3848    eBroadcastBitPacketAvailable = _lldb.SBCommunication_eBroadcastBitPacketAvailable
3849
3850    eAllEventBits = _lldb.SBCommunication_eAllEventBits
3851
3852
3853    def __init__(self, *args):
3854        r"""
3855        __init__(SBCommunication self) -> SBCommunication
3856        __init__(SBCommunication self, char const * broadcaster_name) -> SBCommunication
3857        """
3858        _lldb.SBCommunication_swiginit(self, _lldb.new_SBCommunication(*args))
3859    __swig_destroy__ = _lldb.delete_SBCommunication
3860
3861    def __nonzero__(self):
3862        return _lldb.SBCommunication___nonzero__(self)
3863    __bool__ = __nonzero__
3864
3865
3866
3867    def IsValid(self):
3868        r"""IsValid(SBCommunication self) -> bool"""
3869        return _lldb.SBCommunication_IsValid(self)
3870
3871    def GetBroadcaster(self):
3872        r"""GetBroadcaster(SBCommunication self) -> SBBroadcaster"""
3873        return _lldb.SBCommunication_GetBroadcaster(self)
3874
3875    @staticmethod
3876    def GetBroadcasterClass():
3877        r"""GetBroadcasterClass() -> char const *"""
3878        return _lldb.SBCommunication_GetBroadcasterClass()
3879
3880    def AdoptFileDesriptor(self, fd, owns_fd):
3881        r"""AdoptFileDesriptor(SBCommunication self, int fd, bool owns_fd) -> lldb::ConnectionStatus"""
3882        return _lldb.SBCommunication_AdoptFileDesriptor(self, fd, owns_fd)
3883
3884    def Connect(self, url):
3885        r"""Connect(SBCommunication self, char const * url) -> lldb::ConnectionStatus"""
3886        return _lldb.SBCommunication_Connect(self, url)
3887
3888    def Disconnect(self):
3889        r"""Disconnect(SBCommunication self) -> lldb::ConnectionStatus"""
3890        return _lldb.SBCommunication_Disconnect(self)
3891
3892    def IsConnected(self):
3893        r"""IsConnected(SBCommunication self) -> bool"""
3894        return _lldb.SBCommunication_IsConnected(self)
3895
3896    def GetCloseOnEOF(self):
3897        r"""GetCloseOnEOF(SBCommunication self) -> bool"""
3898        return _lldb.SBCommunication_GetCloseOnEOF(self)
3899
3900    def SetCloseOnEOF(self, b):
3901        r"""SetCloseOnEOF(SBCommunication self, bool b)"""
3902        return _lldb.SBCommunication_SetCloseOnEOF(self, b)
3903
3904    def Read(self, dst, dst_len, timeout_usec, status):
3905        r"""Read(SBCommunication self, void * dst, size_t dst_len, uint32_t timeout_usec, lldb::ConnectionStatus & status) -> size_t"""
3906        return _lldb.SBCommunication_Read(self, dst, dst_len, timeout_usec, status)
3907
3908    def Write(self, src, src_len, status):
3909        r"""Write(SBCommunication self, void const * src, size_t src_len, lldb::ConnectionStatus & status) -> size_t"""
3910        return _lldb.SBCommunication_Write(self, src, src_len, status)
3911
3912    def ReadThreadStart(self):
3913        r"""ReadThreadStart(SBCommunication self) -> bool"""
3914        return _lldb.SBCommunication_ReadThreadStart(self)
3915
3916    def ReadThreadStop(self):
3917        r"""ReadThreadStop(SBCommunication self) -> bool"""
3918        return _lldb.SBCommunication_ReadThreadStop(self)
3919
3920    def ReadThreadIsRunning(self):
3921        r"""ReadThreadIsRunning(SBCommunication self) -> bool"""
3922        return _lldb.SBCommunication_ReadThreadIsRunning(self)
3923
3924    def SetReadThreadBytesReceivedCallback(self, callback, callback_baton):
3925        r"""SetReadThreadBytesReceivedCallback(SBCommunication self, lldb::SBCommunication::ReadThreadBytesReceived callback, void * callback_baton) -> bool"""
3926        return _lldb.SBCommunication_SetReadThreadBytesReceivedCallback(self, callback, callback_baton)
3927
3928# Register SBCommunication in _lldb:
3929_lldb.SBCommunication_swigregister(SBCommunication)
3930class SBCompileUnit(object):
3931    r"""
3932    Represents a compilation unit, or compiled source file.
3933
3934    SBCompileUnit supports line entry iteration. For example,::
3935
3936        # Now get the SBSymbolContext from this frame.  We want everything. :-)
3937        context = frame0.GetSymbolContext(lldb.eSymbolContextEverything)
3938        ...
3939
3940        compileUnit = context.GetCompileUnit()
3941
3942        for lineEntry in compileUnit:
3943            print('line entry: %s:%d' % (str(lineEntry.GetFileSpec()),
3944                                        lineEntry.GetLine()))
3945            print('start addr: %s' % str(lineEntry.GetStartAddress()))
3946            print('end   addr: %s' % str(lineEntry.GetEndAddress()))
3947
3948    produces: ::
3949
3950      line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:20
3951      start addr: a.out[0x100000d98]
3952      end   addr: a.out[0x100000da3]
3953      line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:21
3954      start addr: a.out[0x100000da3]
3955      end   addr: a.out[0x100000da9]
3956      line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:22
3957      start addr: a.out[0x100000da9]
3958      end   addr: a.out[0x100000db6]
3959      line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:23
3960      start addr: a.out[0x100000db6]
3961      end   addr: a.out[0x100000dbc]
3962      ...
3963
3964    See also :py:class:`SBSymbolContext` and :py:class:`SBLineEntry`
3965    """
3966
3967    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3968
3969    def __init__(self, *args):
3970        r"""
3971        __init__(SBCompileUnit self) -> SBCompileUnit
3972        __init__(SBCompileUnit self, SBCompileUnit rhs) -> SBCompileUnit
3973        """
3974        _lldb.SBCompileUnit_swiginit(self, _lldb.new_SBCompileUnit(*args))
3975    __swig_destroy__ = _lldb.delete_SBCompileUnit
3976
3977    def __nonzero__(self):
3978        return _lldb.SBCompileUnit___nonzero__(self)
3979    __bool__ = __nonzero__
3980
3981
3982
3983    def IsValid(self):
3984        r"""IsValid(SBCompileUnit self) -> bool"""
3985        return _lldb.SBCompileUnit_IsValid(self)
3986
3987    def GetFileSpec(self):
3988        r"""GetFileSpec(SBCompileUnit self) -> SBFileSpec"""
3989        return _lldb.SBCompileUnit_GetFileSpec(self)
3990
3991    def GetNumLineEntries(self):
3992        r"""GetNumLineEntries(SBCompileUnit self) -> uint32_t"""
3993        return _lldb.SBCompileUnit_GetNumLineEntries(self)
3994
3995    def GetLineEntryAtIndex(self, idx):
3996        r"""GetLineEntryAtIndex(SBCompileUnit self, uint32_t idx) -> SBLineEntry"""
3997        return _lldb.SBCompileUnit_GetLineEntryAtIndex(self, idx)
3998
3999    def FindLineEntryIndex(self, *args):
4000        r"""
4001        FindLineEntryIndex(SBCompileUnit self, SBLineEntry line_entry, bool exact=False) -> uint32_t
4002        FindLineEntryIndex(SBCompileUnit self, uint32_t start_idx, uint32_t line, SBFileSpec inline_file_spec) -> uint32_t
4003        FindLineEntryIndex(SBCompileUnit self, uint32_t start_idx, uint32_t line, SBFileSpec inline_file_spec, bool exact) -> uint32_t
4004
4005             Get the index for a provided line entry in this compile unit.
4006
4007             @param[in] line_entry
4008                The SBLineEntry object for which we are looking for the index.
4009
4010             @param[in] exact
4011                An optional boolean defaulting to false that ensures that the provided
4012                line entry has a perfect match in the compile unit.
4013
4014             @return
4015                The index of the user-provided line entry. UINT32_MAX if the line entry
4016                was not found in the compile unit.
4017        """
4018        return _lldb.SBCompileUnit_FindLineEntryIndex(self, *args)
4019
4020    def GetSupportFileAtIndex(self, idx):
4021        r"""GetSupportFileAtIndex(SBCompileUnit self, uint32_t idx) -> SBFileSpec"""
4022        return _lldb.SBCompileUnit_GetSupportFileAtIndex(self, idx)
4023
4024    def GetNumSupportFiles(self):
4025        r"""GetNumSupportFiles(SBCompileUnit self) -> uint32_t"""
4026        return _lldb.SBCompileUnit_GetNumSupportFiles(self)
4027
4028    def FindSupportFileIndex(self, start_idx, sb_file, full):
4029        r"""FindSupportFileIndex(SBCompileUnit self, uint32_t start_idx, SBFileSpec sb_file, bool full) -> uint32_t"""
4030        return _lldb.SBCompileUnit_FindSupportFileIndex(self, start_idx, sb_file, full)
4031
4032    def GetTypes(self, *args):
4033        r"""
4034        GetTypes(SBCompileUnit self, uint32_t type_mask=eTypeClassAny) -> SBTypeList
4035
4036             Get all types matching type_mask from debug info in this
4037             compile unit.
4038
4039             @param[in] type_mask
4040                A bitfield that consists of one or more bits logically OR'ed
4041                together from the lldb::TypeClass enumeration. This allows
4042                you to request only structure types, or only class, struct
4043                and union types. Passing in lldb::eTypeClassAny will return
4044                all types found in the debug information for this compile
4045                unit.
4046
4047             @return
4048                A list of types in this compile unit that match type_mask
4049        """
4050        return _lldb.SBCompileUnit_GetTypes(self, *args)
4051
4052    def GetLanguage(self):
4053        r"""GetLanguage(SBCompileUnit self) -> lldb::LanguageType"""
4054        return _lldb.SBCompileUnit_GetLanguage(self)
4055
4056    def __eq__(self, rhs):
4057        r"""__eq__(SBCompileUnit self, SBCompileUnit rhs) -> bool"""
4058        return _lldb.SBCompileUnit___eq__(self, rhs)
4059
4060    def __ne__(self, rhs):
4061        r"""__ne__(SBCompileUnit self, SBCompileUnit rhs) -> bool"""
4062        return _lldb.SBCompileUnit___ne__(self, rhs)
4063
4064    def GetDescription(self, description):
4065        r"""GetDescription(SBCompileUnit self, SBStream description) -> bool"""
4066        return _lldb.SBCompileUnit_GetDescription(self, description)
4067
4068    def __repr__(self):
4069        r"""__repr__(SBCompileUnit self) -> std::string"""
4070        return _lldb.SBCompileUnit___repr__(self)
4071
4072            # operator== is a free function, which swig does not handle, so we inject
4073            # our own equality operator here
4074    def __eq__(self, other):
4075        return not self.__ne__(other)
4076
4077    def __iter__(self):
4078        '''Iterate over all line entries in a lldb.SBCompileUnit object.'''
4079        return lldb_iter(self, 'GetNumLineEntries', 'GetLineEntryAtIndex')
4080
4081    def __len__(self):
4082        '''Return the number of line entries in a lldb.SBCompileUnit
4083        object.'''
4084        return self.GetNumLineEntries()
4085
4086    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.''')
4087    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.''')
4088
4089
4090    def __eq__(self, rhs):
4091        if not isinstance(rhs, type(self)):
4092            return False
4093
4094        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
4095
4096    def __ne__(self, rhs):
4097        if not isinstance(rhs, type(self)):
4098            return True
4099
4100        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
4101
4102
4103# Register SBCompileUnit in _lldb:
4104_lldb.SBCompileUnit_swigregister(SBCompileUnit)
4105class SBSaveCoreOptions(object):
4106    r"""Proxy of C++ lldb::SBSaveCoreOptions class."""
4107
4108    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4109    __repr__ = _swig_repr
4110
4111    def __init__(self, *args):
4112        r"""
4113        __init__(SBSaveCoreOptions self) -> SBSaveCoreOptions
4114        __init__(SBSaveCoreOptions self, SBSaveCoreOptions rhs) -> SBSaveCoreOptions
4115        """
4116        _lldb.SBSaveCoreOptions_swiginit(self, _lldb.new_SBSaveCoreOptions(*args))
4117    __swig_destroy__ = _lldb.delete_SBSaveCoreOptions
4118
4119    def SetPluginName(self, plugin):
4120        r"""SetPluginName(SBSaveCoreOptions self, char const * plugin) -> SBError"""
4121        return _lldb.SBSaveCoreOptions_SetPluginName(self, plugin)
4122
4123    def GetPluginName(self):
4124        r"""GetPluginName(SBSaveCoreOptions self) -> char const *"""
4125        return _lldb.SBSaveCoreOptions_GetPluginName(self)
4126
4127    def SetStyle(self, style):
4128        r"""SetStyle(SBSaveCoreOptions self, lldb::SaveCoreStyle style)"""
4129        return _lldb.SBSaveCoreOptions_SetStyle(self, style)
4130
4131    def GetStyle(self):
4132        r"""GetStyle(SBSaveCoreOptions self) -> lldb::SaveCoreStyle"""
4133        return _lldb.SBSaveCoreOptions_GetStyle(self)
4134
4135    def SetOutputFile(self, output_file):
4136        r"""SetOutputFile(SBSaveCoreOptions self, SBFileSpec output_file)"""
4137        return _lldb.SBSaveCoreOptions_SetOutputFile(self, output_file)
4138
4139    def GetOutputFile(self):
4140        r"""GetOutputFile(SBSaveCoreOptions self) -> SBFileSpec"""
4141        return _lldb.SBSaveCoreOptions_GetOutputFile(self)
4142
4143    def SetProcess(self, process):
4144        r"""SetProcess(SBSaveCoreOptions self, SBProcess process) -> SBError"""
4145        return _lldb.SBSaveCoreOptions_SetProcess(self, process)
4146
4147    def AddThread(self, thread):
4148        r"""AddThread(SBSaveCoreOptions self, SBThread thread) -> SBError"""
4149        return _lldb.SBSaveCoreOptions_AddThread(self, thread)
4150
4151    def RemoveThread(self, thread):
4152        r"""RemoveThread(SBSaveCoreOptions self, SBThread thread) -> bool"""
4153        return _lldb.SBSaveCoreOptions_RemoveThread(self, thread)
4154
4155    def Clear(self):
4156        r"""Clear(SBSaveCoreOptions self)"""
4157        return _lldb.SBSaveCoreOptions_Clear(self)
4158
4159# Register SBSaveCoreOptions in _lldb:
4160_lldb.SBSaveCoreOptions_swigregister(SBSaveCoreOptions)
4161class SBData(object):
4162    r"""Represents a data buffer."""
4163
4164    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4165
4166    def __init__(self, *args):
4167        r"""
4168        __init__(SBData self) -> SBData
4169        __init__(SBData self, SBData rhs) -> SBData
4170        """
4171        _lldb.SBData_swiginit(self, _lldb.new_SBData(*args))
4172    __swig_destroy__ = _lldb.delete_SBData
4173
4174    def GetAddressByteSize(self):
4175        r"""GetAddressByteSize(SBData self) -> uint8_t"""
4176        return _lldb.SBData_GetAddressByteSize(self)
4177
4178    def SetAddressByteSize(self, addr_byte_size):
4179        r"""SetAddressByteSize(SBData self, uint8_t addr_byte_size)"""
4180        return _lldb.SBData_SetAddressByteSize(self, addr_byte_size)
4181
4182    def Clear(self):
4183        r"""Clear(SBData self)"""
4184        return _lldb.SBData_Clear(self)
4185
4186    def __nonzero__(self):
4187        return _lldb.SBData___nonzero__(self)
4188    __bool__ = __nonzero__
4189
4190
4191
4192    def IsValid(self):
4193        r"""IsValid(SBData self) -> bool"""
4194        return _lldb.SBData_IsValid(self)
4195
4196    def GetByteSize(self):
4197        r"""GetByteSize(SBData self) -> size_t"""
4198        return _lldb.SBData_GetByteSize(self)
4199
4200    def GetByteOrder(self):
4201        r"""GetByteOrder(SBData self) -> lldb::ByteOrder"""
4202        return _lldb.SBData_GetByteOrder(self)
4203
4204    def SetByteOrder(self, endian):
4205        r"""SetByteOrder(SBData self, lldb::ByteOrder endian)"""
4206        return _lldb.SBData_SetByteOrder(self, endian)
4207
4208    def GetFloat(self, error, offset):
4209        r"""GetFloat(SBData self, SBError error, lldb::offset_t offset) -> float"""
4210        return _lldb.SBData_GetFloat(self, error, offset)
4211
4212    def GetDouble(self, error, offset):
4213        r"""GetDouble(SBData self, SBError error, lldb::offset_t offset) -> double"""
4214        return _lldb.SBData_GetDouble(self, error, offset)
4215
4216    def GetLongDouble(self, error, offset):
4217        r"""GetLongDouble(SBData self, SBError error, lldb::offset_t offset) -> long double"""
4218        return _lldb.SBData_GetLongDouble(self, error, offset)
4219
4220    def GetAddress(self, error, offset):
4221        r"""GetAddress(SBData self, SBError error, lldb::offset_t offset) -> lldb::addr_t"""
4222        return _lldb.SBData_GetAddress(self, error, offset)
4223
4224    def GetUnsignedInt8(self, error, offset):
4225        r"""GetUnsignedInt8(SBData self, SBError error, lldb::offset_t offset) -> uint8_t"""
4226        return _lldb.SBData_GetUnsignedInt8(self, error, offset)
4227
4228    def GetUnsignedInt16(self, error, offset):
4229        r"""GetUnsignedInt16(SBData self, SBError error, lldb::offset_t offset) -> uint16_t"""
4230        return _lldb.SBData_GetUnsignedInt16(self, error, offset)
4231
4232    def GetUnsignedInt32(self, error, offset):
4233        r"""GetUnsignedInt32(SBData self, SBError error, lldb::offset_t offset) -> uint32_t"""
4234        return _lldb.SBData_GetUnsignedInt32(self, error, offset)
4235
4236    def GetUnsignedInt64(self, error, offset):
4237        r"""GetUnsignedInt64(SBData self, SBError error, lldb::offset_t offset) -> uint64_t"""
4238        return _lldb.SBData_GetUnsignedInt64(self, error, offset)
4239
4240    def GetSignedInt8(self, error, offset):
4241        r"""GetSignedInt8(SBData self, SBError error, lldb::offset_t offset) -> int8_t"""
4242        return _lldb.SBData_GetSignedInt8(self, error, offset)
4243
4244    def GetSignedInt16(self, error, offset):
4245        r"""GetSignedInt16(SBData self, SBError error, lldb::offset_t offset) -> int16_t"""
4246        return _lldb.SBData_GetSignedInt16(self, error, offset)
4247
4248    def GetSignedInt32(self, error, offset):
4249        r"""GetSignedInt32(SBData self, SBError error, lldb::offset_t offset) -> int32_t"""
4250        return _lldb.SBData_GetSignedInt32(self, error, offset)
4251
4252    def GetSignedInt64(self, error, offset):
4253        r"""GetSignedInt64(SBData self, SBError error, lldb::offset_t offset) -> int64_t"""
4254        return _lldb.SBData_GetSignedInt64(self, error, offset)
4255
4256    def GetString(self, error, offset):
4257        r"""GetString(SBData self, SBError error, lldb::offset_t offset) -> char const *"""
4258        return _lldb.SBData_GetString(self, error, offset)
4259
4260    def ReadRawData(self, error, offset, buf):
4261        r"""ReadRawData(SBData self, SBError error, lldb::offset_t offset, void * buf) -> size_t"""
4262        return _lldb.SBData_ReadRawData(self, error, offset, buf)
4263
4264    def GetDescription(self, *args):
4265        r"""GetDescription(SBData self, SBStream description, lldb::addr_t base_addr=18446744073709551615ULL) -> bool"""
4266        return _lldb.SBData_GetDescription(self, *args)
4267
4268    def SetData(self, error, buf, endian, addr_size):
4269        r"""SetData(SBData self, SBError error, void const * buf, lldb::ByteOrder endian, uint8_t addr_size)"""
4270        return _lldb.SBData_SetData(self, error, buf, endian, addr_size)
4271
4272    def SetDataWithOwnership(self, error, buf, endian, addr_size):
4273        r"""SetDataWithOwnership(SBData self, SBError error, void const * buf, lldb::ByteOrder endian, uint8_t addr_size)"""
4274        return _lldb.SBData_SetDataWithOwnership(self, error, buf, endian, addr_size)
4275
4276    def Append(self, rhs):
4277        r"""Append(SBData self, SBData rhs) -> bool"""
4278        return _lldb.SBData_Append(self, rhs)
4279
4280    @staticmethod
4281    def CreateDataFromCString(endian, addr_byte_size, data):
4282        r"""CreateDataFromCString(lldb::ByteOrder endian, uint32_t addr_byte_size, char const * data) -> SBData"""
4283        return _lldb.SBData_CreateDataFromCString(endian, addr_byte_size, data)
4284
4285    @staticmethod
4286    def CreateDataFromUInt64Array(endian, addr_byte_size, array):
4287        r"""CreateDataFromUInt64Array(lldb::ByteOrder endian, uint32_t addr_byte_size, uint64_t * array) -> SBData"""
4288        return _lldb.SBData_CreateDataFromUInt64Array(endian, addr_byte_size, array)
4289
4290    @staticmethod
4291    def CreateDataFromUInt32Array(endian, addr_byte_size, array):
4292        r"""CreateDataFromUInt32Array(lldb::ByteOrder endian, uint32_t addr_byte_size, uint32_t * array) -> SBData"""
4293        return _lldb.SBData_CreateDataFromUInt32Array(endian, addr_byte_size, array)
4294
4295    @staticmethod
4296    def CreateDataFromSInt64Array(endian, addr_byte_size, array):
4297        r"""CreateDataFromSInt64Array(lldb::ByteOrder endian, uint32_t addr_byte_size, int64_t * array) -> SBData"""
4298        return _lldb.SBData_CreateDataFromSInt64Array(endian, addr_byte_size, array)
4299
4300    @staticmethod
4301    def CreateDataFromSInt32Array(endian, addr_byte_size, array):
4302        r"""CreateDataFromSInt32Array(lldb::ByteOrder endian, uint32_t addr_byte_size, int32_t * array) -> SBData"""
4303        return _lldb.SBData_CreateDataFromSInt32Array(endian, addr_byte_size, array)
4304
4305    @staticmethod
4306    def CreateDataFromDoubleArray(endian, addr_byte_size, array):
4307        r"""CreateDataFromDoubleArray(lldb::ByteOrder endian, uint32_t addr_byte_size, double * array) -> SBData"""
4308        return _lldb.SBData_CreateDataFromDoubleArray(endian, addr_byte_size, array)
4309
4310    def SetDataFromCString(self, data):
4311        r"""SetDataFromCString(SBData self, char const * data) -> bool"""
4312        return _lldb.SBData_SetDataFromCString(self, data)
4313
4314    def SetDataFromUInt64Array(self, array):
4315        r"""SetDataFromUInt64Array(SBData self, uint64_t * array) -> bool"""
4316        return _lldb.SBData_SetDataFromUInt64Array(self, array)
4317
4318    def SetDataFromUInt32Array(self, array):
4319        r"""SetDataFromUInt32Array(SBData self, uint32_t * array) -> bool"""
4320        return _lldb.SBData_SetDataFromUInt32Array(self, array)
4321
4322    def SetDataFromSInt64Array(self, array):
4323        r"""SetDataFromSInt64Array(SBData self, int64_t * array) -> bool"""
4324        return _lldb.SBData_SetDataFromSInt64Array(self, array)
4325
4326    def SetDataFromSInt32Array(self, array):
4327        r"""SetDataFromSInt32Array(SBData self, int32_t * array) -> bool"""
4328        return _lldb.SBData_SetDataFromSInt32Array(self, array)
4329
4330    def SetDataFromDoubleArray(self, array):
4331        r"""SetDataFromDoubleArray(SBData self, double * array) -> bool"""
4332        return _lldb.SBData_SetDataFromDoubleArray(self, array)
4333
4334    def __repr__(self):
4335        r"""__repr__(SBData self) -> std::string"""
4336        return _lldb.SBData___repr__(self)
4337
4338    def __len__(self):
4339        return self.GetByteSize()
4340
4341    class read_data_helper:
4342        def __init__(self, sbdata, readerfunc, item_size):
4343            self.sbdata = sbdata
4344            self.readerfunc = readerfunc
4345            self.item_size = item_size
4346        def __getitem__(self,key):
4347            if isinstance(key,slice):
4348                list = []
4349                for x in range(*key.indices(self.__len__())):
4350                    list.append(self.__getitem__(x))
4351                return list
4352            if not (isinstance(key, int)):
4353                raise TypeError('must be int')
4354            key = key * self.item_size # SBData uses byte-based indexes, but we want to use itemsize-based indexes here
4355            error = SBError()
4356            my_data = self.readerfunc(self.sbdata,error,key)
4357            if error.Fail():
4358                raise IndexError(error.GetCString())
4359            else:
4360                return my_data
4361        def __len__(self):
4362            return int(self.sbdata.GetByteSize()/self.item_size)
4363        def all(self):
4364            return self[0:len(self)]
4365
4366    @classmethod
4367    def CreateDataFromInt (cls, value, size = None, target = None, ptr_size = None, endian = None):
4368        import sys
4369        lldbmodule = sys.modules[cls.__module__]
4370        lldbdict = lldbmodule.__dict__
4371        if 'target' in lldbdict:
4372            lldbtarget = lldbdict['target']
4373        else:
4374            lldbtarget = None
4375        if target is None and lldbtarget is not None and lldbtarget.IsValid():
4376            target = lldbtarget
4377        if ptr_size is None:
4378            if target and target.IsValid():
4379                ptr_size = target.addr_size
4380            else:
4381                ptr_size = 8
4382        if endian is None:
4383            if target and target.IsValid():
4384                endian = target.byte_order
4385            else:
4386                endian = lldbdict['eByteOrderLittle']
4387        if size is None:
4388            if value > 2147483647:
4389                size = 8
4390            elif value < -2147483648:
4391                size = 8
4392            elif value > 4294967295:
4393                size = 8
4394            else:
4395                size = 4
4396        if size == 4:
4397            if value < 0:
4398                return SBData().CreateDataFromSInt32Array(endian, ptr_size, [value])
4399            return SBData().CreateDataFromUInt32Array(endian, ptr_size, [value])
4400        if size == 8:
4401            if value < 0:
4402                return SBData().CreateDataFromSInt64Array(endian, ptr_size, [value])
4403            return SBData().CreateDataFromUInt64Array(endian, ptr_size, [value])
4404        return None
4405
4406    def _make_helper(self, sbdata, getfunc, itemsize):
4407        return self.read_data_helper(sbdata, getfunc, itemsize)
4408
4409    def _make_helper_uint8(self):
4410        return self._make_helper(self, SBData.GetUnsignedInt8, 1)
4411
4412    def _make_helper_uint16(self):
4413        return self._make_helper(self, SBData.GetUnsignedInt16, 2)
4414
4415    def _make_helper_uint32(self):
4416        return self._make_helper(self, SBData.GetUnsignedInt32, 4)
4417
4418    def _make_helper_uint64(self):
4419        return self._make_helper(self, SBData.GetUnsignedInt64, 8)
4420
4421    def _make_helper_sint8(self):
4422        return self._make_helper(self, SBData.GetSignedInt8, 1)
4423
4424    def _make_helper_sint16(self):
4425        return self._make_helper(self, SBData.GetSignedInt16, 2)
4426
4427    def _make_helper_sint32(self):
4428        return self._make_helper(self, SBData.GetSignedInt32, 4)
4429
4430    def _make_helper_sint64(self):
4431        return self._make_helper(self, SBData.GetSignedInt64, 8)
4432
4433    def _make_helper_float(self):
4434        return self._make_helper(self, SBData.GetFloat, 4)
4435
4436    def _make_helper_double(self):
4437        return self._make_helper(self, SBData.GetDouble, 8)
4438
4439    def _read_all_uint8(self):
4440        return self._make_helper_uint8().all()
4441
4442    def _read_all_uint16(self):
4443        return self._make_helper_uint16().all()
4444
4445    def _read_all_uint32(self):
4446        return self._make_helper_uint32().all()
4447
4448    def _read_all_uint64(self):
4449        return self._make_helper_uint64().all()
4450
4451    def _read_all_sint8(self):
4452        return self._make_helper_sint8().all()
4453
4454    def _read_all_sint16(self):
4455        return self._make_helper_sint16().all()
4456
4457    def _read_all_sint32(self):
4458        return self._make_helper_sint32().all()
4459
4460    def _read_all_sint64(self):
4461        return self._make_helper_sint64().all()
4462
4463    def _read_all_float(self):
4464        return self._make_helper_float().all()
4465
4466    def _read_all_double(self):
4467        return self._make_helper_double().all()
4468
4469    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.''')
4470    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.''')
4471    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.''')
4472    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.''')
4473    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.''')
4474    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.''')
4475    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.''')
4476    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.''')
4477    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.''')
4478    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.''')
4479    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.''')
4480    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.''')
4481    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.''')
4482    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.''')
4483    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.''')
4484    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.''')
4485    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.''')
4486    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.''')
4487    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.''')
4488    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.''')
4489    byte_order = property(GetByteOrder, SetByteOrder, doc='''A read/write property getting and setting the endianness of this SBData (data.byte_order = lldb.eByteOrderLittle).''')
4490    size = property(GetByteSize, None, doc='''A read only property that returns the size the same result as GetByteSize().''')
4491
4492
4493# Register SBData in _lldb:
4494_lldb.SBData_swigregister(SBData)
4495class SBDebugger(object):
4496    r"""
4497    SBDebugger is the primordial object that creates SBTargets and provides
4498    access to them.  It also manages the overall debugging experiences.
4499
4500    For example (from example/disasm.py),::
4501
4502        import lldb
4503        import os
4504        import sys
4505
4506        def disassemble_instructions (insts):
4507            for i in insts:
4508                print i
4509
4510        ...
4511
4512        # Create a new debugger instance
4513        debugger = lldb.SBDebugger.Create()
4514
4515        # When we step or continue, don't return from the function until the process
4516        # stops. We do this by setting the async mode to false.
4517        debugger.SetAsync (False)
4518
4519        # Create a target from a file and arch
4520        print('Creating a target for '%s'' % exe)
4521
4522        target = debugger.CreateTargetWithFileAndArch (exe, lldb.LLDB_ARCH_DEFAULT)
4523
4524        if target:
4525            # If the target is valid set a breakpoint at main
4526            main_bp = target.BreakpointCreateByName (fname, target.GetExecutable().GetFilename());
4527
4528            print main_bp
4529
4530            # Launch the process. Since we specified synchronous mode, we won't return
4531            # from this function until we hit the breakpoint at main
4532            process = target.LaunchSimple (None, None, os.getcwd())
4533
4534            # Make sure the launch went ok
4535            if process:
4536                # Print some simple process info
4537                state = process.GetState ()
4538                print process
4539                if state == lldb.eStateStopped:
4540                    # Get the first thread
4541                    thread = process.GetThreadAtIndex (0)
4542                    if thread:
4543                        # Print some simple thread info
4544                        print thread
4545                        # Get the first frame
4546                        frame = thread.GetFrameAtIndex (0)
4547                        if frame:
4548                            # Print some simple frame info
4549                            print frame
4550                            function = frame.GetFunction()
4551                            # See if we have debug info (a function)
4552                            if function:
4553                                # We do have a function, print some info for the function
4554                                print function
4555                                # Now get all instructions for this function and print them
4556                                insts = function.GetInstructions(target)
4557                                disassemble_instructions (insts)
4558                            else:
4559                                # See if we have a symbol in the symbol table for where we stopped
4560                                symbol = frame.GetSymbol();
4561                                if symbol:
4562                                    # We do have a symbol, print some info for the symbol
4563                                    print symbol
4564                                    # Now get all instructions for this symbol and print them
4565                                    insts = symbol.GetInstructions(target)
4566                                    disassemble_instructions (insts)
4567
4568                            registerList = frame.GetRegisters()
4569                            print('Frame registers (size of register set = %d):' % registerList.GetSize())
4570                            for value in registerList:
4571                                #print value
4572                                print('%s (number of children = %d):' % (value.GetName(), value.GetNumChildren()))
4573                                for child in value:
4574                                    print('Name: ', child.GetName(), ' Value: ', child.GetValue())
4575
4576                    print('Hit the breakpoint at main, enter to continue and wait for program to exit or 'Ctrl-D'/'quit' to terminate the program')
4577                    next = sys.stdin.readline()
4578                    if not next or next.rstrip('\n') == 'quit':
4579                        print('Terminating the inferior process...')
4580                        process.Kill()
4581                    else:
4582                        # Now continue to the program exit
4583                        process.Continue()
4584                        # When we return from the above function we will hopefully be at the
4585                        # program exit. Print out some process info
4586                        print process
4587                elif state == lldb.eStateExited:
4588                    print('Didn't hit the breakpoint at main, program has exited...')
4589                else:
4590                    print('Unexpected process state: %s, killing process...' % debugger.StateAsCString (state))
4591                    process.Kill()
4592
4593    Sometimes you need to create an empty target that will get filled in later.  The most common use for this
4594    is to attach to a process by name or pid where you don't know the executable up front.  The most convenient way
4595    to do this is: ::
4596
4597        target = debugger.CreateTarget('')
4598        error = lldb.SBError()
4599        process = target.AttachToProcessWithName(debugger.GetListener(), 'PROCESS_NAME', False, error)
4600
4601    or the equivalent arguments for :py:class:`SBTarget.AttachToProcessWithID` .
4602    """
4603
4604    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4605    eBroadcastBitProgress = _lldb.SBDebugger_eBroadcastBitProgress
4606
4607    eBroadcastBitWarning = _lldb.SBDebugger_eBroadcastBitWarning
4608
4609    eBroadcastBitError = _lldb.SBDebugger_eBroadcastBitError
4610
4611    eBroadcastBitProgressCategory = _lldb.SBDebugger_eBroadcastBitProgressCategory
4612
4613
4614    def __init__(self, *args):
4615        r"""
4616        __init__(SBDebugger self) -> SBDebugger
4617        __init__(SBDebugger self, SBDebugger rhs) -> SBDebugger
4618        """
4619        _lldb.SBDebugger_swiginit(self, _lldb.new_SBDebugger(*args))
4620    __swig_destroy__ = _lldb.delete_SBDebugger
4621
4622    @staticmethod
4623    def GetBroadcasterClass():
4624        r"""GetBroadcasterClass() -> char const *"""
4625        return _lldb.SBDebugger_GetBroadcasterClass()
4626
4627    @staticmethod
4628    def SupportsLanguage(language):
4629        r"""SupportsLanguage(lldb::LanguageType language) -> bool"""
4630        return _lldb.SBDebugger_SupportsLanguage(language)
4631
4632    def GetBroadcaster(self):
4633        r"""GetBroadcaster(SBDebugger self) -> SBBroadcaster"""
4634        return _lldb.SBDebugger_GetBroadcaster(self)
4635
4636    @staticmethod
4637    def GetProgressFromEvent(event):
4638        r"""GetProgressFromEvent(SBEvent event) -> char const *"""
4639        return _lldb.SBDebugger_GetProgressFromEvent(event)
4640
4641    @staticmethod
4642    def GetProgressDataFromEvent(event):
4643        r"""GetProgressDataFromEvent(SBEvent event) -> SBStructuredData"""
4644        return _lldb.SBDebugger_GetProgressDataFromEvent(event)
4645
4646    @staticmethod
4647    def GetDiagnosticFromEvent(event):
4648        r"""GetDiagnosticFromEvent(SBEvent event) -> SBStructuredData"""
4649        return _lldb.SBDebugger_GetDiagnosticFromEvent(event)
4650
4651    @staticmethod
4652    def Initialize():
4653        r"""Initialize()"""
4654        return _lldb.SBDebugger_Initialize()
4655
4656    @staticmethod
4657    def InitializeWithErrorHandling():
4658        r"""InitializeWithErrorHandling() -> SBError"""
4659        return _lldb.SBDebugger_InitializeWithErrorHandling()
4660
4661    @staticmethod
4662    def PrintStackTraceOnError():
4663        r"""PrintStackTraceOnError()"""
4664        return _lldb.SBDebugger_PrintStackTraceOnError()
4665
4666    @staticmethod
4667    def PrintDiagnosticsOnError():
4668        r"""PrintDiagnosticsOnError()"""
4669        return _lldb.SBDebugger_PrintDiagnosticsOnError()
4670
4671    @staticmethod
4672    def Terminate():
4673        r"""Terminate()"""
4674        return _lldb.SBDebugger_Terminate()
4675
4676    @staticmethod
4677    def Create(*args):
4678        r"""
4679        Create() -> SBDebugger
4680        Create(bool source_init_files) -> SBDebugger
4681        Create(bool source_init_files, lldb::LogOutputCallback log_callback) -> SBDebugger
4682        """
4683        return _lldb.SBDebugger_Create(*args)
4684
4685    @staticmethod
4686    def Destroy(debugger):
4687        r"""Destroy(SBDebugger debugger)"""
4688        return _lldb.SBDebugger_Destroy(debugger)
4689
4690    @staticmethod
4691    def MemoryPressureDetected():
4692        r"""MemoryPressureDetected()"""
4693        return _lldb.SBDebugger_MemoryPressureDetected()
4694
4695    def __nonzero__(self):
4696        return _lldb.SBDebugger___nonzero__(self)
4697    __bool__ = __nonzero__
4698
4699
4700
4701    def IsValid(self):
4702        r"""IsValid(SBDebugger self) -> bool"""
4703        return _lldb.SBDebugger_IsValid(self)
4704
4705    def Clear(self):
4706        r"""Clear(SBDebugger self)"""
4707        return _lldb.SBDebugger_Clear(self)
4708
4709    def GetSetting(self, setting=None):
4710        r"""GetSetting(SBDebugger self, char const * setting=None) -> SBStructuredData"""
4711        return _lldb.SBDebugger_GetSetting(self, setting)
4712
4713    def SetAsync(self, b):
4714        r"""SetAsync(SBDebugger self, bool b)"""
4715        return _lldb.SBDebugger_SetAsync(self, b)
4716
4717    def GetAsync(self):
4718        r"""GetAsync(SBDebugger self) -> bool"""
4719        return _lldb.SBDebugger_GetAsync(self)
4720
4721    def SkipLLDBInitFiles(self, b):
4722        r"""SkipLLDBInitFiles(SBDebugger self, bool b)"""
4723        return _lldb.SBDebugger_SkipLLDBInitFiles(self, b)
4724
4725    def SkipAppInitFiles(self, b):
4726        r"""SkipAppInitFiles(SBDebugger self, bool b)"""
4727        return _lldb.SBDebugger_SkipAppInitFiles(self, b)
4728
4729    def SetInputString(self, data):
4730        r"""SetInputString(SBDebugger self, char const * data) -> SBError"""
4731        return _lldb.SBDebugger_SetInputString(self, data)
4732
4733    def SetInputFile(self, *args):
4734        r"""
4735        SetInputFile(SBDebugger self, SBFile file) -> SBError
4736        SetInputFile(SBDebugger self, lldb::FileSP file) -> SBError
4737        """
4738        return _lldb.SBDebugger_SetInputFile(self, *args)
4739
4740    def SetOutputFile(self, *args):
4741        r"""
4742        SetOutputFile(SBDebugger self, SBFile file) -> SBError
4743        SetOutputFile(SBDebugger self, lldb::FileSP file) -> SBError
4744        """
4745        return _lldb.SBDebugger_SetOutputFile(self, *args)
4746
4747    def SetErrorFile(self, *args):
4748        r"""
4749        SetErrorFile(SBDebugger self, SBFile file) -> SBError
4750        SetErrorFile(SBDebugger self, lldb::FileSP file) -> SBError
4751        """
4752        return _lldb.SBDebugger_SetErrorFile(self, *args)
4753
4754    def GetInputFile(self):
4755        r"""GetInputFile(SBDebugger self) -> SBFile"""
4756        return _lldb.SBDebugger_GetInputFile(self)
4757
4758    def GetOutputFile(self):
4759        r"""GetOutputFile(SBDebugger self) -> SBFile"""
4760        return _lldb.SBDebugger_GetOutputFile(self)
4761
4762    def GetErrorFile(self):
4763        r"""GetErrorFile(SBDebugger self) -> SBFile"""
4764        return _lldb.SBDebugger_GetErrorFile(self)
4765
4766    def SaveInputTerminalState(self):
4767        r"""SaveInputTerminalState(SBDebugger self)"""
4768        return _lldb.SBDebugger_SaveInputTerminalState(self)
4769
4770    def RestoreInputTerminalState(self):
4771        r"""RestoreInputTerminalState(SBDebugger self)"""
4772        return _lldb.SBDebugger_RestoreInputTerminalState(self)
4773
4774    def GetCommandInterpreter(self):
4775        r"""GetCommandInterpreter(SBDebugger self) -> SBCommandInterpreter"""
4776        return _lldb.SBDebugger_GetCommandInterpreter(self)
4777
4778    def HandleCommand(self, command):
4779        r"""HandleCommand(SBDebugger self, char const * command)"""
4780        return _lldb.SBDebugger_HandleCommand(self, command)
4781
4782    def RequestInterrupt(self):
4783        r"""RequestInterrupt(SBDebugger self)"""
4784        return _lldb.SBDebugger_RequestInterrupt(self)
4785
4786    def CancelInterruptRequest(self):
4787        r"""CancelInterruptRequest(SBDebugger self)"""
4788        return _lldb.SBDebugger_CancelInterruptRequest(self)
4789
4790    def InterruptRequested(self):
4791        r"""InterruptRequested(SBDebugger self) -> bool"""
4792        return _lldb.SBDebugger_InterruptRequested(self)
4793
4794    def GetListener(self):
4795        r"""GetListener(SBDebugger self) -> SBListener"""
4796        return _lldb.SBDebugger_GetListener(self)
4797
4798    def HandleProcessEvent(self, *args):
4799        r"""
4800        HandleProcessEvent(SBDebugger self, SBProcess process, SBEvent event, SBFile out, SBFile err)
4801        HandleProcessEvent(SBDebugger self, SBProcess process, SBEvent event, lldb::FileSP arg4, lldb::FileSP arg5)
4802        """
4803        return _lldb.SBDebugger_HandleProcessEvent(self, *args)
4804
4805    def CreateTargetWithFileAndTargetTriple(self, filename, target_triple):
4806        r"""CreateTargetWithFileAndTargetTriple(SBDebugger self, char const * filename, char const * target_triple) -> SBTarget"""
4807        return _lldb.SBDebugger_CreateTargetWithFileAndTargetTriple(self, filename, target_triple)
4808
4809    def CreateTargetWithFileAndArch(self, filename, archname):
4810        r"""CreateTargetWithFileAndArch(SBDebugger self, char const * filename, char const * archname) -> SBTarget"""
4811        return _lldb.SBDebugger_CreateTargetWithFileAndArch(self, filename, archname)
4812
4813    def CreateTarget(self, *args):
4814        r"""
4815        CreateTarget(SBDebugger self, char const * filename, char const * target_triple, char const * platform_name, bool add_dependent_modules, SBError error) -> SBTarget
4816        CreateTarget(SBDebugger self, char const * filename) -> SBTarget
4817        """
4818        return _lldb.SBDebugger_CreateTarget(self, *args)
4819
4820    def GetDummyTarget(self):
4821        r"""
4822        GetDummyTarget(SBDebugger self) -> SBTarget
4823        The dummy target holds breakpoints and breakpoint names that will prime newly created targets.
4824        """
4825        return _lldb.SBDebugger_GetDummyTarget(self)
4826
4827    def DeleteTarget(self, target):
4828        r"""
4829        DeleteTarget(SBDebugger self, SBTarget target) -> bool
4830        Return true if target is deleted from the target list of the debugger.
4831        """
4832        return _lldb.SBDebugger_DeleteTarget(self, target)
4833
4834    def GetTargetAtIndex(self, idx):
4835        r"""GetTargetAtIndex(SBDebugger self, uint32_t idx) -> SBTarget"""
4836        return _lldb.SBDebugger_GetTargetAtIndex(self, idx)
4837
4838    def GetIndexOfTarget(self, target):
4839        r"""GetIndexOfTarget(SBDebugger self, SBTarget target) -> uint32_t"""
4840        return _lldb.SBDebugger_GetIndexOfTarget(self, target)
4841
4842    def FindTargetWithProcessID(self, pid):
4843        r"""FindTargetWithProcessID(SBDebugger self, lldb::pid_t pid) -> SBTarget"""
4844        return _lldb.SBDebugger_FindTargetWithProcessID(self, pid)
4845
4846    def FindTargetWithFileAndArch(self, filename, arch):
4847        r"""FindTargetWithFileAndArch(SBDebugger self, char const * filename, char const * arch) -> SBTarget"""
4848        return _lldb.SBDebugger_FindTargetWithFileAndArch(self, filename, arch)
4849
4850    def GetNumTargets(self):
4851        r"""GetNumTargets(SBDebugger self) -> uint32_t"""
4852        return _lldb.SBDebugger_GetNumTargets(self)
4853
4854    def GetSelectedTarget(self):
4855        r"""GetSelectedTarget(SBDebugger self) -> SBTarget"""
4856        return _lldb.SBDebugger_GetSelectedTarget(self)
4857
4858    def SetSelectedTarget(self, target):
4859        r"""SetSelectedTarget(SBDebugger self, SBTarget target)"""
4860        return _lldb.SBDebugger_SetSelectedTarget(self, target)
4861
4862    def GetSelectedPlatform(self):
4863        r"""GetSelectedPlatform(SBDebugger self) -> SBPlatform"""
4864        return _lldb.SBDebugger_GetSelectedPlatform(self)
4865
4866    def SetSelectedPlatform(self, platform):
4867        r"""SetSelectedPlatform(SBDebugger self, SBPlatform platform)"""
4868        return _lldb.SBDebugger_SetSelectedPlatform(self, platform)
4869
4870    def GetNumPlatforms(self):
4871        r"""
4872        GetNumPlatforms(SBDebugger self) -> uint32_t
4873        Get the number of currently active platforms.
4874        """
4875        return _lldb.SBDebugger_GetNumPlatforms(self)
4876
4877    def GetPlatformAtIndex(self, idx):
4878        r"""
4879        GetPlatformAtIndex(SBDebugger self, uint32_t idx) -> SBPlatform
4880        Get one of the currently active platforms.
4881        """
4882        return _lldb.SBDebugger_GetPlatformAtIndex(self, idx)
4883
4884    def GetNumAvailablePlatforms(self):
4885        r"""
4886        GetNumAvailablePlatforms(SBDebugger self) -> uint32_t
4887        Get the number of available platforms.
4888        """
4889        return _lldb.SBDebugger_GetNumAvailablePlatforms(self)
4890
4891    def GetAvailablePlatformInfoAtIndex(self, idx):
4892        r"""
4893        GetAvailablePlatformInfoAtIndex(SBDebugger self, uint32_t idx) -> SBStructuredData
4894
4895            Get the name and description of one of the available platforms.
4896
4897            @param idx Zero-based index of the platform for which info should be
4898                       retrieved, must be less than the value returned by
4899                       GetNumAvailablePlatforms().
4900        """
4901        return _lldb.SBDebugger_GetAvailablePlatformInfoAtIndex(self, idx)
4902
4903    def GetSourceManager(self):
4904        r"""GetSourceManager(SBDebugger self) -> SBSourceManager"""
4905        return _lldb.SBDebugger_GetSourceManager(self)
4906
4907    def SetCurrentPlatform(self, platform_name):
4908        r"""SetCurrentPlatform(SBDebugger self, char const * platform_name) -> SBError"""
4909        return _lldb.SBDebugger_SetCurrentPlatform(self, platform_name)
4910
4911    def SetCurrentPlatformSDKRoot(self, sysroot):
4912        r"""SetCurrentPlatformSDKRoot(SBDebugger self, char const * sysroot) -> bool"""
4913        return _lldb.SBDebugger_SetCurrentPlatformSDKRoot(self, sysroot)
4914
4915    def SetUseExternalEditor(self, input):
4916        r"""SetUseExternalEditor(SBDebugger self, bool input) -> bool"""
4917        return _lldb.SBDebugger_SetUseExternalEditor(self, input)
4918
4919    def GetUseExternalEditor(self):
4920        r"""GetUseExternalEditor(SBDebugger self) -> bool"""
4921        return _lldb.SBDebugger_GetUseExternalEditor(self)
4922
4923    def SetUseColor(self, use_color):
4924        r"""SetUseColor(SBDebugger self, bool use_color) -> bool"""
4925        return _lldb.SBDebugger_SetUseColor(self, use_color)
4926
4927    def GetUseColor(self):
4928        r"""GetUseColor(SBDebugger self) -> bool"""
4929        return _lldb.SBDebugger_GetUseColor(self)
4930
4931    def SetUseSourceCache(self, use_source_cache):
4932        r"""SetUseSourceCache(SBDebugger self, bool use_source_cache) -> bool"""
4933        return _lldb.SBDebugger_SetUseSourceCache(self, use_source_cache)
4934
4935    def GetUseSourceCache(self):
4936        r"""GetUseSourceCache(SBDebugger self) -> bool"""
4937        return _lldb.SBDebugger_GetUseSourceCache(self)
4938
4939    @staticmethod
4940    def GetDefaultArchitecture(arch_name, arch_name_len):
4941        r"""GetDefaultArchitecture(char * arch_name, size_t arch_name_len) -> bool"""
4942        return _lldb.SBDebugger_GetDefaultArchitecture(arch_name, arch_name_len)
4943
4944    @staticmethod
4945    def SetDefaultArchitecture(arch_name):
4946        r"""SetDefaultArchitecture(char const * arch_name) -> bool"""
4947        return _lldb.SBDebugger_SetDefaultArchitecture(arch_name)
4948
4949    def GetScriptingLanguage(self, script_language_name):
4950        r"""GetScriptingLanguage(SBDebugger self, char const * script_language_name) -> lldb::ScriptLanguage"""
4951        return _lldb.SBDebugger_GetScriptingLanguage(self, script_language_name)
4952
4953    def GetScriptInterpreterInfo(self, arg2):
4954        r"""GetScriptInterpreterInfo(SBDebugger self, lldb::ScriptLanguage arg2) -> SBStructuredData"""
4955        return _lldb.SBDebugger_GetScriptInterpreterInfo(self, arg2)
4956
4957    @staticmethod
4958    def GetVersionString():
4959        r"""GetVersionString() -> char const *"""
4960        return _lldb.SBDebugger_GetVersionString()
4961
4962    @staticmethod
4963    def StateAsCString(state):
4964        r"""StateAsCString(lldb::StateType state) -> char const *"""
4965        return _lldb.SBDebugger_StateAsCString(state)
4966
4967    @staticmethod
4968    def GetBuildConfiguration():
4969        r"""GetBuildConfiguration() -> SBStructuredData"""
4970        return _lldb.SBDebugger_GetBuildConfiguration()
4971
4972    @staticmethod
4973    def StateIsRunningState(state):
4974        r"""StateIsRunningState(lldb::StateType state) -> bool"""
4975        return _lldb.SBDebugger_StateIsRunningState(state)
4976
4977    @staticmethod
4978    def StateIsStoppedState(state):
4979        r"""StateIsStoppedState(lldb::StateType state) -> bool"""
4980        return _lldb.SBDebugger_StateIsStoppedState(state)
4981
4982    def EnableLog(self, channel, categories):
4983        r"""EnableLog(SBDebugger self, char const * channel, char const ** categories) -> bool"""
4984        return _lldb.SBDebugger_EnableLog(self, channel, categories)
4985
4986    def SetLoggingCallback(self, log_callback):
4987        r"""SetLoggingCallback(SBDebugger self, lldb::LogOutputCallback log_callback)"""
4988        return _lldb.SBDebugger_SetLoggingCallback(self, log_callback)
4989
4990    def SetDestroyCallback(self, destroy_callback):
4991        r"""SetDestroyCallback(SBDebugger self, lldb::SBDebuggerDestroyCallback destroy_callback)"""
4992        return _lldb.SBDebugger_SetDestroyCallback(self, destroy_callback)
4993
4994    def AddDestroyCallback(self, destroy_callback):
4995        r"""AddDestroyCallback(SBDebugger self, lldb::SBDebuggerDestroyCallback destroy_callback) -> lldb::callback_token_t"""
4996        return _lldb.SBDebugger_AddDestroyCallback(self, destroy_callback)
4997
4998    def RemoveDestroyCallback(self, token):
4999        r"""RemoveDestroyCallback(SBDebugger self, lldb::callback_token_t token) -> bool"""
5000        return _lldb.SBDebugger_RemoveDestroyCallback(self, token)
5001
5002    def DispatchInput(self, data):
5003        r"""DispatchInput(SBDebugger self, void const * data)"""
5004        return _lldb.SBDebugger_DispatchInput(self, data)
5005
5006    def DispatchInputInterrupt(self):
5007        r"""DispatchInputInterrupt(SBDebugger self)"""
5008        return _lldb.SBDebugger_DispatchInputInterrupt(self)
5009
5010    def DispatchInputEndOfFile(self):
5011        r"""DispatchInputEndOfFile(SBDebugger self)"""
5012        return _lldb.SBDebugger_DispatchInputEndOfFile(self)
5013
5014    def GetInstanceName(self):
5015        r"""GetInstanceName(SBDebugger self) -> char const *"""
5016        return _lldb.SBDebugger_GetInstanceName(self)
5017
5018    @staticmethod
5019    def FindDebuggerWithID(id):
5020        r"""FindDebuggerWithID(int id) -> SBDebugger"""
5021        return _lldb.SBDebugger_FindDebuggerWithID(id)
5022
5023    @staticmethod
5024    def SetInternalVariable(var_name, value, debugger_instance_name):
5025        r"""SetInternalVariable(char const * var_name, char const * value, char const * debugger_instance_name) -> SBError"""
5026        return _lldb.SBDebugger_SetInternalVariable(var_name, value, debugger_instance_name)
5027
5028    @staticmethod
5029    def GetInternalVariableValue(var_name, debugger_instance_name):
5030        r"""GetInternalVariableValue(char const * var_name, char const * debugger_instance_name) -> SBStringList"""
5031        return _lldb.SBDebugger_GetInternalVariableValue(var_name, debugger_instance_name)
5032
5033    def GetDescription(self, description):
5034        r"""GetDescription(SBDebugger self, SBStream description) -> bool"""
5035        return _lldb.SBDebugger_GetDescription(self, description)
5036
5037    def GetTerminalWidth(self):
5038        r"""GetTerminalWidth(SBDebugger self) -> uint32_t"""
5039        return _lldb.SBDebugger_GetTerminalWidth(self)
5040
5041    def SetTerminalWidth(self, term_width):
5042        r"""SetTerminalWidth(SBDebugger self, uint32_t term_width)"""
5043        return _lldb.SBDebugger_SetTerminalWidth(self, term_width)
5044
5045    def GetID(self):
5046        r"""GetID(SBDebugger self) -> lldb::user_id_t"""
5047        return _lldb.SBDebugger_GetID(self)
5048
5049    def GetPrompt(self):
5050        r"""GetPrompt(SBDebugger self) -> char const *"""
5051        return _lldb.SBDebugger_GetPrompt(self)
5052
5053    def SetPrompt(self, prompt):
5054        r"""SetPrompt(SBDebugger self, char const * prompt)"""
5055        return _lldb.SBDebugger_SetPrompt(self, prompt)
5056
5057    def GetReproducerPath(self):
5058        r"""GetReproducerPath(SBDebugger self) -> char const *"""
5059        return _lldb.SBDebugger_GetReproducerPath(self)
5060
5061    def GetScriptLanguage(self):
5062        r"""GetScriptLanguage(SBDebugger self) -> lldb::ScriptLanguage"""
5063        return _lldb.SBDebugger_GetScriptLanguage(self)
5064
5065    def SetScriptLanguage(self, script_lang):
5066        r"""SetScriptLanguage(SBDebugger self, lldb::ScriptLanguage script_lang)"""
5067        return _lldb.SBDebugger_SetScriptLanguage(self, script_lang)
5068
5069    def GetREPLLanguage(self):
5070        r"""GetREPLLanguage(SBDebugger self) -> lldb::LanguageType"""
5071        return _lldb.SBDebugger_GetREPLLanguage(self)
5072
5073    def SetREPLLanguage(self, repl_lang):
5074        r"""SetREPLLanguage(SBDebugger self, lldb::LanguageType repl_lang)"""
5075        return _lldb.SBDebugger_SetREPLLanguage(self, repl_lang)
5076
5077    def GetCloseInputOnEOF(self):
5078        r"""GetCloseInputOnEOF(SBDebugger self) -> bool"""
5079        return _lldb.SBDebugger_GetCloseInputOnEOF(self)
5080
5081    def SetCloseInputOnEOF(self, b):
5082        r"""SetCloseInputOnEOF(SBDebugger self, bool b)"""
5083        return _lldb.SBDebugger_SetCloseInputOnEOF(self, b)
5084
5085    def GetCategory(self, *args):
5086        r"""
5087        GetCategory(SBDebugger self, char const * category_name) -> SBTypeCategory
5088        GetCategory(SBDebugger self, lldb::LanguageType lang_type) -> SBTypeCategory
5089        """
5090        return _lldb.SBDebugger_GetCategory(self, *args)
5091
5092    def CreateCategory(self, category_name):
5093        r"""CreateCategory(SBDebugger self, char const * category_name) -> SBTypeCategory"""
5094        return _lldb.SBDebugger_CreateCategory(self, category_name)
5095
5096    def DeleteCategory(self, category_name):
5097        r"""DeleteCategory(SBDebugger self, char const * category_name) -> bool"""
5098        return _lldb.SBDebugger_DeleteCategory(self, category_name)
5099
5100    def GetNumCategories(self):
5101        r"""GetNumCategories(SBDebugger self) -> uint32_t"""
5102        return _lldb.SBDebugger_GetNumCategories(self)
5103
5104    def GetCategoryAtIndex(self, arg2):
5105        r"""GetCategoryAtIndex(SBDebugger self, uint32_t arg2) -> SBTypeCategory"""
5106        return _lldb.SBDebugger_GetCategoryAtIndex(self, arg2)
5107
5108    def GetDefaultCategory(self):
5109        r"""GetDefaultCategory(SBDebugger self) -> SBTypeCategory"""
5110        return _lldb.SBDebugger_GetDefaultCategory(self)
5111
5112    def GetFormatForType(self, arg2):
5113        r"""GetFormatForType(SBDebugger self, SBTypeNameSpecifier arg2) -> SBTypeFormat"""
5114        return _lldb.SBDebugger_GetFormatForType(self, arg2)
5115
5116    def GetSummaryForType(self, arg2):
5117        r"""GetSummaryForType(SBDebugger self, SBTypeNameSpecifier arg2) -> SBTypeSummary"""
5118        return _lldb.SBDebugger_GetSummaryForType(self, arg2)
5119
5120    def GetFilterForType(self, arg2):
5121        r"""GetFilterForType(SBDebugger self, SBTypeNameSpecifier arg2) -> SBTypeFilter"""
5122        return _lldb.SBDebugger_GetFilterForType(self, arg2)
5123
5124    def GetSyntheticForType(self, arg2):
5125        r"""GetSyntheticForType(SBDebugger self, SBTypeNameSpecifier arg2) -> SBTypeSynthetic"""
5126        return _lldb.SBDebugger_GetSyntheticForType(self, arg2)
5127
5128    def RunCommandInterpreter(self, auto_handle_events, spawn_thread, options, num_errors, quit_requested, stopped_for_crash):
5129        r"""
5130        RunCommandInterpreter(SBDebugger self, bool auto_handle_events, bool spawn_thread, SBCommandInterpreterRunOptions options, int & num_errors, bool & quit_requested, bool & stopped_for_crash)
5131        Launch a command interpreter session. Commands are read from standard input or
5132        from the input handle specified for the debugger object. Output/errors are
5133        similarly redirected to standard output/error or the configured handles.
5134
5135        @param[in] auto_handle_events If true, automatically handle resulting events.
5136        @param[in] spawn_thread If true, start a new thread for IO handling.
5137        @param[in] options Parameter collection of type SBCommandInterpreterRunOptions.
5138        @param[in] num_errors Initial error counter.
5139        @param[in] quit_requested Initial quit request flag.
5140        @param[in] stopped_for_crash Initial crash flag.
5141
5142        @return
5143        A tuple with the number of errors encountered by the interpreter, a boolean
5144        indicating whether quitting the interpreter was requested and another boolean
5145        set to True in case of a crash.
5146
5147        Example: ::
5148
5149            # Start an interactive lldb session from a script (with a valid debugger object
5150            # created beforehand):
5151            n_errors, quit_requested, has_crashed = debugger.RunCommandInterpreter(True,
5152                False, lldb.SBCommandInterpreterRunOptions(), 0, False, False)
5153        """
5154        return _lldb.SBDebugger_RunCommandInterpreter(self, auto_handle_events, spawn_thread, options, num_errors, quit_requested, stopped_for_crash)
5155
5156    def RunREPL(self, language, repl_options):
5157        r"""RunREPL(SBDebugger self, lldb::LanguageType language, char const * repl_options) -> SBError"""
5158        return _lldb.SBDebugger_RunREPL(self, language, repl_options)
5159
5160    def LoadTraceFromFile(self, error, trace_description_file):
5161        r"""LoadTraceFromFile(SBDebugger self, SBError error, SBFileSpec trace_description_file) -> SBTrace"""
5162        return _lldb.SBDebugger_LoadTraceFromFile(self, error, trace_description_file)
5163
5164    def __repr__(self):
5165        r"""__repr__(SBDebugger self) -> std::string"""
5166        return _lldb.SBDebugger___repr__(self)
5167
5168    def SetOutputFileHandle(self, file, transfer_ownership):
5169        "DEPRECATED, use SetOutputFile"
5170        if file is None:
5171            import sys
5172            file = sys.stdout
5173        self.SetOutputFile(SBFile.Create(file, borrow=True))
5174
5175    def SetInputFileHandle(self, file, transfer_ownership):
5176        "DEPRECATED, use SetInputFile"
5177        if file is None:
5178            import sys
5179            file = sys.stdin
5180        self.SetInputFile(SBFile.Create(file, borrow=True))
5181
5182    def SetErrorFileHandle(self, file, transfer_ownership):
5183        "DEPRECATED, use SetErrorFile"
5184        if file is None:
5185            import sys
5186            file = sys.stderr
5187        self.SetErrorFile(SBFile.Create(file, borrow=True))
5188
5189    def __iter__(self):
5190        '''Iterate over all targets in a lldb.SBDebugger object.'''
5191        return lldb_iter(self, 'GetNumTargets', 'GetTargetAtIndex')
5192
5193    def __len__(self):
5194        '''Return the number of targets in a lldb.SBDebugger object.'''
5195        return self.GetNumTargets()
5196
5197
5198    def GetInputFileHandle(self):
5199        r"""GetInputFileHandle(SBDebugger self) -> lldb::FileSP"""
5200        return _lldb.SBDebugger_GetInputFileHandle(self)
5201
5202    def GetOutputFileHandle(self):
5203        r"""GetOutputFileHandle(SBDebugger self) -> lldb::FileSP"""
5204        return _lldb.SBDebugger_GetOutputFileHandle(self)
5205
5206    def GetErrorFileHandle(self):
5207        r"""GetErrorFileHandle(SBDebugger self) -> lldb::FileSP"""
5208        return _lldb.SBDebugger_GetErrorFileHandle(self)
5209
5210# Register SBDebugger in _lldb:
5211_lldb.SBDebugger_swigregister(SBDebugger)
5212class SBDeclaration(object):
5213    r"""Specifies an association with a line and column for a variable."""
5214
5215    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5216
5217    def __init__(self, *args):
5218        r"""
5219        __init__(SBDeclaration self) -> SBDeclaration
5220        __init__(SBDeclaration self, SBDeclaration rhs) -> SBDeclaration
5221        """
5222        _lldb.SBDeclaration_swiginit(self, _lldb.new_SBDeclaration(*args))
5223    __swig_destroy__ = _lldb.delete_SBDeclaration
5224
5225    def __nonzero__(self):
5226        return _lldb.SBDeclaration___nonzero__(self)
5227    __bool__ = __nonzero__
5228
5229
5230
5231    def IsValid(self):
5232        r"""IsValid(SBDeclaration self) -> bool"""
5233        return _lldb.SBDeclaration_IsValid(self)
5234
5235    def GetFileSpec(self):
5236        r"""GetFileSpec(SBDeclaration self) -> SBFileSpec"""
5237        return _lldb.SBDeclaration_GetFileSpec(self)
5238
5239    def GetLine(self):
5240        r"""GetLine(SBDeclaration self) -> uint32_t"""
5241        return _lldb.SBDeclaration_GetLine(self)
5242
5243    def GetColumn(self):
5244        r"""GetColumn(SBDeclaration self) -> uint32_t"""
5245        return _lldb.SBDeclaration_GetColumn(self)
5246
5247    def SetFileSpec(self, filespec):
5248        r"""SetFileSpec(SBDeclaration self, SBFileSpec filespec)"""
5249        return _lldb.SBDeclaration_SetFileSpec(self, filespec)
5250
5251    def SetLine(self, line):
5252        r"""SetLine(SBDeclaration self, uint32_t line)"""
5253        return _lldb.SBDeclaration_SetLine(self, line)
5254
5255    def SetColumn(self, column):
5256        r"""SetColumn(SBDeclaration self, uint32_t column)"""
5257        return _lldb.SBDeclaration_SetColumn(self, column)
5258
5259    def __eq__(self, rhs):
5260        r"""__eq__(SBDeclaration self, SBDeclaration rhs) -> bool"""
5261        return _lldb.SBDeclaration___eq__(self, rhs)
5262
5263    def __ne__(self, rhs):
5264        r"""__ne__(SBDeclaration self, SBDeclaration rhs) -> bool"""
5265        return _lldb.SBDeclaration___ne__(self, rhs)
5266
5267    def GetDescription(self, description):
5268        r"""GetDescription(SBDeclaration self, SBStream description) -> bool"""
5269        return _lldb.SBDeclaration_GetDescription(self, description)
5270
5271    def __repr__(self):
5272        r"""__repr__(SBDeclaration self) -> std::string"""
5273        return _lldb.SBDeclaration___repr__(self)
5274
5275                # operator== is a free function, which swig does not handle, so we inject
5276                # our own equality operator here
5277    def __eq__(self, other):
5278        return not self.__ne__(other)
5279
5280    file = property(GetFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this line entry.''')
5281    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.''')
5282    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.''')
5283
5284
5285    def __eq__(self, rhs):
5286        if not isinstance(rhs, type(self)):
5287            return False
5288
5289        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
5290
5291    def __ne__(self, rhs):
5292        if not isinstance(rhs, type(self)):
5293            return True
5294
5295        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
5296
5297
5298# Register SBDeclaration in _lldb:
5299_lldb.SBDeclaration_swigregister(SBDeclaration)
5300class SBError(object):
5301    r"""
5302    Represents a container for holding any error code.
5303
5304    For example (from test/python_api/hello_world/TestHelloWorld.py), ::
5305
5306        def hello_world_attach_with_id_api(self):
5307            '''Create target, spawn a process, and attach to it by id.'''
5308
5309            target = self.dbg.CreateTarget(self.exe)
5310
5311            # Spawn a new process and don't display the stdout if not in TraceOn() mode.
5312            import subprocess
5313            popen = subprocess.Popen([self.exe, 'abc', 'xyz'],
5314                                     stdout = open(os.devnull, 'w') if not self.TraceOn() else None)
5315
5316            listener = lldb.SBListener('my.attach.listener')
5317            error = lldb.SBError()
5318            process = target.AttachToProcessWithID(listener, popen.pid, error)
5319
5320            self.assertTrue(error.Success() and process, PROCESS_IS_VALID)
5321
5322            # Let's check the stack traces of the attached process.
5323            import lldbutil
5324            stacktraces = lldbutil.print_stacktraces(process, string_buffer=True)
5325            self.expect(stacktraces, exe=False,
5326                substrs = ['main.c:%d' % self.line2,
5327                           '(int)argc=3'])
5328
5329            listener = lldb.SBListener('my.attach.listener')
5330            error = lldb.SBError()
5331            process = target.AttachToProcessWithID(listener, popen.pid, error)
5332
5333            self.assertTrue(error.Success() and process, PROCESS_IS_VALID)
5334
5335    checks that after the attach, there is no error condition by asserting
5336    that error.Success() is True and we get back a valid process object.
5337
5338    And (from test/python_api/event/TestEvent.py), ::
5339
5340            # Now launch the process, and do not stop at entry point.
5341            error = lldb.SBError()
5342            process = target.Launch(listener, None, None, None, None, None, None, 0, False, error)
5343            self.assertTrue(error.Success() and process, PROCESS_IS_VALID)
5344
5345    checks that after calling the target.Launch() method there's no error
5346    condition and we get back a void process object.
5347    """
5348
5349    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5350
5351    def __init__(self, *args):
5352        r"""
5353        __init__(SBError self) -> SBError
5354        __init__(SBError self, SBError rhs) -> SBError
5355        __init__(SBError self, char const * message) -> SBError
5356        """
5357        _lldb.SBError_swiginit(self, _lldb.new_SBError(*args))
5358    __swig_destroy__ = _lldb.delete_SBError
5359
5360    def GetCString(self):
5361        r"""GetCString(SBError self) -> char const *"""
5362        return _lldb.SBError_GetCString(self)
5363
5364    def Clear(self):
5365        r"""Clear(SBError self)"""
5366        return _lldb.SBError_Clear(self)
5367
5368    def Fail(self):
5369        r"""Fail(SBError self) -> bool"""
5370        return _lldb.SBError_Fail(self)
5371
5372    def Success(self):
5373        r"""Success(SBError self) -> bool"""
5374        return _lldb.SBError_Success(self)
5375
5376    def GetError(self):
5377        r"""GetError(SBError self) -> uint32_t"""
5378        return _lldb.SBError_GetError(self)
5379
5380    def GetType(self):
5381        r"""GetType(SBError self) -> lldb::ErrorType"""
5382        return _lldb.SBError_GetType(self)
5383
5384    def SetError(self, err, type):
5385        r"""SetError(SBError self, uint32_t err, lldb::ErrorType type)"""
5386        return _lldb.SBError_SetError(self, err, type)
5387
5388    def SetErrorToErrno(self):
5389        r"""SetErrorToErrno(SBError self)"""
5390        return _lldb.SBError_SetErrorToErrno(self)
5391
5392    def SetErrorToGenericError(self):
5393        r"""SetErrorToGenericError(SBError self)"""
5394        return _lldb.SBError_SetErrorToGenericError(self)
5395
5396    def SetErrorString(self, err_str):
5397        r"""SetErrorString(SBError self, char const * err_str)"""
5398        return _lldb.SBError_SetErrorString(self, err_str)
5399
5400    def SetErrorStringWithFormat(self, format, str1=None, str2=None, str3=None):
5401        r"""SetErrorStringWithFormat(SBError self, char const * format, char * str1=None, char * str2=None, char * str3=None) -> int"""
5402        return _lldb.SBError_SetErrorStringWithFormat(self, format, str1, str2, str3)
5403
5404    def __nonzero__(self):
5405        return _lldb.SBError___nonzero__(self)
5406    __bool__ = __nonzero__
5407
5408
5409
5410    def IsValid(self):
5411        r"""IsValid(SBError self) -> bool"""
5412        return _lldb.SBError_IsValid(self)
5413
5414    def GetDescription(self, description):
5415        r"""GetDescription(SBError self, SBStream description) -> bool"""
5416        return _lldb.SBError_GetDescription(self, description)
5417
5418    def __repr__(self):
5419        r"""__repr__(SBError self) -> std::string"""
5420        return _lldb.SBError___repr__(self)
5421
5422    def __int__(self):
5423        return self.GetError()
5424
5425    value = property(GetError, None, doc='''A read only property that returns the same result as GetError().''')
5426    fail = property(Fail, None, doc='''A read only property that returns the same result as Fail().''')
5427    success = property(Success, None, doc='''A read only property that returns the same result as Success().''')
5428    description = property(GetCString, None, doc='''A read only property that returns the same result as GetCString().''')
5429    type = property(GetType, None, doc='''A read only property that returns the same result as GetType().''')
5430
5431
5432# Register SBError in _lldb:
5433_lldb.SBError_swigregister(SBError)
5434class SBEnvironment(object):
5435    r"""
5436    Represents the environment of a certain process.
5437
5438    Example: ::
5439
5440      for entry in lldb.debugger.GetSelectedTarget().GetEnvironment().GetEntries():
5441        print(entry)
5442
5443
5444    """
5445
5446    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5447    __repr__ = _swig_repr
5448
5449    def __init__(self, *args):
5450        r"""
5451        __init__(SBEnvironment self) -> SBEnvironment
5452        __init__(SBEnvironment self, SBEnvironment rhs) -> SBEnvironment
5453        """
5454        _lldb.SBEnvironment_swiginit(self, _lldb.new_SBEnvironment(*args))
5455    __swig_destroy__ = _lldb.delete_SBEnvironment
5456
5457    def Get(self, name):
5458        r"""Get(SBEnvironment self, char const * name) -> char const *"""
5459        return _lldb.SBEnvironment_Get(self, name)
5460
5461    def GetNumValues(self):
5462        r"""GetNumValues(SBEnvironment self) -> size_t"""
5463        return _lldb.SBEnvironment_GetNumValues(self)
5464
5465    def GetNameAtIndex(self, index):
5466        r"""GetNameAtIndex(SBEnvironment self, size_t index) -> char const *"""
5467        return _lldb.SBEnvironment_GetNameAtIndex(self, index)
5468
5469    def GetValueAtIndex(self, index):
5470        r"""GetValueAtIndex(SBEnvironment self, size_t index) -> char const *"""
5471        return _lldb.SBEnvironment_GetValueAtIndex(self, index)
5472
5473    def GetEntries(self):
5474        r"""GetEntries(SBEnvironment self) -> SBStringList"""
5475        return _lldb.SBEnvironment_GetEntries(self)
5476
5477    def PutEntry(self, name_and_value):
5478        r"""PutEntry(SBEnvironment self, char const * name_and_value)"""
5479        return _lldb.SBEnvironment_PutEntry(self, name_and_value)
5480
5481    def SetEntries(self, entries, append):
5482        r"""SetEntries(SBEnvironment self, SBStringList entries, bool append)"""
5483        return _lldb.SBEnvironment_SetEntries(self, entries, append)
5484
5485    def Set(self, name, value, overwrite):
5486        r"""Set(SBEnvironment self, char const * name, char const * value, bool overwrite) -> bool"""
5487        return _lldb.SBEnvironment_Set(self, name, value, overwrite)
5488
5489    def Unset(self, name):
5490        r"""Unset(SBEnvironment self, char const * name) -> bool"""
5491        return _lldb.SBEnvironment_Unset(self, name)
5492
5493    def Clear(self):
5494        r"""Clear(SBEnvironment self)"""
5495        return _lldb.SBEnvironment_Clear(self)
5496
5497# Register SBEnvironment in _lldb:
5498_lldb.SBEnvironment_swigregister(SBEnvironment)
5499class SBEvent(object):
5500    r"""
5501    API clients can register to receive events.
5502
5503    For example, check out the following output: ::
5504
5505        Try wait for event...
5506        Event description: 0x103d0bb70 Event: broadcaster = 0x1009c8410, type = 0x00000001, data = { process = 0x1009c8400 (pid = 21528), state = running}
5507        Event data flavor: Process::ProcessEventData
5508        Process state: running
5509
5510        Try wait for event...
5511        Event description: 0x103a700a0 Event: broadcaster = 0x1009c8410, type = 0x00000001, data = { process = 0x1009c8400 (pid = 21528), state = stopped}
5512        Event data flavor: Process::ProcessEventData
5513        Process state: stopped
5514
5515        Try wait for event...
5516        Event description: 0x103d0d4a0 Event: broadcaster = 0x1009c8410, type = 0x00000001, data = { process = 0x1009c8400 (pid = 21528), state = exited}
5517        Event data flavor: Process::ProcessEventData
5518        Process state: exited
5519
5520        Try wait for event...
5521        timeout occurred waiting for event...
5522
5523    from test/python_api/event/TestEventspy: ::
5524
5525        def do_listen_for_and_print_event(self):
5526            '''Create a listener and use SBEvent API to print the events received.'''
5527            exe = os.path.join(os.getcwd(), 'a.out')
5528
5529            # Create a target by the debugger.
5530            target = self.dbg.CreateTarget(exe)
5531            self.assertTrue(target, VALID_TARGET)
5532
5533            # Now create a breakpoint on main.c by name 'c'.
5534            breakpoint = target.BreakpointCreateByName('c', 'a.out')
5535
5536            # Now launch the process, and do not stop at the entry point.
5537            process = target.LaunchSimple(None, None, os.getcwd())
5538            self.assertTrue(process.GetState() == lldb.eStateStopped,
5539                            PROCESS_STOPPED)
5540
5541            # Get a handle on the process's broadcaster.
5542            broadcaster = process.GetBroadcaster()
5543
5544            # Create an empty event object.
5545            event = lldb.SBEvent()
5546
5547            # Create a listener object and register with the broadcaster.
5548            listener = lldb.SBListener('my listener')
5549            rc = broadcaster.AddListener(listener, lldb.SBProcess.eBroadcastBitStateChanged)
5550            self.assertTrue(rc, 'AddListener successfully retruns')
5551
5552            traceOn = self.TraceOn()
5553            if traceOn:
5554                lldbutil.print_stacktraces(process)
5555
5556            # Create MyListeningThread class to wait for any kind of event.
5557            import threading
5558            class MyListeningThread(threading.Thread):
5559                def run(self):
5560                    count = 0
5561                    # Let's only try at most 4 times to retrieve any kind of event.
5562                    # After that, the thread exits.
5563                    while not count > 3:
5564                        if traceOn:
5565                            print('Try wait for event...')
5566                        if listener.WaitForEventForBroadcasterWithType(5,
5567                                                                       broadcaster,
5568                                                                       lldb.SBProcess.eBroadcastBitStateChanged,
5569                                                                       event):
5570                            if traceOn:
5571                                desc = lldbutil.get_description(event))
5572                                print('Event description:', desc)
5573                                print('Event data flavor:', event.GetDataFlavor())
5574                                print('Process state:', lldbutil.state_type_to_str(process.GetState()))
5575                                print()
5576                        else:
5577                            if traceOn:
5578                                print 'timeout occurred waiting for event...'
5579                        count = count + 1
5580                    return
5581
5582            # Let's start the listening thread to retrieve the events.
5583            my_thread = MyListeningThread()
5584            my_thread.start()
5585
5586            # Use Python API to continue the process.  The listening thread should be
5587            # able to receive the state changed events.
5588            process.Continue()
5589
5590            # Use Python API to kill the process.  The listening thread should be
5591            # able to receive the state changed event, too.
5592            process.Kill()
5593
5594            # Wait until the 'MyListeningThread' terminates.
5595            my_thread.join()
5596    """
5597
5598    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5599    __repr__ = _swig_repr
5600
5601    def __init__(self, *args):
5602        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)"""
5603        _lldb.SBEvent_swiginit(self, _lldb.new_SBEvent(*args))
5604    __swig_destroy__ = _lldb.delete_SBEvent
5605
5606    def __nonzero__(self):
5607        return _lldb.SBEvent___nonzero__(self)
5608    __bool__ = __nonzero__
5609
5610
5611
5612    def IsValid(self):
5613        r"""IsValid(SBEvent self) -> bool"""
5614        return _lldb.SBEvent_IsValid(self)
5615
5616    def GetDataFlavor(self):
5617        r"""GetDataFlavor(SBEvent self) -> char const *"""
5618        return _lldb.SBEvent_GetDataFlavor(self)
5619
5620    def GetType(self):
5621        r"""GetType(SBEvent self) -> uint32_t"""
5622        return _lldb.SBEvent_GetType(self)
5623
5624    def GetBroadcaster(self):
5625        r"""GetBroadcaster(SBEvent self) -> SBBroadcaster"""
5626        return _lldb.SBEvent_GetBroadcaster(self)
5627
5628    def GetBroadcasterClass(self):
5629        r"""GetBroadcasterClass(SBEvent self) -> char const *"""
5630        return _lldb.SBEvent_GetBroadcasterClass(self)
5631
5632    def BroadcasterMatchesRef(self, broadcaster):
5633        r"""BroadcasterMatchesRef(SBEvent self, SBBroadcaster broadcaster) -> bool"""
5634        return _lldb.SBEvent_BroadcasterMatchesRef(self, broadcaster)
5635
5636    def Clear(self):
5637        r"""Clear(SBEvent self)"""
5638        return _lldb.SBEvent_Clear(self)
5639
5640    @staticmethod
5641    def GetCStringFromEvent(event):
5642        r"""GetCStringFromEvent(SBEvent event) -> char const *"""
5643        return _lldb.SBEvent_GetCStringFromEvent(event)
5644
5645    def GetDescription(self, *args):
5646        r"""
5647        GetDescription(SBEvent self, SBStream description) -> bool
5648        GetDescription(SBEvent self, SBStream description) -> bool
5649        """
5650        return _lldb.SBEvent_GetDescription(self, *args)
5651
5652# Register SBEvent in _lldb:
5653_lldb.SBEvent_swigregister(SBEvent)
5654class SBExecutionContext(object):
5655    r"""Describes the program context in which a command should be executed."""
5656
5657    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5658    __repr__ = _swig_repr
5659
5660    def __init__(self, *args):
5661        r"""
5662        __init__(SBExecutionContext self) -> SBExecutionContext
5663        __init__(SBExecutionContext self, SBExecutionContext rhs) -> SBExecutionContext
5664        __init__(SBExecutionContext self, SBTarget target) -> SBExecutionContext
5665        __init__(SBExecutionContext self, SBProcess process) -> SBExecutionContext
5666        __init__(SBExecutionContext self, SBThread thread) -> SBExecutionContext
5667        __init__(SBExecutionContext self, SBFrame frame) -> SBExecutionContext
5668        """
5669        _lldb.SBExecutionContext_swiginit(self, _lldb.new_SBExecutionContext(*args))
5670    __swig_destroy__ = _lldb.delete_SBExecutionContext
5671
5672    def GetTarget(self):
5673        r"""GetTarget(SBExecutionContext self) -> SBTarget"""
5674        return _lldb.SBExecutionContext_GetTarget(self)
5675
5676    def GetProcess(self):
5677        r"""GetProcess(SBExecutionContext self) -> SBProcess"""
5678        return _lldb.SBExecutionContext_GetProcess(self)
5679
5680    def GetThread(self):
5681        r"""GetThread(SBExecutionContext self) -> SBThread"""
5682        return _lldb.SBExecutionContext_GetThread(self)
5683
5684    def GetFrame(self):
5685        r"""GetFrame(SBExecutionContext self) -> SBFrame"""
5686        return _lldb.SBExecutionContext_GetFrame(self)
5687
5688    target = property(GetTarget, None, doc='''A read only property that returns the same result as GetTarget().''')
5689    process = property(GetProcess, None, doc='''A read only property that returns the same result as GetProcess().''')
5690    thread = property(GetThread, None, doc='''A read only property that returns the same result as GetThread().''')
5691    frame = property(GetFrame, None, doc='''A read only property that returns the same result as GetFrame().''')
5692
5693
5694# Register SBExecutionContext in _lldb:
5695_lldb.SBExecutionContext_swigregister(SBExecutionContext)
5696class SBExpressionOptions(object):
5697    r"""A container for options to use when evaluating expressions."""
5698
5699    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5700    __repr__ = _swig_repr
5701
5702    def __init__(self, *args):
5703        r"""
5704        __init__(SBExpressionOptions self) -> SBExpressionOptions
5705        __init__(SBExpressionOptions self, SBExpressionOptions rhs) -> SBExpressionOptions
5706        """
5707        _lldb.SBExpressionOptions_swiginit(self, _lldb.new_SBExpressionOptions(*args))
5708    __swig_destroy__ = _lldb.delete_SBExpressionOptions
5709
5710    def GetCoerceResultToId(self):
5711        r"""GetCoerceResultToId(SBExpressionOptions self) -> bool"""
5712        return _lldb.SBExpressionOptions_GetCoerceResultToId(self)
5713
5714    def SetCoerceResultToId(self, coerce=True):
5715        r"""
5716        SetCoerceResultToId(SBExpressionOptions self, bool coerce=True)
5717        Sets whether to coerce the expression result to ObjC id type after evaluation.
5718        """
5719        return _lldb.SBExpressionOptions_SetCoerceResultToId(self, coerce)
5720
5721    def GetUnwindOnError(self):
5722        r"""GetUnwindOnError(SBExpressionOptions self) -> bool"""
5723        return _lldb.SBExpressionOptions_GetUnwindOnError(self)
5724
5725    def SetUnwindOnError(self, unwind=True):
5726        r"""
5727        SetUnwindOnError(SBExpressionOptions self, bool unwind=True)
5728        Sets whether to unwind the expression stack on error.
5729        """
5730        return _lldb.SBExpressionOptions_SetUnwindOnError(self, unwind)
5731
5732    def GetIgnoreBreakpoints(self):
5733        r"""GetIgnoreBreakpoints(SBExpressionOptions self) -> bool"""
5734        return _lldb.SBExpressionOptions_GetIgnoreBreakpoints(self)
5735
5736    def SetIgnoreBreakpoints(self, ignore=True):
5737        r"""
5738        SetIgnoreBreakpoints(SBExpressionOptions self, bool ignore=True)
5739        Sets whether to ignore breakpoint hits while running expressions.
5740        """
5741        return _lldb.SBExpressionOptions_SetIgnoreBreakpoints(self, ignore)
5742
5743    def GetFetchDynamicValue(self):
5744        r"""GetFetchDynamicValue(SBExpressionOptions self) -> lldb::DynamicValueType"""
5745        return _lldb.SBExpressionOptions_GetFetchDynamicValue(self)
5746
5747    def SetFetchDynamicValue(self, *args):
5748        r"""
5749        SetFetchDynamicValue(SBExpressionOptions self, lldb::DynamicValueType dynamic=eDynamicCanRunTarget)
5750        Sets whether to cast the expression result to its dynamic type.
5751        """
5752        return _lldb.SBExpressionOptions_SetFetchDynamicValue(self, *args)
5753
5754    def GetTimeoutInMicroSeconds(self):
5755        r"""GetTimeoutInMicroSeconds(SBExpressionOptions self) -> uint32_t"""
5756        return _lldb.SBExpressionOptions_GetTimeoutInMicroSeconds(self)
5757
5758    def SetTimeoutInMicroSeconds(self, timeout=0):
5759        r"""
5760        SetTimeoutInMicroSeconds(SBExpressionOptions self, uint32_t timeout=0)
5761        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.
5762        """
5763        return _lldb.SBExpressionOptions_SetTimeoutInMicroSeconds(self, timeout)
5764
5765    def GetOneThreadTimeoutInMicroSeconds(self):
5766        r"""GetOneThreadTimeoutInMicroSeconds(SBExpressionOptions self) -> uint32_t"""
5767        return _lldb.SBExpressionOptions_GetOneThreadTimeoutInMicroSeconds(self)
5768
5769    def SetOneThreadTimeoutInMicroSeconds(self, timeout=0):
5770        r"""
5771        SetOneThreadTimeoutInMicroSeconds(SBExpressionOptions self, uint32_t timeout=0)
5772        Sets the timeout in microseconds to run the expression on one thread before either timing out or trying all threads.
5773        """
5774        return _lldb.SBExpressionOptions_SetOneThreadTimeoutInMicroSeconds(self, timeout)
5775
5776    def GetTryAllThreads(self):
5777        r"""GetTryAllThreads(SBExpressionOptions self) -> bool"""
5778        return _lldb.SBExpressionOptions_GetTryAllThreads(self)
5779
5780    def SetTryAllThreads(self, run_others=True):
5781        r"""
5782        SetTryAllThreads(SBExpressionOptions self, bool run_others=True)
5783        Sets whether to run all threads if the expression does not complete on one thread.
5784        """
5785        return _lldb.SBExpressionOptions_SetTryAllThreads(self, run_others)
5786
5787    def GetStopOthers(self):
5788        r"""GetStopOthers(SBExpressionOptions self) -> bool"""
5789        return _lldb.SBExpressionOptions_GetStopOthers(self)
5790
5791    def SetStopOthers(self, stop_others=True):
5792        r"""
5793        SetStopOthers(SBExpressionOptions self, bool stop_others=True)
5794        Sets whether to stop other threads at all while running expressions.  If false, TryAllThreads does nothing.
5795        """
5796        return _lldb.SBExpressionOptions_SetStopOthers(self, stop_others)
5797
5798    def GetTrapExceptions(self):
5799        r"""GetTrapExceptions(SBExpressionOptions self) -> bool"""
5800        return _lldb.SBExpressionOptions_GetTrapExceptions(self)
5801
5802    def SetTrapExceptions(self, trap_exceptions=True):
5803        r"""
5804        SetTrapExceptions(SBExpressionOptions self, bool trap_exceptions=True)
5805        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.
5806        """
5807        return _lldb.SBExpressionOptions_SetTrapExceptions(self, trap_exceptions)
5808
5809    def SetLanguage(self, *args):
5810        r"""
5811        SetLanguage(SBExpressionOptions self, lldb::LanguageType language)
5812        SetLanguage(SBExpressionOptions self, lldb::SBSourceLanguageName name, uint32_t version)
5813        Sets the language that LLDB should assume the expression is written in
5814        """
5815        return _lldb.SBExpressionOptions_SetLanguage(self, *args)
5816
5817    def GetGenerateDebugInfo(self):
5818        r"""GetGenerateDebugInfo(SBExpressionOptions self) -> bool"""
5819        return _lldb.SBExpressionOptions_GetGenerateDebugInfo(self)
5820
5821    def SetGenerateDebugInfo(self, b=True):
5822        r"""
5823        SetGenerateDebugInfo(SBExpressionOptions self, bool b=True)
5824        Sets whether to generate debug information for the expression and also controls if a SBModule is generated.
5825        """
5826        return _lldb.SBExpressionOptions_SetGenerateDebugInfo(self, b)
5827
5828    def GetSuppressPersistentResult(self):
5829        r"""GetSuppressPersistentResult(SBExpressionOptions self) -> bool"""
5830        return _lldb.SBExpressionOptions_GetSuppressPersistentResult(self)
5831
5832    def SetSuppressPersistentResult(self, b=False):
5833        r"""
5834        SetSuppressPersistentResult(SBExpressionOptions self, bool b=False)
5835        Sets whether to produce a persistent result that can be used in future expressions.
5836        """
5837        return _lldb.SBExpressionOptions_SetSuppressPersistentResult(self, b)
5838
5839    def GetPrefix(self):
5840        r"""
5841        GetPrefix(SBExpressionOptions self) -> char const *
5842        Gets the prefix to use for this expression.
5843        """
5844        return _lldb.SBExpressionOptions_GetPrefix(self)
5845
5846    def SetPrefix(self, prefix):
5847        r"""
5848        SetPrefix(SBExpressionOptions self, char const * prefix)
5849        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.
5850        """
5851        return _lldb.SBExpressionOptions_SetPrefix(self, prefix)
5852
5853    def SetAutoApplyFixIts(self, b=True):
5854        r"""
5855        SetAutoApplyFixIts(SBExpressionOptions self, bool b=True)
5856        Sets whether to auto-apply fix-it hints to the expression being evaluated.
5857        """
5858        return _lldb.SBExpressionOptions_SetAutoApplyFixIts(self, b)
5859
5860    def GetAutoApplyFixIts(self):
5861        r"""
5862        GetAutoApplyFixIts(SBExpressionOptions self) -> bool
5863        Gets whether to auto-apply fix-it hints to an expression.
5864        """
5865        return _lldb.SBExpressionOptions_GetAutoApplyFixIts(self)
5866
5867    def SetRetriesWithFixIts(self, retries):
5868        r"""
5869        SetRetriesWithFixIts(SBExpressionOptions self, uint64_t retries)
5870        Sets how often LLDB should retry applying fix-its to an expression.
5871        """
5872        return _lldb.SBExpressionOptions_SetRetriesWithFixIts(self, retries)
5873
5874    def GetRetriesWithFixIts(self):
5875        r"""
5876        GetRetriesWithFixIts(SBExpressionOptions self) -> uint64_t
5877        Gets how often LLDB will retry applying fix-its to an expression.
5878        """
5879        return _lldb.SBExpressionOptions_GetRetriesWithFixIts(self)
5880
5881    def GetTopLevel(self):
5882        r"""GetTopLevel(SBExpressionOptions self) -> bool"""
5883        return _lldb.SBExpressionOptions_GetTopLevel(self)
5884
5885    def SetTopLevel(self, b=True):
5886        r"""SetTopLevel(SBExpressionOptions self, bool b=True)"""
5887        return _lldb.SBExpressionOptions_SetTopLevel(self, b)
5888
5889    def GetAllowJIT(self):
5890        r"""
5891        GetAllowJIT(SBExpressionOptions self) -> bool
5892        Gets whether to JIT an expression if it cannot be interpreted.
5893        """
5894        return _lldb.SBExpressionOptions_GetAllowJIT(self)
5895
5896    def SetAllowJIT(self, allow):
5897        r"""
5898        SetAllowJIT(SBExpressionOptions self, bool allow)
5899        Sets whether to JIT an expression if it cannot be interpreted.
5900        """
5901        return _lldb.SBExpressionOptions_SetAllowJIT(self, allow)
5902
5903# Register SBExpressionOptions in _lldb:
5904_lldb.SBExpressionOptions_swigregister(SBExpressionOptions)
5905class SBFile(object):
5906    r"""Represents a file."""
5907
5908    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5909    __repr__ = _swig_repr
5910
5911    def __init__(self, *args):
5912        r"""
5913        __init__(SBFile self) -> SBFile
5914        __init__(SBFile self, lldb::FileSP file_sp) -> SBFile
5915        __init__(SBFile self, int fd, char const * mode, bool transfer_ownership) -> SBFile
5916        initialize a SBFile from a python file object
5917        """
5918        _lldb.SBFile_swiginit(self, _lldb.new_SBFile(*args))
5919    __swig_destroy__ = _lldb.delete_SBFile
5920
5921    def Read(self, buf):
5922        r"""Read(buffer) -> SBError, bytes_read"""
5923        return _lldb.SBFile_Read(self, buf)
5924
5925    def Write(self, buf):
5926        r"""Write(buffer) -> SBError, written_read"""
5927        return _lldb.SBFile_Write(self, buf)
5928
5929    def Flush(self):
5930        r"""Flush(SBFile self) -> SBError"""
5931        return _lldb.SBFile_Flush(self)
5932
5933    def IsValid(self):
5934        r"""IsValid(SBFile self) -> bool"""
5935        return _lldb.SBFile_IsValid(self)
5936
5937    def Close(self):
5938        r"""Close(SBFile self) -> SBError"""
5939        return _lldb.SBFile_Close(self)
5940
5941    def __nonzero__(self):
5942        return _lldb.SBFile___nonzero__(self)
5943    __bool__ = __nonzero__
5944
5945
5946
5947    def GetFile(self):
5948        r"""
5949        GetFile(SBFile self) -> lldb::FileSP
5950
5951            Convert this SBFile into a python io.IOBase file object.
5952
5953            If the SBFile is itself a wrapper around a python file object,
5954            this will return that original object.
5955
5956            The file returned from here should be considered borrowed,
5957            in the sense that you may read and write to it, and flush it,
5958            etc, but you should not close it.   If you want to close the
5959            SBFile, call SBFile.Close().
5960
5961            If there is no underlying python file to unwrap, GetFile will
5962            use the file descriptor, if available to create a new python
5963            file object using ``open(fd, mode=..., closefd=False)``
5964
5965        """
5966        return _lldb.SBFile_GetFile(self)
5967
5968    @staticmethod
5969    def MakeBorrowed(BORROWED):
5970        r"""MakeBorrowed(lldb::FileSP BORROWED) -> SBFile"""
5971        return _lldb.SBFile_MakeBorrowed(BORROWED)
5972
5973    @staticmethod
5974    def MakeForcingIOMethods(FORCE_IO_METHODS):
5975        r"""MakeForcingIOMethods(lldb::FileSP FORCE_IO_METHODS) -> SBFile"""
5976        return _lldb.SBFile_MakeForcingIOMethods(FORCE_IO_METHODS)
5977
5978    @staticmethod
5979    def MakeBorrowedForcingIOMethods(BORROWED_FORCE_IO_METHODS):
5980        r"""MakeBorrowedForcingIOMethods(lldb::FileSP BORROWED_FORCE_IO_METHODS) -> SBFile"""
5981        return _lldb.SBFile_MakeBorrowedForcingIOMethods(BORROWED_FORCE_IO_METHODS)
5982
5983    @classmethod
5984    def Create(cls, file, borrow=False, force_io_methods=False):
5985        """
5986        Create a SBFile from a python file object, with options.
5987
5988        If borrow is set then the underlying file will
5989        not be closed when the SBFile is closed or destroyed.
5990
5991        If force_scripting_io is set then the python read/write
5992        methods will be called even if a file descriptor is available.
5993        """
5994        if borrow:
5995            if force_io_methods:
5996                return cls.MakeBorrowedForcingIOMethods(file)
5997            else:
5998                return cls.MakeBorrowed(file)
5999        else:
6000            if force_io_methods:
6001                return cls.MakeForcingIOMethods(file)
6002            else:
6003                return cls(file)
6004
6005
6006# Register SBFile in _lldb:
6007_lldb.SBFile_swigregister(SBFile)
6008class SBFileSpec(object):
6009    r"""
6010    Represents a file specification that divides the path into a directory and
6011    basename.  The string values of the paths are put into uniqued string pools
6012    for fast comparisons and efficient memory usage.
6013
6014    For example, the following code ::
6015
6016            lineEntry = context.GetLineEntry()
6017            self.expect(lineEntry.GetFileSpec().GetDirectory(), 'The line entry should have the correct directory',
6018                        exe=False,
6019                substrs = [self.mydir])
6020            self.expect(lineEntry.GetFileSpec().GetFilename(), 'The line entry should have the correct filename',
6021                        exe=False,
6022                substrs = ['main.c'])
6023            self.assertTrue(lineEntry.GetLine() == self.line,
6024                            'The line entry's line number should match ')
6025
6026    gets the line entry from the symbol context when a thread is stopped.
6027    It gets the file spec corresponding to the line entry and checks that
6028    the filename and the directory matches what we expect.
6029    """
6030
6031    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6032
6033    def __init__(self, *args):
6034        r"""
6035        __init__(SBFileSpec self) -> SBFileSpec
6036        __init__(SBFileSpec self, SBFileSpec rhs) -> SBFileSpec
6037        __init__(SBFileSpec self, char const * path) -> SBFileSpec
6038        __init__(SBFileSpec self, char const * path, bool resolve) -> SBFileSpec
6039        """
6040        _lldb.SBFileSpec_swiginit(self, _lldb.new_SBFileSpec(*args))
6041    __swig_destroy__ = _lldb.delete_SBFileSpec
6042
6043    def __nonzero__(self):
6044        return _lldb.SBFileSpec___nonzero__(self)
6045    __bool__ = __nonzero__
6046
6047
6048
6049    def __eq__(self, rhs):
6050        r"""__eq__(SBFileSpec self, SBFileSpec rhs) -> bool"""
6051        return _lldb.SBFileSpec___eq__(self, rhs)
6052
6053    def __ne__(self, rhs):
6054        r"""__ne__(SBFileSpec self, SBFileSpec rhs) -> bool"""
6055        return _lldb.SBFileSpec___ne__(self, rhs)
6056
6057    def IsValid(self):
6058        r"""IsValid(SBFileSpec self) -> bool"""
6059        return _lldb.SBFileSpec_IsValid(self)
6060
6061    def Exists(self):
6062        r"""Exists(SBFileSpec self) -> bool"""
6063        return _lldb.SBFileSpec_Exists(self)
6064
6065    def ResolveExecutableLocation(self):
6066        r"""ResolveExecutableLocation(SBFileSpec self) -> bool"""
6067        return _lldb.SBFileSpec_ResolveExecutableLocation(self)
6068
6069    def GetFilename(self):
6070        r"""GetFilename(SBFileSpec self) -> char const *"""
6071        return _lldb.SBFileSpec_GetFilename(self)
6072
6073    def GetDirectory(self):
6074        r"""GetDirectory(SBFileSpec self) -> char const *"""
6075        return _lldb.SBFileSpec_GetDirectory(self)
6076
6077    def SetFilename(self, filename):
6078        r"""SetFilename(SBFileSpec self, char const * filename)"""
6079        return _lldb.SBFileSpec_SetFilename(self, filename)
6080
6081    def SetDirectory(self, directory):
6082        r"""SetDirectory(SBFileSpec self, char const * directory)"""
6083        return _lldb.SBFileSpec_SetDirectory(self, directory)
6084
6085    def GetPath(self, dst_path, dst_len):
6086        r"""GetPath(SBFileSpec self, char * dst_path, size_t dst_len) -> uint32_t"""
6087        return _lldb.SBFileSpec_GetPath(self, dst_path, dst_len)
6088
6089    @staticmethod
6090    def ResolvePath(src_path, dst_path, dst_len):
6091        r"""ResolvePath(char const * src_path, char * dst_path, size_t dst_len) -> int"""
6092        return _lldb.SBFileSpec_ResolvePath(src_path, dst_path, dst_len)
6093
6094    def GetDescription(self, description):
6095        r"""GetDescription(SBFileSpec self, SBStream description) -> bool"""
6096        return _lldb.SBFileSpec_GetDescription(self, description)
6097
6098    def AppendPathComponent(self, file_or_directory):
6099        r"""AppendPathComponent(SBFileSpec self, char const * file_or_directory)"""
6100        return _lldb.SBFileSpec_AppendPathComponent(self, file_or_directory)
6101
6102    def __repr__(self):
6103        r"""__repr__(SBFileSpec self) -> std::string"""
6104        return _lldb.SBFileSpec___repr__(self)
6105
6106            # operator== is a free function, which swig does not handle, so we inject
6107            # our own equality operator here
6108    def __eq__(self, other):
6109        return not self.__ne__(other)
6110
6111    fullpath = property(str, None, doc='''A read only property that returns the fullpath as a python string.''')
6112    basename = property(GetFilename, None, doc='''A read only property that returns the path basename as a python string.''')
6113    dirname = property(GetDirectory, None, doc='''A read only property that returns the path directory name as a python string.''')
6114    exists = property(Exists, None, doc='''A read only property that returns a boolean value that indicates if the file exists.''')
6115
6116
6117# Register SBFileSpec in _lldb:
6118_lldb.SBFileSpec_swigregister(SBFileSpec)
6119class SBFileSpecList(object):
6120    r"""Represents a list of :py:class:`SBFileSpec`."""
6121
6122    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6123
6124    def __init__(self, *args):
6125        r"""
6126        __init__(SBFileSpecList self) -> SBFileSpecList
6127        __init__(SBFileSpecList self, SBFileSpecList rhs) -> SBFileSpecList
6128        """
6129        _lldb.SBFileSpecList_swiginit(self, _lldb.new_SBFileSpecList(*args))
6130    __swig_destroy__ = _lldb.delete_SBFileSpecList
6131
6132    def GetSize(self):
6133        r"""GetSize(SBFileSpecList self) -> uint32_t"""
6134        return _lldb.SBFileSpecList_GetSize(self)
6135
6136    def GetDescription(self, description):
6137        r"""GetDescription(SBFileSpecList self, SBStream description) -> bool"""
6138        return _lldb.SBFileSpecList_GetDescription(self, description)
6139
6140    def Append(self, sb_file):
6141        r"""Append(SBFileSpecList self, SBFileSpec sb_file)"""
6142        return _lldb.SBFileSpecList_Append(self, sb_file)
6143
6144    def AppendIfUnique(self, sb_file):
6145        r"""AppendIfUnique(SBFileSpecList self, SBFileSpec sb_file) -> bool"""
6146        return _lldb.SBFileSpecList_AppendIfUnique(self, sb_file)
6147
6148    def Clear(self):
6149        r"""Clear(SBFileSpecList self)"""
6150        return _lldb.SBFileSpecList_Clear(self)
6151
6152    def FindFileIndex(self, idx, sb_file, full):
6153        r"""FindFileIndex(SBFileSpecList self, uint32_t idx, SBFileSpec sb_file, bool full) -> uint32_t"""
6154        return _lldb.SBFileSpecList_FindFileIndex(self, idx, sb_file, full)
6155
6156    def GetFileSpecAtIndex(self, idx):
6157        r"""GetFileSpecAtIndex(SBFileSpecList self, uint32_t idx) -> SBFileSpec"""
6158        return _lldb.SBFileSpecList_GetFileSpecAtIndex(self, idx)
6159
6160    def __repr__(self):
6161        r"""__repr__(SBFileSpecList self) -> std::string"""
6162        return _lldb.SBFileSpecList___repr__(self)
6163
6164    def __len__(self):
6165      '''Return the number of FileSpec in a lldb.SBFileSpecList object.'''
6166      return self.GetSize()
6167
6168    def __iter__(self):
6169      '''Iterate over all FileSpecs in a lldb.SBFileSpecList object.'''
6170      return lldb_iter(self, 'GetSize', 'GetFileSpecAtIndex')
6171
6172
6173# Register SBFileSpecList in _lldb:
6174_lldb.SBFileSpecList_swigregister(SBFileSpecList)
6175class SBFormat(object):
6176    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."""
6177
6178    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6179    __repr__ = _swig_repr
6180
6181    def __init__(self, *args):
6182        r"""
6183        __init__(SBFormat self) -> SBFormat
6184        __init__(SBFormat self, char const * format, SBError error) -> SBFormat
6185        __init__(SBFormat self, SBFormat rhs) -> SBFormat
6186        """
6187        _lldb.SBFormat_swiginit(self, _lldb.new_SBFormat(*args))
6188    __swig_destroy__ = _lldb.delete_SBFormat
6189
6190    def __nonzero__(self):
6191        return _lldb.SBFormat___nonzero__(self)
6192    __bool__ = __nonzero__
6193
6194
6195
6196# Register SBFormat in _lldb:
6197_lldb.SBFormat_swigregister(SBFormat)
6198class SBFrame(object):
6199    r"""
6200    Represents one of the stack frames associated with a thread.
6201
6202    SBThread contains SBFrame(s). For example (from test/lldbutil.py), ::
6203
6204        def print_stacktrace(thread, string_buffer = False):
6205            '''Prints a simple stack trace of this thread.'''
6206
6207            ...
6208
6209            for i in range(depth):
6210                frame = thread.GetFrameAtIndex(i)
6211                function = frame.GetFunction()
6212
6213                load_addr = addrs[i].GetLoadAddress(target)
6214                if not function:
6215                    file_addr = addrs[i].GetFileAddress()
6216                    start_addr = frame.GetSymbol().GetStartAddress().GetFileAddress()
6217                    symbol_offset = file_addr - start_addr
6218                    print >> output, '  frame #{num}: {addr:#016x} {mod}`{symbol} + {offset}'.format(
6219                        num=i, addr=load_addr, mod=mods[i], symbol=symbols[i], offset=symbol_offset)
6220                else:
6221                    print >> output, '  frame #{num}: {addr:#016x} {mod}`{func} at {file}:{line} {args}'.format(
6222                        num=i, addr=load_addr, mod=mods[i],
6223                        func='%s [inlined]' % funcs[i] if frame.IsInlined() else funcs[i],
6224                        file=files[i], line=lines[i],
6225                        args=get_args_as_string(frame, showFuncName=False) if not frame.IsInlined() else '()')
6226
6227            ...
6228
6229    And, ::
6230
6231        for frame in thread:
6232            print frame
6233
6234    See also SBThread.
6235    """
6236
6237    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6238
6239    def __init__(self, *args):
6240        r"""
6241        __init__(SBFrame self) -> SBFrame
6242        __init__(SBFrame self, SBFrame rhs) -> SBFrame
6243        """
6244        _lldb.SBFrame_swiginit(self, _lldb.new_SBFrame(*args))
6245    __swig_destroy__ = _lldb.delete_SBFrame
6246
6247    def IsEqual(self, that):
6248        r"""IsEqual(SBFrame self, SBFrame that) -> bool"""
6249        return _lldb.SBFrame_IsEqual(self, that)
6250
6251    def __nonzero__(self):
6252        return _lldb.SBFrame___nonzero__(self)
6253    __bool__ = __nonzero__
6254
6255
6256
6257    def IsValid(self):
6258        r"""IsValid(SBFrame self) -> bool"""
6259        return _lldb.SBFrame_IsValid(self)
6260
6261    def GetFrameID(self):
6262        r"""GetFrameID(SBFrame self) -> uint32_t"""
6263        return _lldb.SBFrame_GetFrameID(self)
6264
6265    def GetCFA(self):
6266        r"""
6267        GetCFA(SBFrame self) -> lldb::addr_t
6268
6269            Get the Canonical Frame Address for this stack frame.
6270            This is the DWARF standard's definition of a CFA, a stack address
6271            that remains constant throughout the lifetime of the function.
6272            Returns an lldb::addr_t stack address, or LLDB_INVALID_ADDRESS if
6273            the CFA cannot be determined.
6274        """
6275        return _lldb.SBFrame_GetCFA(self)
6276
6277    def GetPC(self):
6278        r"""GetPC(SBFrame self) -> lldb::addr_t"""
6279        return _lldb.SBFrame_GetPC(self)
6280
6281    def SetPC(self, new_pc):
6282        r"""SetPC(SBFrame self, lldb::addr_t new_pc) -> bool"""
6283        return _lldb.SBFrame_SetPC(self, new_pc)
6284
6285    def GetSP(self):
6286        r"""GetSP(SBFrame self) -> lldb::addr_t"""
6287        return _lldb.SBFrame_GetSP(self)
6288
6289    def GetFP(self):
6290        r"""GetFP(SBFrame self) -> lldb::addr_t"""
6291        return _lldb.SBFrame_GetFP(self)
6292
6293    def GetPCAddress(self):
6294        r"""GetPCAddress(SBFrame self) -> SBAddress"""
6295        return _lldb.SBFrame_GetPCAddress(self)
6296
6297    def GetSymbolContext(self, resolve_scope):
6298        r"""GetSymbolContext(SBFrame self, uint32_t resolve_scope) -> SBSymbolContext"""
6299        return _lldb.SBFrame_GetSymbolContext(self, resolve_scope)
6300
6301    def GetModule(self):
6302        r"""GetModule(SBFrame self) -> SBModule"""
6303        return _lldb.SBFrame_GetModule(self)
6304
6305    def GetCompileUnit(self):
6306        r"""GetCompileUnit(SBFrame self) -> SBCompileUnit"""
6307        return _lldb.SBFrame_GetCompileUnit(self)
6308
6309    def GetFunction(self):
6310        r"""GetFunction(SBFrame self) -> SBFunction"""
6311        return _lldb.SBFrame_GetFunction(self)
6312
6313    def GetSymbol(self):
6314        r"""GetSymbol(SBFrame self) -> SBSymbol"""
6315        return _lldb.SBFrame_GetSymbol(self)
6316
6317    def GetBlock(self):
6318        r"""
6319        GetBlock(SBFrame self) -> SBBlock
6320
6321            Gets the deepest block that contains the frame PC.
6322
6323            See also GetFrameBlock().
6324        """
6325        return _lldb.SBFrame_GetBlock(self)
6326
6327    def GetDisplayFunctionName(self):
6328        r"""GetDisplayFunctionName(SBFrame self) -> char const *"""
6329        return _lldb.SBFrame_GetDisplayFunctionName(self)
6330
6331    def GetFunctionName(self, *args):
6332        r"""
6333        GetFunctionName(SBFrame self) -> char const
6334        GetFunctionName(SBFrame self) -> char const *
6335
6336            Get the appropriate function name for this frame. Inlined functions in
6337            LLDB are represented by Blocks that have inlined function information, so
6338            just looking at the SBFunction or SBSymbol for a frame isn't enough.
6339            This function will return the appropriate function, symbol or inlined
6340            function name for the frame.
6341
6342            This function returns:
6343            - the name of the inlined function (if there is one)
6344            - the name of the concrete function (if there is one)
6345            - the name of the symbol (if there is one)
6346            - NULL
6347
6348            See also IsInlined().
6349        """
6350        return _lldb.SBFrame_GetFunctionName(self, *args)
6351
6352    def GuessLanguage(self):
6353        r"""
6354        GuessLanguage(SBFrame self) -> lldb::LanguageType
6355
6356            Returns the language of the frame's SBFunction, or if there.
6357            is no SBFunction, guess the language from the mangled name.
6358            .
6359        """
6360        return _lldb.SBFrame_GuessLanguage(self)
6361
6362    def IsInlined(self, *args):
6363        r"""
6364        IsInlined(SBFrame self) -> bool
6365        IsInlined(SBFrame self) -> bool
6366
6367            Return true if this frame represents an inlined function.
6368
6369            See also GetFunctionName().
6370        """
6371        return _lldb.SBFrame_IsInlined(self, *args)
6372
6373    def IsArtificial(self, *args):
6374        r"""
6375        IsArtificial(SBFrame self) -> bool
6376        IsArtificial(SBFrame self) -> bool
6377
6378            Return true if this frame is artificial (e.g a frame synthesized to
6379            capture a tail call). Local variables may not be available in an artificial
6380            frame.
6381        """
6382        return _lldb.SBFrame_IsArtificial(self, *args)
6383
6384    def EvaluateExpression(self, *args):
6385        r"""
6386        EvaluateExpression(SBFrame self, char const * expr) -> SBValue
6387        EvaluateExpression(SBFrame self, char const * expr, lldb::DynamicValueType use_dynamic) -> SBValue
6388        EvaluateExpression(SBFrame self, char const * expr, lldb::DynamicValueType use_dynamic, bool unwind_on_error) -> SBValue
6389        EvaluateExpression(SBFrame self, char const * expr, SBExpressionOptions options) -> SBValue
6390
6391            The version that doesn't supply a 'use_dynamic' value will use the
6392            target's default.
6393        """
6394        return _lldb.SBFrame_EvaluateExpression(self, *args)
6395
6396    def GetFrameBlock(self):
6397        r"""
6398        GetFrameBlock(SBFrame self) -> SBBlock
6399
6400            Gets the lexical block that defines the stack frame. Another way to think
6401            of this is it will return the block that contains all of the variables
6402            for a stack frame. Inlined functions are represented as SBBlock objects
6403            that have inlined function information: the name of the inlined function,
6404            where it was called from. The block that is returned will be the first
6405            block at or above the block for the PC (SBFrame::GetBlock()) that defines
6406            the scope of the frame. When a function contains no inlined functions,
6407            this will be the top most lexical block that defines the function.
6408            When a function has inlined functions and the PC is currently
6409            in one of those inlined functions, this method will return the inlined
6410            block that defines this frame. If the PC isn't currently in an inlined
6411            function, the lexical block that defines the function is returned.
6412        """
6413        return _lldb.SBFrame_GetFrameBlock(self)
6414
6415    def GetLineEntry(self):
6416        r"""GetLineEntry(SBFrame self) -> SBLineEntry"""
6417        return _lldb.SBFrame_GetLineEntry(self)
6418
6419    def GetThread(self):
6420        r"""GetThread(SBFrame self) -> SBThread"""
6421        return _lldb.SBFrame_GetThread(self)
6422
6423    def Disassemble(self):
6424        r"""Disassemble(SBFrame self) -> char const *"""
6425        return _lldb.SBFrame_Disassemble(self)
6426
6427    def Clear(self):
6428        r"""Clear(SBFrame self)"""
6429        return _lldb.SBFrame_Clear(self)
6430
6431    def __eq__(self, rhs):
6432        r"""__eq__(SBFrame self, SBFrame rhs) -> bool"""
6433        return _lldb.SBFrame___eq__(self, rhs)
6434
6435    def __ne__(self, rhs):
6436        r"""__ne__(SBFrame self, SBFrame rhs) -> bool"""
6437        return _lldb.SBFrame___ne__(self, rhs)
6438
6439    def GetVariables(self, *args):
6440        r"""
6441        GetVariables(SBFrame self, bool arguments, bool locals, bool statics, bool in_scope_only) -> SBValueList
6442        GetVariables(SBFrame self, bool arguments, bool locals, bool statics, bool in_scope_only, lldb::DynamicValueType use_dynamic) -> SBValueList
6443        GetVariables(SBFrame self, SBVariablesOptions options) -> SBValueList
6444
6445            The version that doesn't supply a 'use_dynamic' value will use the
6446            target's default.
6447        """
6448        return _lldb.SBFrame_GetVariables(self, *args)
6449
6450    def GetRegisters(self):
6451        r"""GetRegisters(SBFrame self) -> SBValueList"""
6452        return _lldb.SBFrame_GetRegisters(self)
6453
6454    def FindRegister(self, name):
6455        r"""FindRegister(SBFrame self, char const * name) -> SBValue"""
6456        return _lldb.SBFrame_FindRegister(self, name)
6457
6458    def FindVariable(self, *args):
6459        r"""
6460        FindVariable(SBFrame self, char const * var_name) -> SBValue
6461        FindVariable(SBFrame self, char const * var_name, lldb::DynamicValueType use_dynamic) -> SBValue
6462
6463            The version that doesn't supply a 'use_dynamic' value will use the
6464            target's default.
6465        """
6466        return _lldb.SBFrame_FindVariable(self, *args)
6467
6468    def GetValueForVariablePath(self, *args):
6469        r"""
6470        GetValueForVariablePath(SBFrame self, char const * var_expr_cstr, lldb::DynamicValueType use_dynamic) -> SBValue
6471        GetValueForVariablePath(SBFrame self, char const * var_path) -> SBValue
6472
6473            Get a lldb.SBValue for a variable path.
6474
6475            Variable paths can include access to pointer or instance members: ::
6476
6477                rect_ptr->origin.y
6478                pt.x
6479
6480            Pointer dereferences: ::
6481
6482                *this->foo_ptr
6483                **argv
6484
6485            Address of: ::
6486
6487                &pt
6488                &my_array[3].x
6489
6490            Array accesses and treating pointers as arrays: ::
6491
6492                int_array[1]
6493                pt_ptr[22].x
6494
6495            Unlike `EvaluateExpression()` which returns :py:class:`SBValue` objects
6496            with constant copies of the values at the time of evaluation,
6497            the result of this function is a value that will continue to
6498            track the current value of the value as execution progresses
6499            in the current frame.
6500        """
6501        return _lldb.SBFrame_GetValueForVariablePath(self, *args)
6502
6503    def FindValue(self, *args):
6504        r"""
6505        FindValue(SBFrame self, char const * name, lldb::ValueType value_type) -> SBValue
6506        FindValue(SBFrame self, char const * name, lldb::ValueType value_type, lldb::DynamicValueType use_dynamic) -> SBValue
6507
6508            Find variables, register sets, registers, or persistent variables using
6509            the frame as the scope.
6510
6511            The version that doesn't supply a ``use_dynamic`` value will use the
6512            target's default.
6513        """
6514        return _lldb.SBFrame_FindValue(self, *args)
6515
6516    def GetDescription(self, description):
6517        r"""GetDescription(SBFrame self, SBStream description) -> bool"""
6518        return _lldb.SBFrame_GetDescription(self, description)
6519
6520    def GetDescriptionWithFormat(self, format, output):
6521        r"""GetDescriptionWithFormat(SBFrame self, SBFormat format, SBStream output) -> SBError"""
6522        return _lldb.SBFrame_GetDescriptionWithFormat(self, format, output)
6523
6524    def __repr__(self):
6525        r"""__repr__(SBFrame self) -> std::string"""
6526        return _lldb.SBFrame___repr__(self)
6527
6528            # operator== is a free function, which swig does not handle, so we inject
6529            # our own equality operator here
6530    def __eq__(self, other):
6531        return not self.__ne__(other)
6532
6533    def __int__(self):
6534        return self.GetFrameID()
6535
6536    def __hex__(self):
6537        return self.GetPC()
6538
6539    def get_all_variables(self):
6540        return self.GetVariables(True,True,True,True)
6541
6542    def get_parent_frame(self):
6543        parent_idx = self.idx + 1
6544        if parent_idx >= 0 and parent_idx < len(self.thread.frame):
6545            return self.thread.frame[parent_idx]
6546        else:
6547            return SBFrame()
6548
6549    def get_arguments(self):
6550        return self.GetVariables(True,False,False,False)
6551
6552    def get_locals(self):
6553        return self.GetVariables(False,True,False,False)
6554
6555    def get_statics(self):
6556        return self.GetVariables(False,False,True,False)
6557
6558    def var(self, var_expr_path):
6559        '''Calls through to lldb.SBFrame.GetValueForVariablePath() and returns
6560        a value that represents the variable expression path'''
6561        return self.GetValueForVariablePath(var_expr_path)
6562
6563    def get_registers_access(self):
6564        class registers_access(object):
6565            '''A helper object that exposes a flattened view of registers, masking away the notion of register sets for easy scripting.'''
6566            def __init__(self, regs):
6567                self.regs = regs
6568
6569            def __iter__(self):
6570                return self.get_registers()
6571
6572            def get_registers(self):
6573                for i in range(0,len(self.regs)):
6574                    rs = self.regs[i]
6575                    for j in range (0,rs.num_children):
6576                        reg = rs.GetChildAtIndex(j)
6577                        yield reg
6578
6579            def __getitem__(self, key):
6580                if type(key) is str:
6581                    for i in range(0,len(self.regs)):
6582                        rs = self.regs[i]
6583                        for j in range (0,rs.num_children):
6584                            reg = rs.GetChildAtIndex(j)
6585                            if reg.name == key: return reg
6586                else:
6587                    return SBValue()
6588
6589        return registers_access(self.registers)
6590
6591    pc = property(GetPC, SetPC)
6592    addr = property(GetPCAddress, None, doc='''A read only property that returns the program counter (PC) as a section offset address (lldb.SBAddress).''')
6593    fp = property(GetFP, None, doc='''A read only property that returns the frame pointer (FP) as an unsigned integer.''')
6594    sp = property(GetSP, None, doc='''A read only property that returns the stack pointer (SP) as an unsigned integer.''')
6595    module = property(GetModule, None, doc='''A read only property that returns an lldb object that represents the module (lldb.SBModule) for this stack frame.''')
6596    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.''')
6597    function = property(GetFunction, None, doc='''A read only property that returns an lldb object that represents the function (lldb.SBFunction) for this stack frame.''')
6598    symbol = property(GetSymbol, None, doc='''A read only property that returns an lldb object that represents the symbol (lldb.SBSymbol) for this stack frame.''')
6599    block = property(GetBlock, None, doc='''A read only property that returns an lldb object that represents the block (lldb.SBBlock) for this stack frame.''')
6600    is_inlined = property(IsInlined, None, doc='''A read only property that returns an boolean that indicates if the block frame is an inlined function.''')
6601    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).''')
6602    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.''')
6603    thread = property(GetThread, None, doc='''A read only property that returns an lldb object that represents the thread (lldb.SBThread) for this stack frame.''')
6604    disassembly = property(Disassemble, None, doc='''A read only property that returns the disassembly for this stack frame as a python string.''')
6605    idx = property(GetFrameID, None, doc='''A read only property that returns the zero based stack frame index.''')
6606    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.''')
6607    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.''')
6608    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.''')
6609    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.''')
6610    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.''')
6611    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.''')
6612    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.''')
6613    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.''')
6614    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.''')
6615    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''')
6616    parent = property(get_parent_frame, None, doc='''A read only property that returns the parent (caller) frame of the current frame.''')
6617
6618
6619# Register SBFrame in _lldb:
6620_lldb.SBFrame_swigregister(SBFrame)
6621class SBFunction(object):
6622    r"""
6623    Represents a generic function, which can be inlined or not.
6624
6625    For example (from test/lldbutil.py, but slightly modified for doc purpose),::
6626
6627            ...
6628
6629            frame = thread.GetFrameAtIndex(i)
6630            addr = frame.GetPCAddress()
6631            load_addr = addr.GetLoadAddress(target)
6632            function = frame.GetFunction()
6633            mod_name = frame.GetModule().GetFileSpec().GetFilename()
6634
6635            if not function:
6636                # No debug info for 'function'.
6637                symbol = frame.GetSymbol()
6638                file_addr = addr.GetFileAddress()
6639                start_addr = symbol.GetStartAddress().GetFileAddress()
6640                symbol_name = symbol.GetName()
6641                symbol_offset = file_addr - start_addr
6642                print >> output, '  frame #{num}: {addr:#016x} {mod}`{symbol} + {offset}'.format(
6643                    num=i, addr=load_addr, mod=mod_name, symbol=symbol_name, offset=symbol_offset)
6644            else:
6645                # Debug info is available for 'function'.
6646                func_name = frame.GetFunctionName()
6647                file_name = frame.GetLineEntry().GetFileSpec().GetFilename()
6648                line_num = frame.GetLineEntry().GetLine()
6649                print >> output, '  frame #{num}: {addr:#016x} {mod}`{func} at {file}:{line} {args}'.format(
6650                    num=i, addr=load_addr, mod=mod_name,
6651                    func='%s [inlined]' % func_name] if frame.IsInlined() else func_name,
6652                    file=file_name, line=line_num, args=get_args_as_string(frame, showFuncName=False))
6653
6654            ...
6655    """
6656
6657    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6658
6659    def __init__(self, *args):
6660        r"""
6661        __init__(SBFunction self) -> SBFunction
6662        __init__(SBFunction self, SBFunction rhs) -> SBFunction
6663        """
6664        _lldb.SBFunction_swiginit(self, _lldb.new_SBFunction(*args))
6665    __swig_destroy__ = _lldb.delete_SBFunction
6666
6667    def __nonzero__(self):
6668        return _lldb.SBFunction___nonzero__(self)
6669    __bool__ = __nonzero__
6670
6671
6672
6673    def IsValid(self):
6674        r"""IsValid(SBFunction self) -> bool"""
6675        return _lldb.SBFunction_IsValid(self)
6676
6677    def GetName(self):
6678        r"""GetName(SBFunction self) -> char const *"""
6679        return _lldb.SBFunction_GetName(self)
6680
6681    def GetDisplayName(self):
6682        r"""GetDisplayName(SBFunction self) -> char const *"""
6683        return _lldb.SBFunction_GetDisplayName(self)
6684
6685    def GetMangledName(self):
6686        r"""GetMangledName(SBFunction self) -> char const *"""
6687        return _lldb.SBFunction_GetMangledName(self)
6688
6689    def GetInstructions(self, *args):
6690        r"""
6691        GetInstructions(SBFunction self, SBTarget target) -> SBInstructionList
6692        GetInstructions(SBFunction self, SBTarget target, char const * flavor) -> SBInstructionList
6693        """
6694        return _lldb.SBFunction_GetInstructions(self, *args)
6695
6696    def GetStartAddress(self):
6697        r"""GetStartAddress(SBFunction self) -> SBAddress"""
6698        return _lldb.SBFunction_GetStartAddress(self)
6699
6700    def GetEndAddress(self):
6701        r"""GetEndAddress(SBFunction self) -> SBAddress"""
6702        return _lldb.SBFunction_GetEndAddress(self)
6703
6704    def GetRanges(self):
6705        r"""GetRanges(SBFunction self) -> SBAddressRangeList"""
6706        return _lldb.SBFunction_GetRanges(self)
6707
6708    def GetArgumentName(self, arg_idx):
6709        r"""GetArgumentName(SBFunction self, uint32_t arg_idx) -> char const *"""
6710        return _lldb.SBFunction_GetArgumentName(self, arg_idx)
6711
6712    def GetPrologueByteSize(self):
6713        r"""GetPrologueByteSize(SBFunction self) -> uint32_t"""
6714        return _lldb.SBFunction_GetPrologueByteSize(self)
6715
6716    def GetType(self):
6717        r"""GetType(SBFunction self) -> SBType"""
6718        return _lldb.SBFunction_GetType(self)
6719
6720    def GetBlock(self):
6721        r"""GetBlock(SBFunction self) -> SBBlock"""
6722        return _lldb.SBFunction_GetBlock(self)
6723
6724    def GetLanguage(self):
6725        r"""GetLanguage(SBFunction self) -> lldb::LanguageType"""
6726        return _lldb.SBFunction_GetLanguage(self)
6727
6728    def GetIsOptimized(self):
6729        r"""
6730        GetIsOptimized(SBFunction self) -> bool
6731
6732            Returns true if the function was compiled with optimization.
6733            Optimization, in this case, is meant to indicate that the debugger
6734            experience may be confusing for the user -- variables optimized away,
6735            stepping jumping between source lines -- and the driver may want to
6736            provide some guidance to the user about this.
6737            Returns false if unoptimized, or unknown.
6738        """
6739        return _lldb.SBFunction_GetIsOptimized(self)
6740
6741    def __eq__(self, rhs):
6742        r"""__eq__(SBFunction self, SBFunction rhs) -> bool"""
6743        return _lldb.SBFunction___eq__(self, rhs)
6744
6745    def __ne__(self, rhs):
6746        r"""__ne__(SBFunction self, SBFunction rhs) -> bool"""
6747        return _lldb.SBFunction___ne__(self, rhs)
6748
6749    def GetDescription(self, description):
6750        r"""GetDescription(SBFunction self, SBStream description) -> bool"""
6751        return _lldb.SBFunction_GetDescription(self, description)
6752
6753    def __repr__(self):
6754        r"""__repr__(SBFunction self) -> std::string"""
6755        return _lldb.SBFunction___repr__(self)
6756
6757            # operator== is a free function, which swig does not handle, so we inject
6758            # our own equality operator here
6759    def __eq__(self, other):
6760        return not self.__ne__(other)
6761
6762    def get_instructions_from_current_target (self):
6763        return self.GetInstructions (target)
6764
6765    addr = property(GetStartAddress, None, doc='''A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this function.''')
6766    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.''')
6767    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.''')
6768    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.''')
6769    mangled = property(GetMangledName, None, doc='''A read only property that returns the mangled (linkage) name for this function as a string.''')
6770    name = property(GetName, None, doc='''A read only property that returns the name for this function as a string.''')
6771    prologue_size = property(GetPrologueByteSize, None, doc='''A read only property that returns the size in bytes of the prologue instructions as an unsigned integer.''')
6772    type = property(GetType, None, doc='''A read only property that returns an lldb object that represents the return type (lldb.SBType) for this function.''')
6773
6774
6775    def __eq__(self, rhs):
6776        if not isinstance(rhs, type(self)):
6777            return False
6778
6779        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
6780
6781    def __ne__(self, rhs):
6782        if not isinstance(rhs, type(self)):
6783            return True
6784
6785        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
6786
6787
6788# Register SBFunction in _lldb:
6789_lldb.SBFunction_swigregister(SBFunction)
6790class SBHostOS(object):
6791    r"""Provides information about the host system."""
6792
6793    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6794    __repr__ = _swig_repr
6795
6796    @staticmethod
6797    def GetProgramFileSpec():
6798        r"""GetProgramFileSpec() -> SBFileSpec"""
6799        return _lldb.SBHostOS_GetProgramFileSpec()
6800
6801    @staticmethod
6802    def GetLLDBPythonPath():
6803        r"""GetLLDBPythonPath() -> SBFileSpec"""
6804        return _lldb.SBHostOS_GetLLDBPythonPath()
6805
6806    @staticmethod
6807    def GetLLDBPath(path_type):
6808        r"""GetLLDBPath(lldb::PathType path_type) -> SBFileSpec"""
6809        return _lldb.SBHostOS_GetLLDBPath(path_type)
6810
6811    @staticmethod
6812    def GetUserHomeDirectory():
6813        r"""GetUserHomeDirectory() -> SBFileSpec"""
6814        return _lldb.SBHostOS_GetUserHomeDirectory()
6815
6816    @staticmethod
6817    def ThreadCreated(name):
6818        r"""ThreadCreated(char const * name)"""
6819        return _lldb.SBHostOS_ThreadCreated(name)
6820
6821    @staticmethod
6822    def ThreadCreate(name, thread_function, thread_arg, err):
6823        r"""ThreadCreate(char const * name, lldb::thread_func_t thread_function, void * thread_arg, SBError err) -> lldb::thread_t"""
6824        return _lldb.SBHostOS_ThreadCreate(name, thread_function, thread_arg, err)
6825
6826    @staticmethod
6827    def ThreadCancel(thread, err):
6828        r"""ThreadCancel(lldb::thread_t thread, SBError err) -> bool"""
6829        return _lldb.SBHostOS_ThreadCancel(thread, err)
6830
6831    @staticmethod
6832    def ThreadDetach(thread, err):
6833        r"""ThreadDetach(lldb::thread_t thread, SBError err) -> bool"""
6834        return _lldb.SBHostOS_ThreadDetach(thread, err)
6835
6836    @staticmethod
6837    def ThreadJoin(thread, result, err):
6838        r"""ThreadJoin(lldb::thread_t thread, lldb::thread_result_t * result, SBError err) -> bool"""
6839        return _lldb.SBHostOS_ThreadJoin(thread, result, err)
6840
6841    def __init__(self):
6842        r"""__init__(SBHostOS self) -> SBHostOS"""
6843        _lldb.SBHostOS_swiginit(self, _lldb.new_SBHostOS())
6844    __swig_destroy__ = _lldb.delete_SBHostOS
6845
6846# Register SBHostOS in _lldb:
6847_lldb.SBHostOS_swigregister(SBHostOS)
6848class SBInstruction(object):
6849    r"""Represents a (machine language) instruction."""
6850
6851    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6852
6853    def __init__(self, *args):
6854        r"""
6855        __init__(SBInstruction self) -> SBInstruction
6856        __init__(SBInstruction self, SBInstruction rhs) -> SBInstruction
6857        """
6858        _lldb.SBInstruction_swiginit(self, _lldb.new_SBInstruction(*args))
6859    __swig_destroy__ = _lldb.delete_SBInstruction
6860
6861    def __nonzero__(self):
6862        return _lldb.SBInstruction___nonzero__(self)
6863    __bool__ = __nonzero__
6864
6865
6866
6867    def IsValid(self):
6868        r"""IsValid(SBInstruction self) -> bool"""
6869        return _lldb.SBInstruction_IsValid(self)
6870
6871    def GetAddress(self):
6872        r"""GetAddress(SBInstruction self) -> SBAddress"""
6873        return _lldb.SBInstruction_GetAddress(self)
6874
6875    def GetMnemonic(self, target):
6876        r"""GetMnemonic(SBInstruction self, SBTarget target) -> char const *"""
6877        return _lldb.SBInstruction_GetMnemonic(self, target)
6878
6879    def GetOperands(self, target):
6880        r"""GetOperands(SBInstruction self, SBTarget target) -> char const *"""
6881        return _lldb.SBInstruction_GetOperands(self, target)
6882
6883    def GetComment(self, target):
6884        r"""GetComment(SBInstruction self, SBTarget target) -> char const *"""
6885        return _lldb.SBInstruction_GetComment(self, target)
6886
6887    def GetControlFlowKind(self, target):
6888        r"""GetControlFlowKind(SBInstruction self, SBTarget target) -> lldb::InstructionControlFlowKind"""
6889        return _lldb.SBInstruction_GetControlFlowKind(self, target)
6890
6891    def GetData(self, target):
6892        r"""GetData(SBInstruction self, SBTarget target) -> SBData"""
6893        return _lldb.SBInstruction_GetData(self, target)
6894
6895    def GetByteSize(self):
6896        r"""GetByteSize(SBInstruction self) -> size_t"""
6897        return _lldb.SBInstruction_GetByteSize(self)
6898
6899    def DoesBranch(self):
6900        r"""DoesBranch(SBInstruction self) -> bool"""
6901        return _lldb.SBInstruction_DoesBranch(self)
6902
6903    def HasDelaySlot(self):
6904        r"""HasDelaySlot(SBInstruction self) -> bool"""
6905        return _lldb.SBInstruction_HasDelaySlot(self)
6906
6907    def CanSetBreakpoint(self):
6908        r"""CanSetBreakpoint(SBInstruction self) -> bool"""
6909        return _lldb.SBInstruction_CanSetBreakpoint(self)
6910
6911    def Print(self, *args):
6912        r"""
6913        Print(SBInstruction self, SBFile out)
6914        Print(SBInstruction self, lldb::FileSP BORROWED)
6915        """
6916        return _lldb.SBInstruction_Print(self, *args)
6917
6918    def GetDescription(self, description):
6919        r"""GetDescription(SBInstruction self, SBStream description) -> bool"""
6920        return _lldb.SBInstruction_GetDescription(self, description)
6921
6922    def EmulateWithFrame(self, frame, evaluate_options):
6923        r"""EmulateWithFrame(SBInstruction self, SBFrame frame, uint32_t evaluate_options) -> bool"""
6924        return _lldb.SBInstruction_EmulateWithFrame(self, frame, evaluate_options)
6925
6926    def DumpEmulation(self, triple):
6927        r"""DumpEmulation(SBInstruction self, char const * triple) -> bool"""
6928        return _lldb.SBInstruction_DumpEmulation(self, triple)
6929
6930    def TestEmulation(self, output_stream, test_file):
6931        r"""TestEmulation(SBInstruction self, SBStream output_stream, char const * test_file) -> bool"""
6932        return _lldb.SBInstruction_TestEmulation(self, output_stream, test_file)
6933
6934    def __repr__(self):
6935        r"""__repr__(SBInstruction self) -> std::string"""
6936        return _lldb.SBInstruction___repr__(self)
6937
6938    def __hex__(self):
6939        """ Returns the address of the instruction. """
6940        return self.GetAddress()
6941
6942    def __len__(self):
6943        """ Returns the size of the instruction. """
6944        return self.GetByteSize()
6945
6946    def __mnemonic_property__ (self):
6947        return self.GetMnemonic (target)
6948    def __operands_property__ (self):
6949        return self.GetOperands (target)
6950    def __comment_property__ (self):
6951        return self.GetComment (target)
6952    def __file_addr_property__ (self):
6953        return self.GetAddress ().GetFileAddress()
6954    def __load_adrr_property__ (self):
6955        return self.GetComment (target)
6956
6957    mnemonic = property(__mnemonic_property__, None, doc='''A read only property that returns the mnemonic for this instruction as a string.''')
6958    operands = property(__operands_property__, None, doc='''A read only property that returns the operands for this instruction as a string.''')
6959    comment = property(__comment_property__, None, doc='''A read only property that returns the comment for this instruction as a string.''')
6960    addr = property(GetAddress, None, doc='''A read only property that returns an lldb object that represents the address (lldb.SBAddress) for this instruction.''')
6961    size = property(GetByteSize, None, doc='''A read only property that returns the size in bytes for this instruction as an integer.''')
6962    is_branch = property(DoesBranch, None, doc='''A read only property that returns a boolean value that indicates if this instruction is a branch instruction.''')
6963
6964
6965# Register SBInstruction in _lldb:
6966_lldb.SBInstruction_swigregister(SBInstruction)
6967class SBInstructionList(object):
6968    r"""
6969    Represents a list of machine instructions.  SBFunction and SBSymbol have
6970    GetInstructions() methods which return SBInstructionList instances.
6971
6972    SBInstructionList supports instruction (:py:class:`SBInstruction` instance) iteration.
6973    For example (see also :py:class:`SBDebugger` for a more complete example), ::
6974
6975        def disassemble_instructions (insts):
6976            for i in insts:
6977                print i
6978
6979    defines a function which takes an SBInstructionList instance and prints out
6980    the machine instructions in assembly format.
6981    """
6982
6983    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6984
6985    def __init__(self, *args):
6986        r"""
6987        __init__(SBInstructionList self) -> SBInstructionList
6988        __init__(SBInstructionList self, SBInstructionList rhs) -> SBInstructionList
6989        """
6990        _lldb.SBInstructionList_swiginit(self, _lldb.new_SBInstructionList(*args))
6991    __swig_destroy__ = _lldb.delete_SBInstructionList
6992
6993    def __nonzero__(self):
6994        return _lldb.SBInstructionList___nonzero__(self)
6995    __bool__ = __nonzero__
6996
6997
6998
6999    def IsValid(self):
7000        r"""IsValid(SBInstructionList self) -> bool"""
7001        return _lldb.SBInstructionList_IsValid(self)
7002
7003    def GetSize(self):
7004        r"""GetSize(SBInstructionList self) -> size_t"""
7005        return _lldb.SBInstructionList_GetSize(self)
7006
7007    def GetInstructionAtIndex(self, idx):
7008        r"""GetInstructionAtIndex(SBInstructionList self, uint32_t idx) -> SBInstruction"""
7009        return _lldb.SBInstructionList_GetInstructionAtIndex(self, idx)
7010
7011    def GetInstructionsCount(self, start, end, canSetBreakpoint=False):
7012        r"""GetInstructionsCount(SBInstructionList self, SBAddress start, SBAddress end, bool canSetBreakpoint=False) -> size_t"""
7013        return _lldb.SBInstructionList_GetInstructionsCount(self, start, end, canSetBreakpoint)
7014
7015    def Clear(self):
7016        r"""Clear(SBInstructionList self)"""
7017        return _lldb.SBInstructionList_Clear(self)
7018
7019    def AppendInstruction(self, inst):
7020        r"""AppendInstruction(SBInstructionList self, SBInstruction inst)"""
7021        return _lldb.SBInstructionList_AppendInstruction(self, inst)
7022
7023    def Print(self, *args):
7024        r"""
7025        Print(SBInstructionList self, SBFile out)
7026        Print(SBInstructionList self, lldb::FileSP BORROWED)
7027        """
7028        return _lldb.SBInstructionList_Print(self, *args)
7029
7030    def GetDescription(self, description):
7031        r"""GetDescription(SBInstructionList self, SBStream description) -> bool"""
7032        return _lldb.SBInstructionList_GetDescription(self, description)
7033
7034    def DumpEmulationForAllInstructions(self, triple):
7035        r"""DumpEmulationForAllInstructions(SBInstructionList self, char const * triple) -> bool"""
7036        return _lldb.SBInstructionList_DumpEmulationForAllInstructions(self, triple)
7037
7038    def __repr__(self):
7039        r"""__repr__(SBInstructionList self) -> std::string"""
7040        return _lldb.SBInstructionList___repr__(self)
7041
7042    def __iter__(self):
7043        '''Iterate over all instructions in a lldb.SBInstructionList
7044        object.'''
7045        return lldb_iter(self, 'GetSize', 'GetInstructionAtIndex')
7046
7047    def __len__(self):
7048        '''Access len of the instruction list.'''
7049        return int(self.GetSize())
7050
7051    def __getitem__(self, key):
7052        '''Access instructions by integer index for array access or by lldb.SBAddress to find an instruction that matches a section offset address object.'''
7053        if type(key) is int:
7054    # Find an instruction by index
7055            count = len(self)
7056            if -count <= key < count:
7057                key %= count
7058                return self.GetInstructionAtIndex(key)
7059        elif type(key) is SBAddress:
7060    # Find an instruction using a lldb.SBAddress object
7061            lookup_file_addr = key.file_addr
7062            closest_inst = None
7063            for idx in range(self.GetSize()):
7064                inst = self.GetInstructionAtIndex(idx)
7065                inst_file_addr = inst.addr.file_addr
7066                if inst_file_addr == lookup_file_addr:
7067                    return inst
7068                elif inst_file_addr > lookup_file_addr:
7069                    return closest_inst
7070                else:
7071                    closest_inst = inst
7072        return None
7073
7074
7075# Register SBInstructionList in _lldb:
7076_lldb.SBInstructionList_swigregister(SBInstructionList)
7077eLanguageNameAda = _lldb.eLanguageNameAda
7078
7079eLanguageNameBLISS = _lldb.eLanguageNameBLISS
7080
7081eLanguageNameC = _lldb.eLanguageNameC
7082
7083eLanguageNameC_plus_plus = _lldb.eLanguageNameC_plus_plus
7084
7085eLanguageNameCobol = _lldb.eLanguageNameCobol
7086
7087eLanguageNameCrystal = _lldb.eLanguageNameCrystal
7088
7089eLanguageNameD = _lldb.eLanguageNameD
7090
7091eLanguageNameDylan = _lldb.eLanguageNameDylan
7092
7093eLanguageNameFortran = _lldb.eLanguageNameFortran
7094
7095eLanguageNameGo = _lldb.eLanguageNameGo
7096
7097eLanguageNameHaskell = _lldb.eLanguageNameHaskell
7098
7099eLanguageNameJava = _lldb.eLanguageNameJava
7100
7101eLanguageNameJulia = _lldb.eLanguageNameJulia
7102
7103eLanguageNameKotlin = _lldb.eLanguageNameKotlin
7104
7105eLanguageNameModula2 = _lldb.eLanguageNameModula2
7106
7107eLanguageNameModula3 = _lldb.eLanguageNameModula3
7108
7109eLanguageNameObjC = _lldb.eLanguageNameObjC
7110
7111eLanguageNameObjC_plus_plus = _lldb.eLanguageNameObjC_plus_plus
7112
7113eLanguageNameOCaml = _lldb.eLanguageNameOCaml
7114
7115eLanguageNameOpenCL_C = _lldb.eLanguageNameOpenCL_C
7116
7117eLanguageNamePascal = _lldb.eLanguageNamePascal
7118
7119eLanguageNamePLI = _lldb.eLanguageNamePLI
7120
7121eLanguageNamePython = _lldb.eLanguageNamePython
7122
7123eLanguageNameRenderScript = _lldb.eLanguageNameRenderScript
7124
7125eLanguageNameRust = _lldb.eLanguageNameRust
7126
7127eLanguageNameSwift = _lldb.eLanguageNameSwift
7128
7129eLanguageNameUPC = _lldb.eLanguageNameUPC
7130
7131eLanguageNameZig = _lldb.eLanguageNameZig
7132
7133eLanguageNameAssembly = _lldb.eLanguageNameAssembly
7134
7135eLanguageNameC_sharp = _lldb.eLanguageNameC_sharp
7136
7137eLanguageNameMojo = _lldb.eLanguageNameMojo
7138
7139eLanguageNameGLSL = _lldb.eLanguageNameGLSL
7140
7141eLanguageNameGLSL_ES = _lldb.eLanguageNameGLSL_ES
7142
7143eLanguageNameHLSL = _lldb.eLanguageNameHLSL
7144
7145eLanguageNameOpenCL_CPP = _lldb.eLanguageNameOpenCL_CPP
7146
7147eLanguageNameCPP_for_OpenCL = _lldb.eLanguageNameCPP_for_OpenCL
7148
7149eLanguageNameSYCL = _lldb.eLanguageNameSYCL
7150
7151eLanguageNameRuby = _lldb.eLanguageNameRuby
7152
7153eLanguageNameMove = _lldb.eLanguageNameMove
7154
7155eLanguageNameHylo = _lldb.eLanguageNameHylo
7156
7157class SBLanguageRuntime(object):
7158    r"""Utility functions for :ref:`LanguageType`"""
7159
7160    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7161    __repr__ = _swig_repr
7162
7163    @staticmethod
7164    def GetLanguageTypeFromString(string):
7165        r"""GetLanguageTypeFromString(char const * string) -> lldb::LanguageType"""
7166        return _lldb.SBLanguageRuntime_GetLanguageTypeFromString(string)
7167
7168    @staticmethod
7169    def GetNameForLanguageType(language):
7170        r"""GetNameForLanguageType(lldb::LanguageType language) -> char const *"""
7171        return _lldb.SBLanguageRuntime_GetNameForLanguageType(language)
7172
7173    @staticmethod
7174    def LanguageIsCPlusPlus(language):
7175        r"""LanguageIsCPlusPlus(lldb::LanguageType language) -> bool"""
7176        return _lldb.SBLanguageRuntime_LanguageIsCPlusPlus(language)
7177
7178    @staticmethod
7179    def LanguageIsObjC(language):
7180        r"""LanguageIsObjC(lldb::LanguageType language) -> bool"""
7181        return _lldb.SBLanguageRuntime_LanguageIsObjC(language)
7182
7183    @staticmethod
7184    def LanguageIsCFamily(language):
7185        r"""LanguageIsCFamily(lldb::LanguageType language) -> bool"""
7186        return _lldb.SBLanguageRuntime_LanguageIsCFamily(language)
7187
7188    @staticmethod
7189    def SupportsExceptionBreakpointsOnThrow(language):
7190        r"""SupportsExceptionBreakpointsOnThrow(lldb::LanguageType language) -> bool"""
7191        return _lldb.SBLanguageRuntime_SupportsExceptionBreakpointsOnThrow(language)
7192
7193    @staticmethod
7194    def SupportsExceptionBreakpointsOnCatch(language):
7195        r"""SupportsExceptionBreakpointsOnCatch(lldb::LanguageType language) -> bool"""
7196        return _lldb.SBLanguageRuntime_SupportsExceptionBreakpointsOnCatch(language)
7197
7198    @staticmethod
7199    def GetThrowKeywordForLanguage(language):
7200        r"""GetThrowKeywordForLanguage(lldb::LanguageType language) -> char const *"""
7201        return _lldb.SBLanguageRuntime_GetThrowKeywordForLanguage(language)
7202
7203    @staticmethod
7204    def GetCatchKeywordForLanguage(language):
7205        r"""GetCatchKeywordForLanguage(lldb::LanguageType language) -> char const *"""
7206        return _lldb.SBLanguageRuntime_GetCatchKeywordForLanguage(language)
7207
7208    def __init__(self):
7209        r"""__init__(SBLanguageRuntime self) -> SBLanguageRuntime"""
7210        _lldb.SBLanguageRuntime_swiginit(self, _lldb.new_SBLanguageRuntime())
7211    __swig_destroy__ = _lldb.delete_SBLanguageRuntime
7212
7213# Register SBLanguageRuntime in _lldb:
7214_lldb.SBLanguageRuntime_swigregister(SBLanguageRuntime)
7215class SBLaunchInfo(object):
7216    r"""Describes how a target or program should be launched."""
7217
7218    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7219    __repr__ = _swig_repr
7220
7221    def __init__(self, argv):
7222        r"""__init__(SBLaunchInfo self, char const ** argv) -> SBLaunchInfo"""
7223        _lldb.SBLaunchInfo_swiginit(self, _lldb.new_SBLaunchInfo(argv))
7224    __swig_destroy__ = _lldb.delete_SBLaunchInfo
7225
7226    def GetProcessID(self):
7227        r"""GetProcessID(SBLaunchInfo self) -> lldb::pid_t"""
7228        return _lldb.SBLaunchInfo_GetProcessID(self)
7229
7230    def GetUserID(self):
7231        r"""GetUserID(SBLaunchInfo self) -> uint32_t"""
7232        return _lldb.SBLaunchInfo_GetUserID(self)
7233
7234    def GetGroupID(self):
7235        r"""GetGroupID(SBLaunchInfo self) -> uint32_t"""
7236        return _lldb.SBLaunchInfo_GetGroupID(self)
7237
7238    def UserIDIsValid(self):
7239        r"""UserIDIsValid(SBLaunchInfo self) -> bool"""
7240        return _lldb.SBLaunchInfo_UserIDIsValid(self)
7241
7242    def GroupIDIsValid(self):
7243        r"""GroupIDIsValid(SBLaunchInfo self) -> bool"""
7244        return _lldb.SBLaunchInfo_GroupIDIsValid(self)
7245
7246    def SetUserID(self, uid):
7247        r"""SetUserID(SBLaunchInfo self, uint32_t uid)"""
7248        return _lldb.SBLaunchInfo_SetUserID(self, uid)
7249
7250    def SetGroupID(self, gid):
7251        r"""SetGroupID(SBLaunchInfo self, uint32_t gid)"""
7252        return _lldb.SBLaunchInfo_SetGroupID(self, gid)
7253
7254    def GetExecutableFile(self):
7255        r"""GetExecutableFile(SBLaunchInfo self) -> SBFileSpec"""
7256        return _lldb.SBLaunchInfo_GetExecutableFile(self)
7257
7258    def SetExecutableFile(self, exe_file, add_as_first_arg):
7259        r"""SetExecutableFile(SBLaunchInfo self, SBFileSpec exe_file, bool add_as_first_arg)"""
7260        return _lldb.SBLaunchInfo_SetExecutableFile(self, exe_file, add_as_first_arg)
7261
7262    def GetListener(self):
7263        r"""GetListener(SBLaunchInfo self) -> SBListener"""
7264        return _lldb.SBLaunchInfo_GetListener(self)
7265
7266    def SetListener(self, listener):
7267        r"""SetListener(SBLaunchInfo self, SBListener listener)"""
7268        return _lldb.SBLaunchInfo_SetListener(self, listener)
7269
7270    def GetShadowListener(self):
7271        r"""GetShadowListener(SBLaunchInfo self) -> SBListener"""
7272        return _lldb.SBLaunchInfo_GetShadowListener(self)
7273
7274    def SetShadowListener(self, listener):
7275        r"""SetShadowListener(SBLaunchInfo self, SBListener listener)"""
7276        return _lldb.SBLaunchInfo_SetShadowListener(self, listener)
7277
7278    def GetNumArguments(self):
7279        r"""GetNumArguments(SBLaunchInfo self) -> uint32_t"""
7280        return _lldb.SBLaunchInfo_GetNumArguments(self)
7281
7282    def GetArgumentAtIndex(self, idx):
7283        r"""GetArgumentAtIndex(SBLaunchInfo self, uint32_t idx) -> char const *"""
7284        return _lldb.SBLaunchInfo_GetArgumentAtIndex(self, idx)
7285
7286    def SetArguments(self, argv, append):
7287        r"""SetArguments(SBLaunchInfo self, char const ** argv, bool append)"""
7288        return _lldb.SBLaunchInfo_SetArguments(self, argv, append)
7289
7290    def GetNumEnvironmentEntries(self):
7291        r"""GetNumEnvironmentEntries(SBLaunchInfo self) -> uint32_t"""
7292        return _lldb.SBLaunchInfo_GetNumEnvironmentEntries(self)
7293
7294    def GetEnvironmentEntryAtIndex(self, idx):
7295        r"""GetEnvironmentEntryAtIndex(SBLaunchInfo self, uint32_t idx) -> char const *"""
7296        return _lldb.SBLaunchInfo_GetEnvironmentEntryAtIndex(self, idx)
7297
7298    def SetEnvironmentEntries(self, envp, append):
7299        r"""SetEnvironmentEntries(SBLaunchInfo self, char const ** envp, bool append)"""
7300        return _lldb.SBLaunchInfo_SetEnvironmentEntries(self, envp, append)
7301
7302    def SetEnvironment(self, env, append):
7303        r"""SetEnvironment(SBLaunchInfo self, SBEnvironment env, bool append)"""
7304        return _lldb.SBLaunchInfo_SetEnvironment(self, env, append)
7305
7306    def GetEnvironment(self):
7307        r"""GetEnvironment(SBLaunchInfo self) -> SBEnvironment"""
7308        return _lldb.SBLaunchInfo_GetEnvironment(self)
7309
7310    def Clear(self):
7311        r"""Clear(SBLaunchInfo self)"""
7312        return _lldb.SBLaunchInfo_Clear(self)
7313
7314    def GetWorkingDirectory(self):
7315        r"""GetWorkingDirectory(SBLaunchInfo self) -> char const *"""
7316        return _lldb.SBLaunchInfo_GetWorkingDirectory(self)
7317
7318    def SetWorkingDirectory(self, working_dir):
7319        r"""SetWorkingDirectory(SBLaunchInfo self, char const * working_dir)"""
7320        return _lldb.SBLaunchInfo_SetWorkingDirectory(self, working_dir)
7321
7322    def GetLaunchFlags(self):
7323        r"""GetLaunchFlags(SBLaunchInfo self) -> uint32_t"""
7324        return _lldb.SBLaunchInfo_GetLaunchFlags(self)
7325
7326    def SetLaunchFlags(self, flags):
7327        r"""SetLaunchFlags(SBLaunchInfo self, uint32_t flags)"""
7328        return _lldb.SBLaunchInfo_SetLaunchFlags(self, flags)
7329
7330    def GetProcessPluginName(self):
7331        r"""GetProcessPluginName(SBLaunchInfo self) -> char const *"""
7332        return _lldb.SBLaunchInfo_GetProcessPluginName(self)
7333
7334    def SetProcessPluginName(self, plugin_name):
7335        r"""SetProcessPluginName(SBLaunchInfo self, char const * plugin_name)"""
7336        return _lldb.SBLaunchInfo_SetProcessPluginName(self, plugin_name)
7337
7338    def GetShell(self):
7339        r"""GetShell(SBLaunchInfo self) -> char const *"""
7340        return _lldb.SBLaunchInfo_GetShell(self)
7341
7342    def SetShell(self, path):
7343        r"""SetShell(SBLaunchInfo self, char const * path)"""
7344        return _lldb.SBLaunchInfo_SetShell(self, path)
7345
7346    def GetShellExpandArguments(self):
7347        r"""GetShellExpandArguments(SBLaunchInfo self) -> bool"""
7348        return _lldb.SBLaunchInfo_GetShellExpandArguments(self)
7349
7350    def SetShellExpandArguments(self, expand):
7351        r"""SetShellExpandArguments(SBLaunchInfo self, bool expand)"""
7352        return _lldb.SBLaunchInfo_SetShellExpandArguments(self, expand)
7353
7354    def GetResumeCount(self):
7355        r"""GetResumeCount(SBLaunchInfo self) -> uint32_t"""
7356        return _lldb.SBLaunchInfo_GetResumeCount(self)
7357
7358    def SetResumeCount(self, c):
7359        r"""SetResumeCount(SBLaunchInfo self, uint32_t c)"""
7360        return _lldb.SBLaunchInfo_SetResumeCount(self, c)
7361
7362    def AddCloseFileAction(self, fd):
7363        r"""AddCloseFileAction(SBLaunchInfo self, int fd) -> bool"""
7364        return _lldb.SBLaunchInfo_AddCloseFileAction(self, fd)
7365
7366    def AddDuplicateFileAction(self, fd, dup_fd):
7367        r"""AddDuplicateFileAction(SBLaunchInfo self, int fd, int dup_fd) -> bool"""
7368        return _lldb.SBLaunchInfo_AddDuplicateFileAction(self, fd, dup_fd)
7369
7370    def AddOpenFileAction(self, fd, path, read, write):
7371        r"""AddOpenFileAction(SBLaunchInfo self, int fd, char const * path, bool read, bool write) -> bool"""
7372        return _lldb.SBLaunchInfo_AddOpenFileAction(self, fd, path, read, write)
7373
7374    def AddSuppressFileAction(self, fd, read, write):
7375        r"""AddSuppressFileAction(SBLaunchInfo self, int fd, bool read, bool write) -> bool"""
7376        return _lldb.SBLaunchInfo_AddSuppressFileAction(self, fd, read, write)
7377
7378    def SetLaunchEventData(self, data):
7379        r"""SetLaunchEventData(SBLaunchInfo self, char const * data)"""
7380        return _lldb.SBLaunchInfo_SetLaunchEventData(self, data)
7381
7382    def GetLaunchEventData(self):
7383        r"""GetLaunchEventData(SBLaunchInfo self) -> char const *"""
7384        return _lldb.SBLaunchInfo_GetLaunchEventData(self)
7385
7386    def GetDetachOnError(self):
7387        r"""GetDetachOnError(SBLaunchInfo self) -> bool"""
7388        return _lldb.SBLaunchInfo_GetDetachOnError(self)
7389
7390    def SetDetachOnError(self, enable):
7391        r"""SetDetachOnError(SBLaunchInfo self, bool enable)"""
7392        return _lldb.SBLaunchInfo_SetDetachOnError(self, enable)
7393
7394    def GetScriptedProcessClassName(self):
7395        r"""GetScriptedProcessClassName(SBLaunchInfo self) -> char const *"""
7396        return _lldb.SBLaunchInfo_GetScriptedProcessClassName(self)
7397
7398    def SetScriptedProcessClassName(self, class_name):
7399        r"""SetScriptedProcessClassName(SBLaunchInfo self, char const * class_name)"""
7400        return _lldb.SBLaunchInfo_SetScriptedProcessClassName(self, class_name)
7401
7402    def GetScriptedProcessDictionary(self):
7403        r"""GetScriptedProcessDictionary(SBLaunchInfo self) -> SBStructuredData"""
7404        return _lldb.SBLaunchInfo_GetScriptedProcessDictionary(self)
7405
7406    def SetScriptedProcessDictionary(self, dict):
7407        r"""SetScriptedProcessDictionary(SBLaunchInfo self, SBStructuredData dict)"""
7408        return _lldb.SBLaunchInfo_SetScriptedProcessDictionary(self, dict)
7409
7410# Register SBLaunchInfo in _lldb:
7411_lldb.SBLaunchInfo_swigregister(SBLaunchInfo)
7412class SBLineEntry(object):
7413    r"""
7414    Specifies an association with a contiguous range of instructions and
7415    a source file location.
7416
7417    :py:class:`SBCompileUnit` contains SBLineEntry(s). For example, ::
7418
7419        for lineEntry in compileUnit:
7420            print('line entry: %s:%d' % (str(lineEntry.GetFileSpec()),
7421                                        lineEntry.GetLine()))
7422            print('start addr: %s' % str(lineEntry.GetStartAddress()))
7423            print('end   addr: %s' % str(lineEntry.GetEndAddress()))
7424
7425    produces: ::
7426
7427        line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:20
7428        start addr: a.out[0x100000d98]
7429        end   addr: a.out[0x100000da3]
7430        line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:21
7431        start addr: a.out[0x100000da3]
7432        end   addr: a.out[0x100000da9]
7433        line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:22
7434        start addr: a.out[0x100000da9]
7435        end   addr: a.out[0x100000db6]
7436        line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:23
7437        start addr: a.out[0x100000db6]
7438        end   addr: a.out[0x100000dbc]
7439        ...
7440
7441    See also :py:class:`SBCompileUnit` .
7442    """
7443
7444    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7445
7446    def __init__(self, *args):
7447        r"""
7448        __init__(SBLineEntry self) -> SBLineEntry
7449        __init__(SBLineEntry self, SBLineEntry rhs) -> SBLineEntry
7450        """
7451        _lldb.SBLineEntry_swiginit(self, _lldb.new_SBLineEntry(*args))
7452    __swig_destroy__ = _lldb.delete_SBLineEntry
7453
7454    def GetStartAddress(self):
7455        r"""GetStartAddress(SBLineEntry self) -> SBAddress"""
7456        return _lldb.SBLineEntry_GetStartAddress(self)
7457
7458    def GetEndAddress(self):
7459        r"""GetEndAddress(SBLineEntry self) -> SBAddress"""
7460        return _lldb.SBLineEntry_GetEndAddress(self)
7461
7462    def GetSameLineContiguousAddressRangeEnd(self, include_inlined_functions):
7463        r"""GetSameLineContiguousAddressRangeEnd(SBLineEntry self, bool include_inlined_functions) -> SBAddress"""
7464        return _lldb.SBLineEntry_GetSameLineContiguousAddressRangeEnd(self, include_inlined_functions)
7465
7466    def __nonzero__(self):
7467        return _lldb.SBLineEntry___nonzero__(self)
7468    __bool__ = __nonzero__
7469
7470
7471
7472    def IsValid(self):
7473        r"""IsValid(SBLineEntry self) -> bool"""
7474        return _lldb.SBLineEntry_IsValid(self)
7475
7476    def GetFileSpec(self):
7477        r"""GetFileSpec(SBLineEntry self) -> SBFileSpec"""
7478        return _lldb.SBLineEntry_GetFileSpec(self)
7479
7480    def GetLine(self):
7481        r"""GetLine(SBLineEntry self) -> uint32_t"""
7482        return _lldb.SBLineEntry_GetLine(self)
7483
7484    def GetColumn(self):
7485        r"""GetColumn(SBLineEntry self) -> uint32_t"""
7486        return _lldb.SBLineEntry_GetColumn(self)
7487
7488    def SetFileSpec(self, filespec):
7489        r"""SetFileSpec(SBLineEntry self, SBFileSpec filespec)"""
7490        return _lldb.SBLineEntry_SetFileSpec(self, filespec)
7491
7492    def SetLine(self, line):
7493        r"""SetLine(SBLineEntry self, uint32_t line)"""
7494        return _lldb.SBLineEntry_SetLine(self, line)
7495
7496    def SetColumn(self, column):
7497        r"""SetColumn(SBLineEntry self, uint32_t column)"""
7498        return _lldb.SBLineEntry_SetColumn(self, column)
7499
7500    def __eq__(self, rhs):
7501        r"""__eq__(SBLineEntry self, SBLineEntry rhs) -> bool"""
7502        return _lldb.SBLineEntry___eq__(self, rhs)
7503
7504    def __ne__(self, rhs):
7505        r"""__ne__(SBLineEntry self, SBLineEntry rhs) -> bool"""
7506        return _lldb.SBLineEntry___ne__(self, rhs)
7507
7508    def GetDescription(self, description):
7509        r"""GetDescription(SBLineEntry self, SBStream description) -> bool"""
7510        return _lldb.SBLineEntry_GetDescription(self, description)
7511
7512    def __repr__(self):
7513        r"""__repr__(SBLineEntry self) -> std::string"""
7514        return _lldb.SBLineEntry___repr__(self)
7515
7516            # operator== is a free function, which swig does not handle, so we inject
7517            # our own equality operator here
7518    def __eq__(self, other):
7519        return not self.__ne__(other)
7520
7521    def __int__(self):
7522        return self.GetLine()
7523
7524    def __hex__(self):
7525        return self.GetStartAddress()
7526    file = property(GetFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this line entry.''')
7527    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.''')
7528    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.''')
7529    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.''')
7530    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.''')
7531
7532
7533    def __eq__(self, rhs):
7534        if not isinstance(rhs, type(self)):
7535            return False
7536
7537        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
7538
7539    def __ne__(self, rhs):
7540        if not isinstance(rhs, type(self)):
7541            return True
7542
7543        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
7544
7545
7546# Register SBLineEntry in _lldb:
7547_lldb.SBLineEntry_swigregister(SBLineEntry)
7548class SBListener(object):
7549    r"""
7550    API clients can register its own listener to debugger events.
7551
7552    See also :py:class:`SBEvent` for example usage of creating and adding a listener.
7553    """
7554
7555    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7556    __repr__ = _swig_repr
7557
7558    def __init__(self, *args):
7559        r"""
7560        __init__(SBListener self) -> SBListener
7561        __init__(SBListener self, char const * name) -> SBListener
7562        __init__(SBListener self, SBListener rhs) -> SBListener
7563        """
7564        _lldb.SBListener_swiginit(self, _lldb.new_SBListener(*args))
7565    __swig_destroy__ = _lldb.delete_SBListener
7566
7567    def AddEvent(self, event):
7568        r"""AddEvent(SBListener self, SBEvent event)"""
7569        return _lldb.SBListener_AddEvent(self, event)
7570
7571    def Clear(self):
7572        r"""Clear(SBListener self)"""
7573        return _lldb.SBListener_Clear(self)
7574
7575    def __nonzero__(self):
7576        return _lldb.SBListener___nonzero__(self)
7577    __bool__ = __nonzero__
7578
7579
7580
7581    def IsValid(self):
7582        r"""IsValid(SBListener self) -> bool"""
7583        return _lldb.SBListener_IsValid(self)
7584
7585    def StartListeningForEventClass(self, debugger, broadcaster_class, event_mask):
7586        r"""StartListeningForEventClass(SBListener self, SBDebugger debugger, char const * broadcaster_class, uint32_t event_mask) -> uint32_t"""
7587        return _lldb.SBListener_StartListeningForEventClass(self, debugger, broadcaster_class, event_mask)
7588
7589    def StopListeningForEventClass(self, debugger, broadcaster_class, event_mask):
7590        r"""StopListeningForEventClass(SBListener self, SBDebugger debugger, char const * broadcaster_class, uint32_t event_mask) -> bool"""
7591        return _lldb.SBListener_StopListeningForEventClass(self, debugger, broadcaster_class, event_mask)
7592
7593    def StartListeningForEvents(self, broadcaster, event_mask):
7594        r"""StartListeningForEvents(SBListener self, SBBroadcaster broadcaster, uint32_t event_mask) -> uint32_t"""
7595        return _lldb.SBListener_StartListeningForEvents(self, broadcaster, event_mask)
7596
7597    def StopListeningForEvents(self, broadcaster, event_mask):
7598        r"""StopListeningForEvents(SBListener self, SBBroadcaster broadcaster, uint32_t event_mask) -> bool"""
7599        return _lldb.SBListener_StopListeningForEvents(self, broadcaster, event_mask)
7600
7601    def WaitForEvent(self, num_seconds, event):
7602        r"""WaitForEvent(SBListener self, uint32_t num_seconds, SBEvent event) -> bool"""
7603        return _lldb.SBListener_WaitForEvent(self, num_seconds, event)
7604
7605    def WaitForEventForBroadcaster(self, num_seconds, broadcaster, sb_event):
7606        r"""WaitForEventForBroadcaster(SBListener self, uint32_t num_seconds, SBBroadcaster broadcaster, SBEvent sb_event) -> bool"""
7607        return _lldb.SBListener_WaitForEventForBroadcaster(self, num_seconds, broadcaster, sb_event)
7608
7609    def WaitForEventForBroadcasterWithType(self, num_seconds, broadcaster, event_type_mask, sb_event):
7610        r"""WaitForEventForBroadcasterWithType(SBListener self, uint32_t num_seconds, SBBroadcaster broadcaster, uint32_t event_type_mask, SBEvent sb_event) -> bool"""
7611        return _lldb.SBListener_WaitForEventForBroadcasterWithType(self, num_seconds, broadcaster, event_type_mask, sb_event)
7612
7613    def PeekAtNextEvent(self, sb_event):
7614        r"""PeekAtNextEvent(SBListener self, SBEvent sb_event) -> bool"""
7615        return _lldb.SBListener_PeekAtNextEvent(self, sb_event)
7616
7617    def PeekAtNextEventForBroadcaster(self, broadcaster, sb_event):
7618        r"""PeekAtNextEventForBroadcaster(SBListener self, SBBroadcaster broadcaster, SBEvent sb_event) -> bool"""
7619        return _lldb.SBListener_PeekAtNextEventForBroadcaster(self, broadcaster, sb_event)
7620
7621    def PeekAtNextEventForBroadcasterWithType(self, broadcaster, event_type_mask, sb_event):
7622        r"""PeekAtNextEventForBroadcasterWithType(SBListener self, SBBroadcaster broadcaster, uint32_t event_type_mask, SBEvent sb_event) -> bool"""
7623        return _lldb.SBListener_PeekAtNextEventForBroadcasterWithType(self, broadcaster, event_type_mask, sb_event)
7624
7625    def GetNextEvent(self, sb_event):
7626        r"""GetNextEvent(SBListener self, SBEvent sb_event) -> bool"""
7627        return _lldb.SBListener_GetNextEvent(self, sb_event)
7628
7629    def GetNextEventForBroadcaster(self, broadcaster, sb_event):
7630        r"""GetNextEventForBroadcaster(SBListener self, SBBroadcaster broadcaster, SBEvent sb_event) -> bool"""
7631        return _lldb.SBListener_GetNextEventForBroadcaster(self, broadcaster, sb_event)
7632
7633    def GetNextEventForBroadcasterWithType(self, broadcaster, event_type_mask, sb_event):
7634        r"""GetNextEventForBroadcasterWithType(SBListener self, SBBroadcaster broadcaster, uint32_t event_type_mask, SBEvent sb_event) -> bool"""
7635        return _lldb.SBListener_GetNextEventForBroadcasterWithType(self, broadcaster, event_type_mask, sb_event)
7636
7637    def HandleBroadcastEvent(self, event):
7638        r"""HandleBroadcastEvent(SBListener self, SBEvent event) -> bool"""
7639        return _lldb.SBListener_HandleBroadcastEvent(self, event)
7640
7641# Register SBListener in _lldb:
7642_lldb.SBListener_swigregister(SBListener)
7643class SBMemoryRegionInfo(object):
7644    r"""API clients can get information about memory regions in processes."""
7645
7646    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7647
7648    def __init__(self, *args):
7649        r"""
7650        __init__(SBMemoryRegionInfo self) -> SBMemoryRegionInfo
7651        __init__(SBMemoryRegionInfo self, SBMemoryRegionInfo rhs) -> SBMemoryRegionInfo
7652        __init__(SBMemoryRegionInfo self, char const * name, lldb::addr_t begin, lldb::addr_t end, uint32_t permissions, bool mapped, bool stack_memory=False) -> SBMemoryRegionInfo
7653        """
7654        _lldb.SBMemoryRegionInfo_swiginit(self, _lldb.new_SBMemoryRegionInfo(*args))
7655    __swig_destroy__ = _lldb.delete_SBMemoryRegionInfo
7656
7657    def Clear(self):
7658        r"""Clear(SBMemoryRegionInfo self)"""
7659        return _lldb.SBMemoryRegionInfo_Clear(self)
7660
7661    def GetRegionBase(self):
7662        r"""GetRegionBase(SBMemoryRegionInfo self) -> lldb::addr_t"""
7663        return _lldb.SBMemoryRegionInfo_GetRegionBase(self)
7664
7665    def GetRegionEnd(self):
7666        r"""GetRegionEnd(SBMemoryRegionInfo self) -> lldb::addr_t"""
7667        return _lldb.SBMemoryRegionInfo_GetRegionEnd(self)
7668
7669    def IsReadable(self):
7670        r"""IsReadable(SBMemoryRegionInfo self) -> bool"""
7671        return _lldb.SBMemoryRegionInfo_IsReadable(self)
7672
7673    def IsWritable(self):
7674        r"""IsWritable(SBMemoryRegionInfo self) -> bool"""
7675        return _lldb.SBMemoryRegionInfo_IsWritable(self)
7676
7677    def IsExecutable(self):
7678        r"""IsExecutable(SBMemoryRegionInfo self) -> bool"""
7679        return _lldb.SBMemoryRegionInfo_IsExecutable(self)
7680
7681    def IsMapped(self):
7682        r"""IsMapped(SBMemoryRegionInfo self) -> bool"""
7683        return _lldb.SBMemoryRegionInfo_IsMapped(self)
7684
7685    def GetName(self):
7686        r"""GetName(SBMemoryRegionInfo self) -> char const *"""
7687        return _lldb.SBMemoryRegionInfo_GetName(self)
7688
7689    def HasDirtyMemoryPageList(self):
7690        r"""
7691        HasDirtyMemoryPageList(SBMemoryRegionInfo self) -> bool
7692
7693                Returns whether this memory region has a list of modified (dirty)
7694                pages available or not.  When calling GetNumDirtyPages(), you will
7695                have 0 returned for both "dirty page list is not known" and
7696                "empty dirty page list" (that is, no modified pages in this
7697                memory region).  You must use this method to disambiguate.
7698        """
7699        return _lldb.SBMemoryRegionInfo_HasDirtyMemoryPageList(self)
7700
7701    def GetNumDirtyPages(self):
7702        r"""
7703        GetNumDirtyPages(SBMemoryRegionInfo self) -> uint32_t
7704
7705                Return the number of dirty (modified) memory pages in this
7706                memory region, if available.  You must use the
7707                SBMemoryRegionInfo::HasDirtyMemoryPageList() method to
7708                determine if a dirty memory list is available; it will depend
7709                on the target system can provide this information.
7710        """
7711        return _lldb.SBMemoryRegionInfo_GetNumDirtyPages(self)
7712
7713    def GetDirtyPageAddressAtIndex(self, idx):
7714        r"""
7715        GetDirtyPageAddressAtIndex(SBMemoryRegionInfo self, uint32_t idx) -> lldb::addr_t
7716
7717                Return the address of a modified, or dirty, page of memory.
7718                If the provided index is out of range, or this memory region
7719                does not have dirty page information, LLDB_INVALID_ADDRESS
7720                is returned.
7721        """
7722        return _lldb.SBMemoryRegionInfo_GetDirtyPageAddressAtIndex(self, idx)
7723
7724    def GetPageSize(self):
7725        r"""
7726        GetPageSize(SBMemoryRegionInfo self) -> int
7727
7728                Return the size of pages in this memory region.  0 will be returned
7729                if this information was unavailable.
7730        """
7731        return _lldb.SBMemoryRegionInfo_GetPageSize(self)
7732
7733    def __eq__(self, rhs):
7734        r"""__eq__(SBMemoryRegionInfo self, SBMemoryRegionInfo rhs) -> bool"""
7735        return _lldb.SBMemoryRegionInfo___eq__(self, rhs)
7736
7737    def __ne__(self, rhs):
7738        r"""__ne__(SBMemoryRegionInfo self, SBMemoryRegionInfo rhs) -> bool"""
7739        return _lldb.SBMemoryRegionInfo___ne__(self, rhs)
7740
7741    def GetDescription(self, description):
7742        r"""GetDescription(SBMemoryRegionInfo self, SBStream description) -> bool"""
7743        return _lldb.SBMemoryRegionInfo_GetDescription(self, description)
7744
7745    def __repr__(self):
7746        r"""__repr__(SBMemoryRegionInfo self) -> std::string"""
7747        return _lldb.SBMemoryRegionInfo___repr__(self)
7748
7749        # operator== is a free function, which swig does not handle, so we inject
7750        # our own equality operator here
7751    def __eq__(self, other):
7752      return not self.__ne__(other)
7753
7754    def __hex__(self):
7755      return self.GetRegionBase()
7756
7757    def __len__(self):
7758      return self.GetRegionEnd() - self.GetRegionBase()
7759
7760
7761# Register SBMemoryRegionInfo in _lldb:
7762_lldb.SBMemoryRegionInfo_swigregister(SBMemoryRegionInfo)
7763class SBMemoryRegionInfoList(object):
7764    r"""Represents a list of :py:class:`SBMemoryRegionInfo`."""
7765
7766    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7767    __repr__ = _swig_repr
7768
7769    def __init__(self, *args):
7770        r"""
7771        __init__(SBMemoryRegionInfoList self) -> SBMemoryRegionInfoList
7772        __init__(SBMemoryRegionInfoList self, SBMemoryRegionInfoList rhs) -> SBMemoryRegionInfoList
7773        """
7774        _lldb.SBMemoryRegionInfoList_swiginit(self, _lldb.new_SBMemoryRegionInfoList(*args))
7775    __swig_destroy__ = _lldb.delete_SBMemoryRegionInfoList
7776
7777    def GetSize(self):
7778        r"""GetSize(SBMemoryRegionInfoList self) -> uint32_t"""
7779        return _lldb.SBMemoryRegionInfoList_GetSize(self)
7780
7781    def GetMemoryRegionContainingAddress(self, addr, region_info):
7782        r"""GetMemoryRegionContainingAddress(SBMemoryRegionInfoList self, lldb::addr_t addr, SBMemoryRegionInfo region_info) -> bool"""
7783        return _lldb.SBMemoryRegionInfoList_GetMemoryRegionContainingAddress(self, addr, region_info)
7784
7785    def GetMemoryRegionAtIndex(self, idx, region_info):
7786        r"""GetMemoryRegionAtIndex(SBMemoryRegionInfoList self, uint32_t idx, SBMemoryRegionInfo region_info) -> bool"""
7787        return _lldb.SBMemoryRegionInfoList_GetMemoryRegionAtIndex(self, idx, region_info)
7788
7789    def Append(self, *args):
7790        r"""
7791        Append(SBMemoryRegionInfoList self, SBMemoryRegionInfo region)
7792        Append(SBMemoryRegionInfoList self, SBMemoryRegionInfoList region_list)
7793        """
7794        return _lldb.SBMemoryRegionInfoList_Append(self, *args)
7795
7796    def Clear(self):
7797        r"""Clear(SBMemoryRegionInfoList self)"""
7798        return _lldb.SBMemoryRegionInfoList_Clear(self)
7799
7800    def __len__(self):
7801      '''Return the number of memory region info in a lldb.SBMemoryRegionInfoList object.'''
7802      return self.GetSize()
7803
7804    def __iter__(self):
7805      '''Iterate over all the memory regions in a lldb.SBMemoryRegionInfoList object.'''
7806      return lldb_iter(self, 'GetSize', 'GetMemoryRegionAtIndex')
7807
7808
7809# Register SBMemoryRegionInfoList in _lldb:
7810_lldb.SBMemoryRegionInfoList_swigregister(SBMemoryRegionInfoList)
7811class SBModule(object):
7812    r"""
7813    Represents an executable image and its associated object and symbol files.
7814
7815    The module is designed to be able to select a single slice of an
7816    executable image as it would appear on disk and during program
7817    execution.
7818
7819    You can retrieve SBModule from :py:class:`SBSymbolContext` , which in turn is available
7820    from SBFrame.
7821
7822    SBModule supports symbol iteration, for example, ::
7823
7824        for symbol in module:
7825            name = symbol.GetName()
7826            saddr = symbol.GetStartAddress()
7827            eaddr = symbol.GetEndAddress()
7828
7829    and rich comparison methods which allow the API program to use, ::
7830
7831        if thisModule == thatModule:
7832            print('This module is the same as that module')
7833
7834    to test module equality.  A module also contains object file sections, namely
7835    :py:class:`SBSection` .  SBModule supports section iteration through section_iter(), for
7836    example, ::
7837
7838        print('Number of sections: %d' % module.GetNumSections())
7839        for sec in module.section_iter():
7840            print(sec)
7841
7842    And to iterate the symbols within a SBSection, use symbol_in_section_iter(), ::
7843
7844        # Iterates the text section and prints each symbols within each sub-section.
7845        for subsec in text_sec:
7846            print(INDENT + repr(subsec))
7847            for sym in exe_module.symbol_in_section_iter(subsec):
7848                print(INDENT2 + repr(sym))
7849                print(INDENT2 + 'symbol type: %s' % symbol_type_to_str(sym.GetType()))
7850
7851    produces this following output: ::
7852
7853        [0x0000000100001780-0x0000000100001d5c) a.out.__TEXT.__text
7854            id = {0x00000004}, name = 'mask_access(MaskAction, unsigned int)', range = [0x00000001000017c0-0x0000000100001870)
7855            symbol type: code
7856            id = {0x00000008}, name = 'thread_func(void*)', range = [0x0000000100001870-0x00000001000019b0)
7857            symbol type: code
7858            id = {0x0000000c}, name = 'main', range = [0x00000001000019b0-0x0000000100001d5c)
7859            symbol type: code
7860            id = {0x00000023}, name = 'start', address = 0x0000000100001780
7861            symbol type: code
7862        [0x0000000100001d5c-0x0000000100001da4) a.out.__TEXT.__stubs
7863            id = {0x00000024}, name = '__stack_chk_fail', range = [0x0000000100001d5c-0x0000000100001d62)
7864            symbol type: trampoline
7865            id = {0x00000028}, name = 'exit', range = [0x0000000100001d62-0x0000000100001d68)
7866            symbol type: trampoline
7867            id = {0x00000029}, name = 'fflush', range = [0x0000000100001d68-0x0000000100001d6e)
7868            symbol type: trampoline
7869            id = {0x0000002a}, name = 'fgets', range = [0x0000000100001d6e-0x0000000100001d74)
7870            symbol type: trampoline
7871            id = {0x0000002b}, name = 'printf', range = [0x0000000100001d74-0x0000000100001d7a)
7872            symbol type: trampoline
7873            id = {0x0000002c}, name = 'pthread_create', range = [0x0000000100001d7a-0x0000000100001d80)
7874            symbol type: trampoline
7875            id = {0x0000002d}, name = 'pthread_join', range = [0x0000000100001d80-0x0000000100001d86)
7876            symbol type: trampoline
7877            id = {0x0000002e}, name = 'pthread_mutex_lock', range = [0x0000000100001d86-0x0000000100001d8c)
7878            symbol type: trampoline
7879            id = {0x0000002f}, name = 'pthread_mutex_unlock', range = [0x0000000100001d8c-0x0000000100001d92)
7880            symbol type: trampoline
7881            id = {0x00000030}, name = 'rand', range = [0x0000000100001d92-0x0000000100001d98)
7882            symbol type: trampoline
7883            id = {0x00000031}, name = 'strtoul', range = [0x0000000100001d98-0x0000000100001d9e)
7884            symbol type: trampoline
7885            id = {0x00000032}, name = 'usleep', range = [0x0000000100001d9e-0x0000000100001da4)
7886            symbol type: trampoline
7887        [0x0000000100001da4-0x0000000100001e2c) a.out.__TEXT.__stub_helper
7888        [0x0000000100001e2c-0x0000000100001f10) a.out.__TEXT.__cstring
7889        [0x0000000100001f10-0x0000000100001f68) a.out.__TEXT.__unwind_info
7890        [0x0000000100001f68-0x0000000100001ff8) a.out.__TEXT.__eh_frame
7891
7892    """
7893
7894    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7895
7896    def __init__(self, *args):
7897        r"""
7898        __init__(SBModule self) -> SBModule
7899        __init__(SBModule self, SBModule rhs) -> SBModule
7900        __init__(SBModule self, SBModuleSpec module_spec) -> SBModule
7901        __init__(SBModule self, SBProcess process, lldb::addr_t header_addr) -> SBModule
7902        """
7903        _lldb.SBModule_swiginit(self, _lldb.new_SBModule(*args))
7904    __swig_destroy__ = _lldb.delete_SBModule
7905
7906    def __nonzero__(self):
7907        return _lldb.SBModule___nonzero__(self)
7908    __bool__ = __nonzero__
7909
7910
7911
7912    def IsValid(self):
7913        r"""IsValid(SBModule self) -> bool"""
7914        return _lldb.SBModule_IsValid(self)
7915
7916    def Clear(self):
7917        r"""Clear(SBModule self)"""
7918        return _lldb.SBModule_Clear(self)
7919
7920    def IsFileBacked(self):
7921        r"""
7922        IsFileBacked(SBModule self) -> bool
7923
7924            Check if the module is file backed.
7925
7926            @return
7927
7928                True, if the module is backed by an object file on disk.
7929                False, if the module is backed by an object file in memory.
7930        """
7931        return _lldb.SBModule_IsFileBacked(self)
7932
7933    def GetFileSpec(self):
7934        r"""
7935        GetFileSpec(SBModule self) -> SBFileSpec
7936
7937            Get const accessor for the module file specification.
7938
7939            This function returns the file for the module on the host system
7940            that is running LLDB. This can differ from the path on the
7941            platform since we might be doing remote debugging.
7942
7943            @return
7944                A const reference to the file specification object.
7945        """
7946        return _lldb.SBModule_GetFileSpec(self)
7947
7948    def GetPlatformFileSpec(self):
7949        r"""
7950        GetPlatformFileSpec(SBModule self) -> SBFileSpec
7951
7952            Get accessor for the module platform file specification.
7953
7954            Platform file refers to the path of the module as it is known on
7955            the remote system on which it is being debugged. For local
7956            debugging this is always the same as Module::GetFileSpec(). But
7957            remote debugging might mention a file '/usr/lib/liba.dylib'
7958            which might be locally downloaded and cached. In this case the
7959            platform file could be something like:
7960            '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib'
7961            The file could also be cached in a local developer kit directory.
7962
7963            @return
7964                A const reference to the file specification object.
7965        """
7966        return _lldb.SBModule_GetPlatformFileSpec(self)
7967
7968    def SetPlatformFileSpec(self, platform_file):
7969        r"""SetPlatformFileSpec(SBModule self, SBFileSpec platform_file) -> bool"""
7970        return _lldb.SBModule_SetPlatformFileSpec(self, platform_file)
7971
7972    def GetRemoteInstallFileSpec(self):
7973        r"""GetRemoteInstallFileSpec(SBModule self) -> SBFileSpec"""
7974        return _lldb.SBModule_GetRemoteInstallFileSpec(self)
7975
7976    def SetRemoteInstallFileSpec(self, file):
7977        r"""SetRemoteInstallFileSpec(SBModule self, SBFileSpec file) -> bool"""
7978        return _lldb.SBModule_SetRemoteInstallFileSpec(self, file)
7979
7980    def GetByteOrder(self):
7981        r"""GetByteOrder(SBModule self) -> lldb::ByteOrder"""
7982        return _lldb.SBModule_GetByteOrder(self)
7983
7984    def GetAddressByteSize(self):
7985        r"""GetAddressByteSize(SBModule self) -> uint32_t"""
7986        return _lldb.SBModule_GetAddressByteSize(self)
7987
7988    def GetTriple(self):
7989        r"""GetTriple(SBModule self) -> char const *"""
7990        return _lldb.SBModule_GetTriple(self)
7991
7992    def GetUUIDBytes(self):
7993        r"""GetUUIDBytes(SBModule self) -> uint8_t const *"""
7994        return _lldb.SBModule_GetUUIDBytes(self)
7995
7996    def GetUUIDString(self):
7997        r"""
7998        GetUUIDString(SBModule self) -> char const *
7999        Returns the UUID of the module as a Python string.
8000        """
8001        return _lldb.SBModule_GetUUIDString(self)
8002
8003    def __eq__(self, rhs):
8004        r"""__eq__(SBModule self, SBModule rhs) -> bool"""
8005        return _lldb.SBModule___eq__(self, rhs)
8006
8007    def __ne__(self, rhs):
8008        r"""__ne__(SBModule self, SBModule rhs) -> bool"""
8009        return _lldb.SBModule___ne__(self, rhs)
8010
8011    def FindSection(self, sect_name):
8012        r"""FindSection(SBModule self, char const * sect_name) -> SBSection"""
8013        return _lldb.SBModule_FindSection(self, sect_name)
8014
8015    def ResolveFileAddress(self, vm_addr):
8016        r"""ResolveFileAddress(SBModule self, lldb::addr_t vm_addr) -> SBAddress"""
8017        return _lldb.SBModule_ResolveFileAddress(self, vm_addr)
8018
8019    def ResolveSymbolContextForAddress(self, addr, resolve_scope):
8020        r"""ResolveSymbolContextForAddress(SBModule self, SBAddress addr, uint32_t resolve_scope) -> SBSymbolContext"""
8021        return _lldb.SBModule_ResolveSymbolContextForAddress(self, addr, resolve_scope)
8022
8023    def GetDescription(self, description):
8024        r"""GetDescription(SBModule self, SBStream description) -> bool"""
8025        return _lldb.SBModule_GetDescription(self, description)
8026
8027    def GetNumCompileUnits(self):
8028        r"""GetNumCompileUnits(SBModule self) -> uint32_t"""
8029        return _lldb.SBModule_GetNumCompileUnits(self)
8030
8031    def GetCompileUnitAtIndex(self, arg2):
8032        r"""GetCompileUnitAtIndex(SBModule self, uint32_t arg2) -> SBCompileUnit"""
8033        return _lldb.SBModule_GetCompileUnitAtIndex(self, arg2)
8034
8035    def FindCompileUnits(self, sb_file_spec):
8036        r"""
8037        FindCompileUnits(SBModule self, SBFileSpec sb_file_spec) -> SBSymbolContextList
8038
8039            Find compile units related to this module and passed source
8040            file.
8041
8042            @param[in] sb_file_spec
8043                A :py:class:`SBFileSpec` object that contains source file
8044                specification.
8045
8046            @return
8047                A :py:class:`SBSymbolContextList` that gets filled in with all of
8048                the symbol contexts for all the matches.
8049        """
8050        return _lldb.SBModule_FindCompileUnits(self, sb_file_spec)
8051
8052    def GetNumSymbols(self):
8053        r"""GetNumSymbols(SBModule self) -> size_t"""
8054        return _lldb.SBModule_GetNumSymbols(self)
8055
8056    def GetSymbolAtIndex(self, idx):
8057        r"""GetSymbolAtIndex(SBModule self, size_t idx) -> SBSymbol"""
8058        return _lldb.SBModule_GetSymbolAtIndex(self, idx)
8059
8060    def FindSymbol(self, *args):
8061        r"""FindSymbol(SBModule self, char const * name, lldb::SymbolType type=eSymbolTypeAny) -> SBSymbol"""
8062        return _lldb.SBModule_FindSymbol(self, *args)
8063
8064    def FindSymbols(self, *args):
8065        r"""FindSymbols(SBModule self, char const * name, lldb::SymbolType type=eSymbolTypeAny) -> SBSymbolContextList"""
8066        return _lldb.SBModule_FindSymbols(self, *args)
8067
8068    def GetNumSections(self):
8069        r"""GetNumSections(SBModule self) -> size_t"""
8070        return _lldb.SBModule_GetNumSections(self)
8071
8072    def GetSectionAtIndex(self, idx):
8073        r"""GetSectionAtIndex(SBModule self, size_t idx) -> SBSection"""
8074        return _lldb.SBModule_GetSectionAtIndex(self, idx)
8075
8076    def FindFunctions(self, *args):
8077        r"""
8078        FindFunctions(SBModule self, char const * name, uint32_t name_type_mask=eFunctionNameTypeAny) -> SBSymbolContextList
8079
8080            Find functions by name.
8081
8082            @param[in] name
8083                The name of the function we are looking for.
8084
8085            @param[in] name_type_mask
8086                A logical OR of one or more FunctionNameType enum bits that
8087                indicate what kind of names should be used when doing the
8088                lookup. Bits include fully qualified names, base names,
8089                C++ methods, or ObjC selectors.
8090                See FunctionNameType for more details.
8091
8092            @return
8093                A symbol context list that gets filled in with all of the
8094                matches.
8095        """
8096        return _lldb.SBModule_FindFunctions(self, *args)
8097
8098    def FindGlobalVariables(self, target, name, max_matches):
8099        r"""
8100        FindGlobalVariables(SBModule self, SBTarget target, char const * name, uint32_t max_matches) -> SBValueList
8101
8102            Find global and static variables by name.
8103
8104            @param[in] target
8105                A valid SBTarget instance representing the debuggee.
8106
8107            @param[in] name
8108                The name of the global or static variable we are looking
8109                for.
8110
8111            @param[in] max_matches
8112                Allow the number of matches to be limited to max_matches.
8113
8114            @return
8115                A list of matched variables in an SBValueList.
8116        """
8117        return _lldb.SBModule_FindGlobalVariables(self, target, name, max_matches)
8118
8119    def FindFirstGlobalVariable(self, target, name):
8120        r"""
8121        FindFirstGlobalVariable(SBModule self, SBTarget target, char const * name) -> SBValue
8122
8123            Find the first global (or static) variable by name.
8124
8125            @param[in] target
8126                A valid SBTarget instance representing the debuggee.
8127
8128            @param[in] name
8129                The name of the global or static variable we are looking
8130                for.
8131
8132            @return
8133                An SBValue that gets filled in with the found variable (if any).
8134        """
8135        return _lldb.SBModule_FindFirstGlobalVariable(self, target, name)
8136
8137    def FindFirstType(self, name):
8138        r"""FindFirstType(SBModule self, char const * name) -> SBType"""
8139        return _lldb.SBModule_FindFirstType(self, name)
8140
8141    def FindTypes(self, type):
8142        r"""FindTypes(SBModule self, char const * type) -> SBTypeList"""
8143        return _lldb.SBModule_FindTypes(self, type)
8144
8145    def GetTypeByID(self, uid):
8146        r"""GetTypeByID(SBModule self, lldb::user_id_t uid) -> SBType"""
8147        return _lldb.SBModule_GetTypeByID(self, uid)
8148
8149    def GetBasicType(self, type):
8150        r"""GetBasicType(SBModule self, lldb::BasicType type) -> SBType"""
8151        return _lldb.SBModule_GetBasicType(self, type)
8152
8153    def GetTypes(self, *args):
8154        r"""
8155        GetTypes(SBModule self, uint32_t type_mask=eTypeClassAny) -> SBTypeList
8156
8157            Get all types matching type_mask from debug info in this
8158            module.
8159
8160            @param[in] type_mask
8161                A bitfield that consists of one or more bits logically OR'ed
8162                together from the lldb::TypeClass enumeration. This allows
8163                you to request only structure types, or only class, struct
8164                and union types. Passing in lldb::eTypeClassAny will return
8165                all types found in the debug information for this module.
8166
8167            @return
8168                A list of types in this module that match type_mask
8169        """
8170        return _lldb.SBModule_GetTypes(self, *args)
8171
8172    def GetVersion(self):
8173        r"""GetVersion(SBModule self) -> uint32_t"""
8174        return _lldb.SBModule_GetVersion(self)
8175
8176    def GetSymbolFileSpec(self):
8177        r"""GetSymbolFileSpec(SBModule self) -> SBFileSpec"""
8178        return _lldb.SBModule_GetSymbolFileSpec(self)
8179
8180    def GetObjectFileHeaderAddress(self):
8181        r"""GetObjectFileHeaderAddress(SBModule self) -> SBAddress"""
8182        return _lldb.SBModule_GetObjectFileHeaderAddress(self)
8183
8184    def GetObjectFileEntryPointAddress(self):
8185        r"""GetObjectFileEntryPointAddress(SBModule self) -> SBAddress"""
8186        return _lldb.SBModule_GetObjectFileEntryPointAddress(self)
8187
8188    @staticmethod
8189    def GetNumberAllocatedModules():
8190        r"""
8191        GetNumberAllocatedModules() -> uint32_t
8192
8193            Returns the number of modules in the module cache. This is an
8194            implementation detail exposed for testing and should not be relied upon.
8195
8196            @return
8197                The number of modules in the module cache.
8198        """
8199        return _lldb.SBModule_GetNumberAllocatedModules()
8200
8201    @staticmethod
8202    def GarbageCollectAllocatedModules():
8203        r"""
8204        GarbageCollectAllocatedModules()
8205
8206            Removes all modules which are no longer needed by any part of LLDB from
8207            the module cache.
8208
8209            This is an implementation detail exposed for testing and should not be
8210            relied upon. Use SBDebugger::MemoryPressureDetected instead to reduce
8211            LLDB's memory consumption during execution.
8212
8213        """
8214        return _lldb.SBModule_GarbageCollectAllocatedModules()
8215
8216    def __repr__(self):
8217        r"""__repr__(SBModule self) -> std::string"""
8218        return _lldb.SBModule___repr__(self)
8219
8220            # operator== is a free function, which swig does not handle, so we inject
8221            # our own equality operator here
8222    def __eq__(self, other):
8223        return not self.__ne__(other)
8224
8225    def __len__(self):
8226        '''Return the number of symbols in a lldb.SBModule object.'''
8227        return self.GetNumSymbols()
8228
8229    def __iter__(self):
8230        '''Iterate over all symbols in a lldb.SBModule object.'''
8231        return lldb_iter(self, 'GetNumSymbols', 'GetSymbolAtIndex')
8232
8233    def section_iter(self):
8234        '''Iterate over all sections in a lldb.SBModule object.'''
8235        return lldb_iter(self, 'GetNumSections', 'GetSectionAtIndex')
8236
8237    def compile_unit_iter(self):
8238        '''Iterate over all compile units in a lldb.SBModule object.'''
8239        return lldb_iter(self, 'GetNumCompileUnits', 'GetCompileUnitAtIndex')
8240
8241    def symbol_in_section_iter(self, section):
8242        '''Given a module and its contained section, returns an iterator on the
8243        symbols within the section.'''
8244        for sym in self:
8245            if in_range(sym, section):
8246                yield sym
8247
8248    class symbols_access(object):
8249        re_compile_type = type(re.compile('.'))
8250        '''A helper object that will lazily hand out lldb.SBSymbol objects for a module when supplied an index, name, or regular expression.'''
8251        def __init__(self, sbmodule):
8252            self.sbmodule = sbmodule
8253
8254        def __len__(self):
8255            if self.sbmodule:
8256                return int(self.sbmodule.GetNumSymbols())
8257            return 0
8258
8259        def __getitem__(self, key):
8260            count = len(self)
8261            if type(key) is int:
8262                if -count <= key < count:
8263                    key %= count
8264                    return self.sbmodule.GetSymbolAtIndex(key)
8265            elif type(key) is str:
8266                matches = []
8267                sc_list = self.sbmodule.FindSymbols(key)
8268                for sc in sc_list:
8269                    symbol = sc.symbol
8270                    if symbol:
8271                        matches.append(symbol)
8272                return matches
8273            elif isinstance(key, self.re_compile_type):
8274                matches = []
8275                for idx in range(count):
8276                    symbol = self.sbmodule.GetSymbolAtIndex(idx)
8277                    added = False
8278                    name = symbol.name
8279                    if name:
8280                        re_match = key.search(name)
8281                        if re_match:
8282                            matches.append(symbol)
8283                            added = True
8284                    if not added:
8285                        mangled = symbol.mangled
8286                        if mangled:
8287                            re_match = key.search(mangled)
8288                            if re_match:
8289                                matches.append(symbol)
8290                return matches
8291            else:
8292                print("error: unsupported item type: %s" % type(key))
8293            return None
8294
8295    def get_symbols_access_object(self):
8296        '''An accessor function that returns a symbols_access() object which allows lazy symbol access from a lldb.SBModule object.'''
8297        return self.symbols_access (self)
8298
8299    def get_compile_units_access_object (self):
8300        '''An accessor function that returns a compile_units_access() object which allows lazy compile unit access from a lldb.SBModule object.'''
8301        return self.compile_units_access (self)
8302
8303    def get_symbols_array(self):
8304        '''An accessor function that returns a list() that contains all symbols in a lldb.SBModule object.'''
8305        symbols = []
8306        for idx in range(self.num_symbols):
8307            symbols.append(self.GetSymbolAtIndex(idx))
8308        return symbols
8309
8310    class sections_access(object):
8311        re_compile_type = type(re.compile('.'))
8312        '''A helper object that will lazily hand out lldb.SBSection objects for a module when supplied an index, name, or regular expression.'''
8313        def __init__(self, sbmodule):
8314            self.sbmodule = sbmodule
8315
8316        def __len__(self):
8317            if self.sbmodule:
8318                return int(self.sbmodule.GetNumSections())
8319            return 0
8320
8321        def __getitem__(self, key):
8322            count = len(self)
8323            if type(key) is int:
8324                if -count <= key < count:
8325                    key %= count
8326                    return self.sbmodule.GetSectionAtIndex(key)
8327            elif type(key) is str:
8328                for idx in range(count):
8329                    section = self.sbmodule.GetSectionAtIndex(idx)
8330                    if section.name == key:
8331                        return section
8332            elif isinstance(key, self.re_compile_type):
8333                matches = []
8334                for idx in range(count):
8335                    section = self.sbmodule.GetSectionAtIndex(idx)
8336                    name = section.name
8337                    if name:
8338                        re_match = key.search(name)
8339                        if re_match:
8340                            matches.append(section)
8341                return matches
8342            else:
8343                print("error: unsupported item type: %s" % type(key))
8344            return None
8345
8346    class compile_units_access(object):
8347        re_compile_type = type(re.compile('.'))
8348        '''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.'''
8349        def __init__(self, sbmodule):
8350            self.sbmodule = sbmodule
8351
8352        def __len__(self):
8353            if self.sbmodule:
8354                return int(self.sbmodule.GetNumCompileUnits())
8355            return 0
8356
8357        def __getitem__(self, key):
8358            count = len(self)
8359            if type(key) is int:
8360                if -count <= key < count:
8361                    key %= count
8362                    return self.sbmodule.GetCompileUnitAtIndex(key)
8363            elif type(key) is str:
8364                is_full_path = key[0] == '/'
8365                for idx in range(count):
8366                    comp_unit = self.sbmodule.GetCompileUnitAtIndex(idx)
8367                    if is_full_path:
8368                        if comp_unit.file.fullpath == key:
8369                            return comp_unit
8370                    else:
8371                        if comp_unit.file.basename == key:
8372                            return comp_unit
8373            elif isinstance(key, self.re_compile_type):
8374                matches = []
8375                for idx in range(count):
8376                    comp_unit = self.sbmodule.GetCompileUnitAtIndex(idx)
8377                    fullpath = comp_unit.file.fullpath
8378                    if fullpath:
8379                        re_match = key.search(fullpath)
8380                        if re_match:
8381                            matches.append(comp_unit)
8382                return matches
8383            else:
8384                print("error: unsupported item type: %s" % type(key))
8385            return None
8386
8387    def get_sections_access_object(self):
8388        '''An accessor function that returns a sections_access() object which allows lazy section array access.'''
8389        return self.sections_access (self)
8390
8391    def get_sections_array(self):
8392        '''An accessor function that returns an array object that contains all sections in this module object.'''
8393        if not hasattr(self, 'sections_array'):
8394            self.sections_array = []
8395            for idx in range(self.num_sections):
8396                self.sections_array.append(self.GetSectionAtIndex(idx))
8397        return self.sections_array
8398
8399    def get_compile_units_array(self):
8400        '''An accessor function that returns an array object that contains all compile_units in this module object.'''
8401        if not hasattr(self, 'compile_units_array'):
8402            self.compile_units_array = []
8403            for idx in range(self.GetNumCompileUnits()):
8404                self.compile_units_array.append(self.GetCompileUnitAtIndex(idx))
8405        return self.compile_units_array
8406
8407    symbols = property(get_symbols_array, None, doc='''A read only property that returns a list() of lldb.SBSymbol objects contained in this module.''')
8408    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''')
8409    sections = property(get_sections_array, None, doc='''A read only property that returns a list() of lldb.SBSection objects contained in this module.''')
8410    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.''')
8411    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''')
8412    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.''')
8413
8414    def get_uuid(self):
8415        return uuid.UUID (self.GetUUIDString())
8416
8417    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.''')
8418    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.''')
8419    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.''')
8420    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.''')
8421    addr_size = property(GetAddressByteSize, None, doc='''A read only property that returns the size in bytes of an address for this module.''')
8422    triple = property(GetTriple, None, doc='''A read only property that returns the target triple (arch-vendor-os) for this module.''')
8423    num_symbols = property(GetNumSymbols, None, doc='''A read only property that returns number of symbols in the module symbol table as an integer.''')
8424    num_sections = property(GetNumSections, None, doc='''A read only property that returns number of sections in the module as an integer.''')
8425
8426
8427
8428    def __eq__(self, rhs):
8429        if not isinstance(rhs, type(self)):
8430            return False
8431
8432        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
8433
8434    def __ne__(self, rhs):
8435        if not isinstance(rhs, type(self)):
8436            return True
8437
8438        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
8439
8440
8441# Register SBModule in _lldb:
8442_lldb.SBModule_swigregister(SBModule)
8443class SBModuleSpec(object):
8444    r"""Proxy of C++ lldb::SBModuleSpec class."""
8445
8446    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8447
8448    def __init__(self, *args):
8449        r"""
8450        __init__(SBModuleSpec self) -> SBModuleSpec
8451        __init__(SBModuleSpec self, SBModuleSpec rhs) -> SBModuleSpec
8452        """
8453        _lldb.SBModuleSpec_swiginit(self, _lldb.new_SBModuleSpec(*args))
8454    __swig_destroy__ = _lldb.delete_SBModuleSpec
8455
8456    def __nonzero__(self):
8457        return _lldb.SBModuleSpec___nonzero__(self)
8458    __bool__ = __nonzero__
8459
8460
8461
8462    def IsValid(self):
8463        r"""IsValid(SBModuleSpec self) -> bool"""
8464        return _lldb.SBModuleSpec_IsValid(self)
8465
8466    def Clear(self):
8467        r"""Clear(SBModuleSpec self)"""
8468        return _lldb.SBModuleSpec_Clear(self)
8469
8470    def GetFileSpec(self):
8471        r"""
8472        GetFileSpec(SBModuleSpec self) -> SBFileSpec
8473
8474            Get const accessor for the module file.
8475
8476            This function returns the file for the module on the host system
8477            that is running LLDB. This can differ from the path on the
8478            platform since we might be doing remote debugging.
8479
8480            @return
8481                A const reference to the file specification object.
8482        """
8483        return _lldb.SBModuleSpec_GetFileSpec(self)
8484
8485    def SetFileSpec(self, fspec):
8486        r"""SetFileSpec(SBModuleSpec self, SBFileSpec fspec)"""
8487        return _lldb.SBModuleSpec_SetFileSpec(self, fspec)
8488
8489    def GetPlatformFileSpec(self):
8490        r"""
8491        GetPlatformFileSpec(SBModuleSpec self) -> SBFileSpec
8492
8493            Get accessor for the module platform file.
8494
8495            Platform file refers to the path of the module as it is known on
8496            the remote system on which it is being debugged. For local
8497            debugging this is always the same as Module::GetFileSpec(). But
8498            remote debugging might mention a file '/usr/lib/liba.dylib'
8499            which might be locally downloaded and cached. In this case the
8500            platform file could be something like:
8501            '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib'
8502            The file could also be cached in a local developer kit directory.
8503
8504            @return
8505                A const reference to the file specification object.
8506        """
8507        return _lldb.SBModuleSpec_GetPlatformFileSpec(self)
8508
8509    def SetPlatformFileSpec(self, fspec):
8510        r"""SetPlatformFileSpec(SBModuleSpec self, SBFileSpec fspec)"""
8511        return _lldb.SBModuleSpec_SetPlatformFileSpec(self, fspec)
8512
8513    def GetSymbolFileSpec(self):
8514        r"""GetSymbolFileSpec(SBModuleSpec self) -> SBFileSpec"""
8515        return _lldb.SBModuleSpec_GetSymbolFileSpec(self)
8516
8517    def SetSymbolFileSpec(self, fspec):
8518        r"""SetSymbolFileSpec(SBModuleSpec self, SBFileSpec fspec)"""
8519        return _lldb.SBModuleSpec_SetSymbolFileSpec(self, fspec)
8520
8521    def GetObjectName(self):
8522        r"""GetObjectName(SBModuleSpec self) -> char const *"""
8523        return _lldb.SBModuleSpec_GetObjectName(self)
8524
8525    def SetObjectName(self, name):
8526        r"""SetObjectName(SBModuleSpec self, char const * name)"""
8527        return _lldb.SBModuleSpec_SetObjectName(self, name)
8528
8529    def GetTriple(self):
8530        r"""GetTriple(SBModuleSpec self) -> char const *"""
8531        return _lldb.SBModuleSpec_GetTriple(self)
8532
8533    def SetTriple(self, triple):
8534        r"""SetTriple(SBModuleSpec self, char const * triple)"""
8535        return _lldb.SBModuleSpec_SetTriple(self, triple)
8536
8537    def GetUUIDBytes(self):
8538        r"""GetUUIDBytes(SBModuleSpec self) -> uint8_t const *"""
8539        return _lldb.SBModuleSpec_GetUUIDBytes(self)
8540
8541    def GetUUIDLength(self):
8542        r"""GetUUIDLength(SBModuleSpec self) -> size_t"""
8543        return _lldb.SBModuleSpec_GetUUIDLength(self)
8544
8545    def SetUUIDBytes(self, uuid, uuid_len):
8546        r"""SetUUIDBytes(SBModuleSpec self, uint8_t const * uuid, size_t uuid_len) -> bool"""
8547        return _lldb.SBModuleSpec_SetUUIDBytes(self, uuid, uuid_len)
8548
8549    def GetObjectOffset(self):
8550        r"""GetObjectOffset(SBModuleSpec self) -> uint64_t"""
8551        return _lldb.SBModuleSpec_GetObjectOffset(self)
8552
8553    def SetObjectOffset(self, object_offset):
8554        r"""SetObjectOffset(SBModuleSpec self, uint64_t object_offset)"""
8555        return _lldb.SBModuleSpec_SetObjectOffset(self, object_offset)
8556
8557    def GetObjectSize(self):
8558        r"""GetObjectSize(SBModuleSpec self) -> uint64_t"""
8559        return _lldb.SBModuleSpec_GetObjectSize(self)
8560
8561    def SetObjectSize(self, object_size):
8562        r"""SetObjectSize(SBModuleSpec self, uint64_t object_size)"""
8563        return _lldb.SBModuleSpec_SetObjectSize(self, object_size)
8564
8565    def GetDescription(self, description):
8566        r"""GetDescription(SBModuleSpec self, SBStream description) -> bool"""
8567        return _lldb.SBModuleSpec_GetDescription(self, description)
8568
8569    def __repr__(self):
8570        r"""__repr__(SBModuleSpec self) -> std::string"""
8571        return _lldb.SBModuleSpec___repr__(self)
8572
8573# Register SBModuleSpec in _lldb:
8574_lldb.SBModuleSpec_swigregister(SBModuleSpec)
8575class SBModuleSpecList(object):
8576    r"""Represents a list of :py:class:`SBModuleSpec`."""
8577
8578    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8579
8580    def __init__(self, *args):
8581        r"""
8582        __init__(SBModuleSpecList self) -> SBModuleSpecList
8583        __init__(SBModuleSpecList self, SBModuleSpecList rhs) -> SBModuleSpecList
8584        """
8585        _lldb.SBModuleSpecList_swiginit(self, _lldb.new_SBModuleSpecList(*args))
8586    __swig_destroy__ = _lldb.delete_SBModuleSpecList
8587
8588    @staticmethod
8589    def GetModuleSpecifications(path):
8590        r"""GetModuleSpecifications(char const * path) -> SBModuleSpecList"""
8591        return _lldb.SBModuleSpecList_GetModuleSpecifications(path)
8592
8593    def Append(self, *args):
8594        r"""
8595        Append(SBModuleSpecList self, SBModuleSpec spec)
8596        Append(SBModuleSpecList self, SBModuleSpecList spec_list)
8597        """
8598        return _lldb.SBModuleSpecList_Append(self, *args)
8599
8600    def FindFirstMatchingSpec(self, match_spec):
8601        r"""FindFirstMatchingSpec(SBModuleSpecList self, SBModuleSpec match_spec) -> SBModuleSpec"""
8602        return _lldb.SBModuleSpecList_FindFirstMatchingSpec(self, match_spec)
8603
8604    def FindMatchingSpecs(self, match_spec):
8605        r"""FindMatchingSpecs(SBModuleSpecList self, SBModuleSpec match_spec) -> SBModuleSpecList"""
8606        return _lldb.SBModuleSpecList_FindMatchingSpecs(self, match_spec)
8607
8608    def GetSize(self):
8609        r"""GetSize(SBModuleSpecList self) -> size_t"""
8610        return _lldb.SBModuleSpecList_GetSize(self)
8611
8612    def GetSpecAtIndex(self, i):
8613        r"""GetSpecAtIndex(SBModuleSpecList self, size_t i) -> SBModuleSpec"""
8614        return _lldb.SBModuleSpecList_GetSpecAtIndex(self, i)
8615
8616    def GetDescription(self, description):
8617        r"""GetDescription(SBModuleSpecList self, SBStream description) -> bool"""
8618        return _lldb.SBModuleSpecList_GetDescription(self, description)
8619
8620    def __repr__(self):
8621        r"""__repr__(SBModuleSpecList self) -> std::string"""
8622        return _lldb.SBModuleSpecList___repr__(self)
8623
8624    def __len__(self):
8625      '''Return the number of ModuleSpec in a lldb.SBModuleSpecList object.'''
8626      return self.GetSize()
8627
8628    def __iter__(self):
8629      '''Iterate over all ModuleSpecs in a lldb.SBModuleSpecList object.'''
8630      return lldb_iter(self, 'GetSize', 'GetSpecAtIndex')
8631
8632
8633# Register SBModuleSpecList in _lldb:
8634_lldb.SBModuleSpecList_swigregister(SBModuleSpecList)
8635class SBPlatformConnectOptions(object):
8636    r"""Describes how :py:class:`SBPlatform.ConnectRemote` connects to a remote platform."""
8637
8638    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8639    __repr__ = _swig_repr
8640
8641    def __init__(self, *args):
8642        r"""
8643        __init__(SBPlatformConnectOptions self, char const * url) -> SBPlatformConnectOptions
8644        __init__(SBPlatformConnectOptions self, SBPlatformConnectOptions rhs) -> SBPlatformConnectOptions
8645        """
8646        _lldb.SBPlatformConnectOptions_swiginit(self, _lldb.new_SBPlatformConnectOptions(*args))
8647    __swig_destroy__ = _lldb.delete_SBPlatformConnectOptions
8648
8649    def GetURL(self):
8650        r"""GetURL(SBPlatformConnectOptions self) -> char const *"""
8651        return _lldb.SBPlatformConnectOptions_GetURL(self)
8652
8653    def SetURL(self, url):
8654        r"""SetURL(SBPlatformConnectOptions self, char const * url)"""
8655        return _lldb.SBPlatformConnectOptions_SetURL(self, url)
8656
8657    def GetRsyncEnabled(self):
8658        r"""GetRsyncEnabled(SBPlatformConnectOptions self) -> bool"""
8659        return _lldb.SBPlatformConnectOptions_GetRsyncEnabled(self)
8660
8661    def EnableRsync(self, options, remote_path_prefix, omit_remote_hostname):
8662        r"""EnableRsync(SBPlatformConnectOptions self, char const * options, char const * remote_path_prefix, bool omit_remote_hostname)"""
8663        return _lldb.SBPlatformConnectOptions_EnableRsync(self, options, remote_path_prefix, omit_remote_hostname)
8664
8665    def DisableRsync(self):
8666        r"""DisableRsync(SBPlatformConnectOptions self)"""
8667        return _lldb.SBPlatformConnectOptions_DisableRsync(self)
8668
8669    def GetLocalCacheDirectory(self):
8670        r"""GetLocalCacheDirectory(SBPlatformConnectOptions self) -> char const *"""
8671        return _lldb.SBPlatformConnectOptions_GetLocalCacheDirectory(self)
8672
8673    def SetLocalCacheDirectory(self, path):
8674        r"""SetLocalCacheDirectory(SBPlatformConnectOptions self, char const * path)"""
8675        return _lldb.SBPlatformConnectOptions_SetLocalCacheDirectory(self, path)
8676
8677# Register SBPlatformConnectOptions in _lldb:
8678_lldb.SBPlatformConnectOptions_swigregister(SBPlatformConnectOptions)
8679class SBPlatformShellCommand(object):
8680    r"""Represents a shell command that can be run by :py:class:`SBPlatform.Run`."""
8681
8682    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8683    __repr__ = _swig_repr
8684
8685    def __init__(self, *args):
8686        r"""
8687        __init__(SBPlatformShellCommand self, char const * shell, char const * shell_command) -> SBPlatformShellCommand
8688        __init__(SBPlatformShellCommand self, char const * shell_command) -> SBPlatformShellCommand
8689        __init__(SBPlatformShellCommand self, SBPlatformShellCommand rhs) -> SBPlatformShellCommand
8690        """
8691        _lldb.SBPlatformShellCommand_swiginit(self, _lldb.new_SBPlatformShellCommand(*args))
8692    __swig_destroy__ = _lldb.delete_SBPlatformShellCommand
8693
8694    def Clear(self):
8695        r"""Clear(SBPlatformShellCommand self)"""
8696        return _lldb.SBPlatformShellCommand_Clear(self)
8697
8698    def GetShell(self):
8699        r"""GetShell(SBPlatformShellCommand self) -> char const *"""
8700        return _lldb.SBPlatformShellCommand_GetShell(self)
8701
8702    def SetShell(self, shell):
8703        r"""SetShell(SBPlatformShellCommand self, char const * shell)"""
8704        return _lldb.SBPlatformShellCommand_SetShell(self, shell)
8705
8706    def GetCommand(self):
8707        r"""GetCommand(SBPlatformShellCommand self) -> char const *"""
8708        return _lldb.SBPlatformShellCommand_GetCommand(self)
8709
8710    def SetCommand(self, shell_command):
8711        r"""SetCommand(SBPlatformShellCommand self, char const * shell_command)"""
8712        return _lldb.SBPlatformShellCommand_SetCommand(self, shell_command)
8713
8714    def GetWorkingDirectory(self):
8715        r"""GetWorkingDirectory(SBPlatformShellCommand self) -> char const *"""
8716        return _lldb.SBPlatformShellCommand_GetWorkingDirectory(self)
8717
8718    def SetWorkingDirectory(self, path):
8719        r"""SetWorkingDirectory(SBPlatformShellCommand self, char const * path)"""
8720        return _lldb.SBPlatformShellCommand_SetWorkingDirectory(self, path)
8721
8722    def GetTimeoutSeconds(self):
8723        r"""GetTimeoutSeconds(SBPlatformShellCommand self) -> uint32_t"""
8724        return _lldb.SBPlatformShellCommand_GetTimeoutSeconds(self)
8725
8726    def SetTimeoutSeconds(self, sec):
8727        r"""SetTimeoutSeconds(SBPlatformShellCommand self, uint32_t sec)"""
8728        return _lldb.SBPlatformShellCommand_SetTimeoutSeconds(self, sec)
8729
8730    def GetSignal(self):
8731        r"""GetSignal(SBPlatformShellCommand self) -> int"""
8732        return _lldb.SBPlatformShellCommand_GetSignal(self)
8733
8734    def GetStatus(self):
8735        r"""GetStatus(SBPlatformShellCommand self) -> int"""
8736        return _lldb.SBPlatformShellCommand_GetStatus(self)
8737
8738    def GetOutput(self):
8739        r"""GetOutput(SBPlatformShellCommand self) -> char const *"""
8740        return _lldb.SBPlatformShellCommand_GetOutput(self)
8741
8742# Register SBPlatformShellCommand in _lldb:
8743_lldb.SBPlatformShellCommand_swigregister(SBPlatformShellCommand)
8744class SBPlatform(object):
8745    r"""
8746    A class that represents a platform that can represent the current host or a remote host debug platform.
8747
8748    The SBPlatform class represents the current host, or a remote host.
8749    It can be connected to a remote platform in order to provide ways
8750    to remotely launch and attach to processes, upload/download files,
8751    create directories, run remote shell commands, find locally cached
8752    versions of files from the remote system, and much more.
8753
8754    SBPlatform objects can be created and then used to connect to a remote
8755    platform which allows the SBPlatform to be used to get a list of the
8756    current processes on the remote host, attach to one of those processes,
8757    install programs on the remote system, attach and launch processes,
8758    and much more.
8759
8760    Every :py:class:`SBTarget` has a corresponding SBPlatform. The platform can be
8761    specified upon target creation, or the currently selected platform
8762    will attempt to be used when creating the target automatically as long
8763    as the currently selected platform matches the target architecture
8764    and executable type. If the architecture or executable type do not match,
8765    a suitable platform will be found automatically.
8766    """
8767
8768    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8769    __repr__ = _swig_repr
8770
8771    def __init__(self, *args):
8772        r"""
8773        __init__(SBPlatform self) -> SBPlatform
8774        __init__(SBPlatform self, char const * platform_name) -> SBPlatform
8775        __init__(SBPlatform self, SBPlatform rhs) -> SBPlatform
8776        """
8777        _lldb.SBPlatform_swiginit(self, _lldb.new_SBPlatform(*args))
8778    __swig_destroy__ = _lldb.delete_SBPlatform
8779
8780    @staticmethod
8781    def GetHostPlatform():
8782        r"""GetHostPlatform() -> SBPlatform"""
8783        return _lldb.SBPlatform_GetHostPlatform()
8784
8785    def __nonzero__(self):
8786        return _lldb.SBPlatform___nonzero__(self)
8787    __bool__ = __nonzero__
8788
8789
8790
8791    def IsValid(self):
8792        r"""IsValid(SBPlatform self) -> bool"""
8793        return _lldb.SBPlatform_IsValid(self)
8794
8795    def Clear(self):
8796        r"""Clear(SBPlatform self)"""
8797        return _lldb.SBPlatform_Clear(self)
8798
8799    def GetWorkingDirectory(self):
8800        r"""GetWorkingDirectory(SBPlatform self) -> char const *"""
8801        return _lldb.SBPlatform_GetWorkingDirectory(self)
8802
8803    def SetWorkingDirectory(self, path):
8804        r"""SetWorkingDirectory(SBPlatform self, char const * path) -> bool"""
8805        return _lldb.SBPlatform_SetWorkingDirectory(self, path)
8806
8807    def GetName(self):
8808        r"""GetName(SBPlatform self) -> char const *"""
8809        return _lldb.SBPlatform_GetName(self)
8810
8811    def ConnectRemote(self, connect_options):
8812        r"""ConnectRemote(SBPlatform self, SBPlatformConnectOptions connect_options) -> SBError"""
8813        return _lldb.SBPlatform_ConnectRemote(self, connect_options)
8814
8815    def DisconnectRemote(self):
8816        r"""DisconnectRemote(SBPlatform self)"""
8817        return _lldb.SBPlatform_DisconnectRemote(self)
8818
8819    def IsConnected(self):
8820        r"""IsConnected(SBPlatform self) -> bool"""
8821        return _lldb.SBPlatform_IsConnected(self)
8822
8823    def GetTriple(self):
8824        r"""GetTriple(SBPlatform self) -> char const *"""
8825        return _lldb.SBPlatform_GetTriple(self)
8826
8827    def GetHostname(self):
8828        r"""GetHostname(SBPlatform self) -> char const *"""
8829        return _lldb.SBPlatform_GetHostname(self)
8830
8831    def GetOSBuild(self):
8832        r"""GetOSBuild(SBPlatform self) -> char const *"""
8833        return _lldb.SBPlatform_GetOSBuild(self)
8834
8835    def GetOSDescription(self):
8836        r"""GetOSDescription(SBPlatform self) -> char const *"""
8837        return _lldb.SBPlatform_GetOSDescription(self)
8838
8839    def GetOSMajorVersion(self):
8840        r"""GetOSMajorVersion(SBPlatform self) -> uint32_t"""
8841        return _lldb.SBPlatform_GetOSMajorVersion(self)
8842
8843    def GetOSMinorVersion(self):
8844        r"""GetOSMinorVersion(SBPlatform self) -> uint32_t"""
8845        return _lldb.SBPlatform_GetOSMinorVersion(self)
8846
8847    def GetOSUpdateVersion(self):
8848        r"""GetOSUpdateVersion(SBPlatform self) -> uint32_t"""
8849        return _lldb.SBPlatform_GetOSUpdateVersion(self)
8850
8851    def SetSDKRoot(self, sysroot):
8852        r"""SetSDKRoot(SBPlatform self, char const * sysroot)"""
8853        return _lldb.SBPlatform_SetSDKRoot(self, sysroot)
8854
8855    def Put(self, src, dst):
8856        r"""Put(SBPlatform self, SBFileSpec src, SBFileSpec dst) -> SBError"""
8857        return _lldb.SBPlatform_Put(self, src, dst)
8858
8859    def Get(self, src, dst):
8860        r"""Get(SBPlatform self, SBFileSpec src, SBFileSpec dst) -> SBError"""
8861        return _lldb.SBPlatform_Get(self, src, dst)
8862
8863    def Install(self, src, dst):
8864        r"""Install(SBPlatform self, SBFileSpec src, SBFileSpec dst) -> SBError"""
8865        return _lldb.SBPlatform_Install(self, src, dst)
8866
8867    def Run(self, shell_command):
8868        r"""Run(SBPlatform self, SBPlatformShellCommand shell_command) -> SBError"""
8869        return _lldb.SBPlatform_Run(self, shell_command)
8870
8871    def Launch(self, launch_info):
8872        r"""Launch(SBPlatform self, SBLaunchInfo launch_info) -> SBError"""
8873        return _lldb.SBPlatform_Launch(self, launch_info)
8874
8875    def Attach(self, attach_info, debugger, target, error):
8876        r"""Attach(SBPlatform self, SBAttachInfo attach_info, SBDebugger debugger, SBTarget target, SBError error) -> SBProcess"""
8877        return _lldb.SBPlatform_Attach(self, attach_info, debugger, target, error)
8878
8879    def GetAllProcesses(self, error):
8880        r"""GetAllProcesses(SBPlatform self, SBError error) -> SBProcessInfoList"""
8881        return _lldb.SBPlatform_GetAllProcesses(self, error)
8882
8883    def Kill(self, pid):
8884        r"""Kill(SBPlatform self, lldb::pid_t const pid) -> SBError"""
8885        return _lldb.SBPlatform_Kill(self, pid)
8886
8887    def MakeDirectory(self, *args):
8888        r"""MakeDirectory(SBPlatform self, char const * path, uint32_t file_permissions=eFilePermissionsDirectoryDefault) -> SBError"""
8889        return _lldb.SBPlatform_MakeDirectory(self, *args)
8890
8891    def GetFilePermissions(self, path):
8892        r"""GetFilePermissions(SBPlatform self, char const * path) -> uint32_t"""
8893        return _lldb.SBPlatform_GetFilePermissions(self, path)
8894
8895    def SetFilePermissions(self, path, file_permissions):
8896        r"""SetFilePermissions(SBPlatform self, char const * path, uint32_t file_permissions) -> SBError"""
8897        return _lldb.SBPlatform_SetFilePermissions(self, path, file_permissions)
8898
8899    def GetUnixSignals(self):
8900        r"""GetUnixSignals(SBPlatform self) -> SBUnixSignals"""
8901        return _lldb.SBPlatform_GetUnixSignals(self)
8902
8903    def GetEnvironment(self):
8904        r"""GetEnvironment(SBPlatform self) -> SBEnvironment"""
8905        return _lldb.SBPlatform_GetEnvironment(self)
8906
8907    def SetLocateModuleCallback(self, callback):
8908        r"""SetLocateModuleCallback(SBPlatform self, lldb::SBPlatformLocateModuleCallback callback) -> SBError"""
8909        return _lldb.SBPlatform_SetLocateModuleCallback(self, callback)
8910
8911# Register SBPlatform in _lldb:
8912_lldb.SBPlatform_swigregister(SBPlatform)
8913class SBProcess(object):
8914    r"""
8915    Represents the process associated with the target program.
8916
8917    SBProcess supports thread iteration. For example (from test/lldbutil.py), ::
8918
8919        # ==================================================
8920        # Utility functions related to Threads and Processes
8921        # ==================================================
8922
8923        def get_stopped_threads(process, reason):
8924            '''Returns the thread(s) with the specified stop reason in a list.
8925
8926            The list can be empty if no such thread exists.
8927            '''
8928            threads = []
8929            for t in process:
8930                if t.GetStopReason() == reason:
8931                    threads.append(t)
8932            return threads
8933
8934    """
8935
8936    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8937    eBroadcastBitStateChanged = _lldb.SBProcess_eBroadcastBitStateChanged
8938
8939    eBroadcastBitInterrupt = _lldb.SBProcess_eBroadcastBitInterrupt
8940
8941    eBroadcastBitSTDOUT = _lldb.SBProcess_eBroadcastBitSTDOUT
8942
8943    eBroadcastBitSTDERR = _lldb.SBProcess_eBroadcastBitSTDERR
8944
8945    eBroadcastBitProfileData = _lldb.SBProcess_eBroadcastBitProfileData
8946
8947    eBroadcastBitStructuredData = _lldb.SBProcess_eBroadcastBitStructuredData
8948
8949
8950    def __init__(self, *args):
8951        r"""
8952        __init__(SBProcess self) -> SBProcess
8953        __init__(SBProcess self, SBProcess rhs) -> SBProcess
8954        """
8955        _lldb.SBProcess_swiginit(self, _lldb.new_SBProcess(*args))
8956    __swig_destroy__ = _lldb.delete_SBProcess
8957
8958    @staticmethod
8959    def GetBroadcasterClassName():
8960        r"""GetBroadcasterClassName() -> char const *"""
8961        return _lldb.SBProcess_GetBroadcasterClassName()
8962
8963    def GetPluginName(self):
8964        r"""GetPluginName(SBProcess self) -> char const *"""
8965        return _lldb.SBProcess_GetPluginName(self)
8966
8967    def GetShortPluginName(self):
8968        r"""GetShortPluginName(SBProcess self) -> char const *"""
8969        return _lldb.SBProcess_GetShortPluginName(self)
8970
8971    def Clear(self):
8972        r"""Clear(SBProcess self)"""
8973        return _lldb.SBProcess_Clear(self)
8974
8975    def __nonzero__(self):
8976        return _lldb.SBProcess___nonzero__(self)
8977    __bool__ = __nonzero__
8978
8979
8980
8981    def IsValid(self):
8982        r"""IsValid(SBProcess self) -> bool"""
8983        return _lldb.SBProcess_IsValid(self)
8984
8985    def GetTarget(self):
8986        r"""GetTarget(SBProcess self) -> SBTarget"""
8987        return _lldb.SBProcess_GetTarget(self)
8988
8989    def GetByteOrder(self):
8990        r"""GetByteOrder(SBProcess self) -> lldb::ByteOrder"""
8991        return _lldb.SBProcess_GetByteOrder(self)
8992
8993    def PutSTDIN(self, src):
8994        r"""
8995        PutSTDIN(SBProcess self, char const * src) -> size_t
8996
8997            Writes data into the current process's stdin. API client specifies a Python
8998            string as the only argument.
8999        """
9000        return _lldb.SBProcess_PutSTDIN(self, src)
9001
9002    def GetSTDOUT(self, dst):
9003        r"""
9004        GetSTDOUT(SBProcess self, char * dst) -> size_t
9005
9006            Reads data from the current process's stdout stream. API client specifies
9007            the size of the buffer to read data into. It returns the byte buffer in a
9008            Python string.
9009        """
9010        return _lldb.SBProcess_GetSTDOUT(self, dst)
9011
9012    def GetSTDERR(self, dst):
9013        r"""
9014        GetSTDERR(SBProcess self, char * dst) -> size_t
9015
9016            Reads data from the current process's stderr stream. API client specifies
9017            the size of the buffer to read data into. It returns the byte buffer in a
9018            Python string.
9019        """
9020        return _lldb.SBProcess_GetSTDERR(self, dst)
9021
9022    def GetAsyncProfileData(self, dst):
9023        r"""GetAsyncProfileData(SBProcess self, char * dst) -> size_t"""
9024        return _lldb.SBProcess_GetAsyncProfileData(self, dst)
9025
9026    def ReportEventState(self, *args):
9027        r"""
9028        ReportEventState(SBProcess self, SBEvent event, SBFile file)
9029        ReportEventState(SBProcess self, SBEvent event, lldb::FileSP BORROWED)
9030        """
9031        return _lldb.SBProcess_ReportEventState(self, *args)
9032
9033    def AppendEventStateReport(self, event, result):
9034        r"""AppendEventStateReport(SBProcess self, SBEvent event, SBCommandReturnObject result)"""
9035        return _lldb.SBProcess_AppendEventStateReport(self, event, result)
9036
9037    def RemoteAttachToProcessWithID(self, pid, error):
9038        r"""
9039        RemoteAttachToProcessWithID(SBProcess self, lldb::pid_t pid, SBError error) -> bool
9040
9041            Remote connection related functions. These will fail if the
9042            process is not in eStateConnected. They are intended for use
9043            when connecting to an externally managed debugserver instance.
9044        """
9045        return _lldb.SBProcess_RemoteAttachToProcessWithID(self, pid, error)
9046
9047    def RemoteLaunch(self, argv, envp, stdin_path, stdout_path, stderr_path, working_directory, launch_flags, stop_at_entry, error):
9048        r"""
9049        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
9050        See SBTarget.Launch for argument description and usage.
9051        """
9052        return _lldb.SBProcess_RemoteLaunch(self, argv, envp, stdin_path, stdout_path, stderr_path, working_directory, launch_flags, stop_at_entry, error)
9053
9054    def GetNumThreads(self):
9055        r"""GetNumThreads(SBProcess self) -> uint32_t"""
9056        return _lldb.SBProcess_GetNumThreads(self)
9057
9058    def GetThreadAtIndex(self, index):
9059        r"""
9060        GetThreadAtIndex(SBProcess self, size_t index) -> SBThread
9061
9062            Returns the INDEX'th thread from the list of current threads.  The index
9063            of a thread is only valid for the current stop.  For a persistent thread
9064            identifier use either the thread ID or the IndexID.  See help on SBThread
9065            for more details.
9066        """
9067        return _lldb.SBProcess_GetThreadAtIndex(self, index)
9068
9069    def GetThreadByID(self, sb_thread_id):
9070        r"""
9071        GetThreadByID(SBProcess self, lldb::tid_t sb_thread_id) -> SBThread
9072
9073            Returns the thread with the given thread ID.
9074        """
9075        return _lldb.SBProcess_GetThreadByID(self, sb_thread_id)
9076
9077    def GetThreadByIndexID(self, index_id):
9078        r"""
9079        GetThreadByIndexID(SBProcess self, uint32_t index_id) -> SBThread
9080
9081            Returns the thread with the given thread IndexID.
9082        """
9083        return _lldb.SBProcess_GetThreadByIndexID(self, index_id)
9084
9085    def GetSelectedThread(self):
9086        r"""
9087        GetSelectedThread(SBProcess self) -> SBThread
9088
9089            Returns the currently selected thread.
9090        """
9091        return _lldb.SBProcess_GetSelectedThread(self)
9092
9093    def CreateOSPluginThread(self, tid, context):
9094        r"""
9095        CreateOSPluginThread(SBProcess self, lldb::tid_t tid, lldb::addr_t context) -> SBThread
9096
9097            Lazily create a thread on demand through the current OperatingSystem plug-in, if the current OperatingSystem plug-in supports it.
9098        """
9099        return _lldb.SBProcess_CreateOSPluginThread(self, tid, context)
9100
9101    def SetSelectedThread(self, thread):
9102        r"""SetSelectedThread(SBProcess self, SBThread thread) -> bool"""
9103        return _lldb.SBProcess_SetSelectedThread(self, thread)
9104
9105    def SetSelectedThreadByID(self, tid):
9106        r"""SetSelectedThreadByID(SBProcess self, lldb::tid_t tid) -> bool"""
9107        return _lldb.SBProcess_SetSelectedThreadByID(self, tid)
9108
9109    def SetSelectedThreadByIndexID(self, index_id):
9110        r"""SetSelectedThreadByIndexID(SBProcess self, uint32_t index_id) -> bool"""
9111        return _lldb.SBProcess_SetSelectedThreadByIndexID(self, index_id)
9112
9113    def GetNumQueues(self):
9114        r"""GetNumQueues(SBProcess self) -> uint32_t"""
9115        return _lldb.SBProcess_GetNumQueues(self)
9116
9117    def GetQueueAtIndex(self, index):
9118        r"""GetQueueAtIndex(SBProcess self, size_t index) -> SBQueue"""
9119        return _lldb.SBProcess_GetQueueAtIndex(self, index)
9120
9121    def GetState(self):
9122        r"""GetState(SBProcess self) -> lldb::StateType"""
9123        return _lldb.SBProcess_GetState(self)
9124
9125    def GetExitStatus(self):
9126        r"""GetExitStatus(SBProcess self) -> int"""
9127        return _lldb.SBProcess_GetExitStatus(self)
9128
9129    def GetExitDescription(self):
9130        r"""GetExitDescription(SBProcess self) -> char const *"""
9131        return _lldb.SBProcess_GetExitDescription(self)
9132
9133    def GetProcessID(self):
9134        r"""
9135        GetProcessID(SBProcess self) -> lldb::pid_t
9136
9137            Returns the process ID of the process.
9138        """
9139        return _lldb.SBProcess_GetProcessID(self)
9140
9141    def GetUniqueID(self):
9142        r"""
9143        GetUniqueID(SBProcess self) -> uint32_t
9144
9145            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.
9146        """
9147        return _lldb.SBProcess_GetUniqueID(self)
9148
9149    def GetAddressByteSize(self):
9150        r"""GetAddressByteSize(SBProcess self) -> uint32_t"""
9151        return _lldb.SBProcess_GetAddressByteSize(self)
9152
9153    def Destroy(self):
9154        r"""
9155        Destroy(SBProcess self) -> SBError
9156
9157            Kills the process and shuts down all threads that were spawned to
9158            track and monitor process.
9159        """
9160        return _lldb.SBProcess_Destroy(self)
9161
9162    def Continue(self):
9163        r"""Continue(SBProcess self) -> SBError"""
9164        return _lldb.SBProcess_Continue(self)
9165
9166    def Stop(self):
9167        r"""Stop(SBProcess self) -> SBError"""
9168        return _lldb.SBProcess_Stop(self)
9169
9170    def Kill(self):
9171        r"""
9172        Kill(SBProcess self) -> SBError
9173        Same as Destroy(self).
9174        """
9175        return _lldb.SBProcess_Kill(self)
9176
9177    def Detach(self, *args):
9178        r"""
9179        Detach(SBProcess self) -> SBError
9180        Detach(SBProcess self, bool keep_stopped) -> SBError
9181        """
9182        return _lldb.SBProcess_Detach(self, *args)
9183
9184    def Signal(self, signal):
9185        r"""
9186        Signal(SBProcess self, int signal) -> SBError
9187        Sends the process a unix signal.
9188        """
9189        return _lldb.SBProcess_Signal(self, signal)
9190
9191    def GetUnixSignals(self):
9192        r"""GetUnixSignals(SBProcess self) -> SBUnixSignals"""
9193        return _lldb.SBProcess_GetUnixSignals(self)
9194
9195    def SendAsyncInterrupt(self):
9196        r"""SendAsyncInterrupt(SBProcess self)"""
9197        return _lldb.SBProcess_SendAsyncInterrupt(self)
9198
9199    def GetStopID(self, include_expression_stops=False):
9200        r"""
9201        GetStopID(SBProcess self, bool include_expression_stops=False) -> uint32_t
9202
9203            Returns a stop id that will increase every time the process executes.  If
9204            include_expression_stops is true, then stops caused by expression evaluation
9205            will cause the returned value to increase, otherwise the counter returned will
9206            only increase when execution is continued explicitly by the user.  Note, the value
9207            will always increase, but may increase by more than one per stop.
9208        """
9209        return _lldb.SBProcess_GetStopID(self, include_expression_stops)
9210
9211    def GetStopEventForStopID(self, stop_id):
9212        r"""GetStopEventForStopID(SBProcess self, uint32_t stop_id) -> SBEvent"""
9213        return _lldb.SBProcess_GetStopEventForStopID(self, stop_id)
9214
9215    def ForceScriptedState(self, new_state):
9216        r"""ForceScriptedState(SBProcess self, lldb::StateType new_state)"""
9217        return _lldb.SBProcess_ForceScriptedState(self, new_state)
9218
9219    def ReadMemory(self, addr, buf, error):
9220        r"""
9221        ReadMemory(SBProcess self, lldb::addr_t addr, void * buf, SBError error) -> size_t
9222
9223            Reads memory from the current process's address space and removes any
9224            traps that may have been inserted into the memory. It returns the byte
9225            buffer in a Python string. Example: ::
9226
9227                # Read 4 bytes from address 'addr' and assume error.Success() is True.
9228                content = process.ReadMemory(addr, 4, error)
9229                new_bytes = bytearray(content)
9230        """
9231        return _lldb.SBProcess_ReadMemory(self, addr, buf, error)
9232
9233    def WriteMemory(self, addr, buf, error):
9234        r"""
9235        WriteMemory(SBProcess self, lldb::addr_t addr, void const * buf, SBError error) -> size_t
9236
9237            Writes memory to the current process's address space and maintains any
9238            traps that might be present due to software breakpoints. Example: ::
9239
9240                # Create a Python string from the byte array.
9241                new_value = str(bytes)
9242                result = process.WriteMemory(addr, new_value, error)
9243                if not error.Success() or result != len(bytes):
9244                    print('SBProcess.WriteMemory() failed!')
9245        """
9246        return _lldb.SBProcess_WriteMemory(self, addr, buf, error)
9247
9248    def ReadCStringFromMemory(self, addr, char_buf, error):
9249        r"""
9250        ReadCStringFromMemory(SBProcess self, lldb::addr_t addr, void * char_buf, SBError error) -> size_t
9251
9252            Reads a NUL terminated C string from the current process's address space.
9253            It returns a python string of the exact length, or truncates the string if
9254            the maximum character limit is reached. Example: ::
9255
9256                # Read a C string of at most 256 bytes from address '0x1000'
9257                error = lldb.SBError()
9258                cstring = process.ReadCStringFromMemory(0x1000, 256, error)
9259                if error.Success():
9260                    print('cstring: ', cstring)
9261                else
9262                    print('error: ', error)
9263        """
9264        return _lldb.SBProcess_ReadCStringFromMemory(self, addr, char_buf, error)
9265
9266    def ReadUnsignedFromMemory(self, addr, byte_size, error):
9267        r"""
9268        ReadUnsignedFromMemory(SBProcess self, lldb::addr_t addr, uint32_t byte_size, SBError error) -> uint64_t
9269
9270            Reads an unsigned integer from memory given a byte size and an address.
9271            Returns the unsigned integer that was read. Example: ::
9272
9273                # Read a 4 byte unsigned integer from address 0x1000
9274                error = lldb.SBError()
9275                uint = ReadUnsignedFromMemory(0x1000, 4, error)
9276                if error.Success():
9277                    print('integer: %u' % uint)
9278                else
9279                    print('error: ', error)
9280        """
9281        return _lldb.SBProcess_ReadUnsignedFromMemory(self, addr, byte_size, error)
9282
9283    def ReadPointerFromMemory(self, addr, error):
9284        r"""
9285        ReadPointerFromMemory(SBProcess self, lldb::addr_t addr, SBError error) -> lldb::addr_t
9286
9287            Reads a pointer from memory from an address and returns the value. Example: ::
9288
9289                # Read a pointer from address 0x1000
9290                error = lldb.SBError()
9291                ptr = ReadPointerFromMemory(0x1000, error)
9292                if error.Success():
9293                    print('pointer: 0x%x' % ptr)
9294                else
9295                    print('error: ', error)
9296        """
9297        return _lldb.SBProcess_ReadPointerFromMemory(self, addr, error)
9298
9299    def FindRangesInMemory(self, buf, ranges, alignment, max_matches, error):
9300        r"""FindRangesInMemory(SBProcess self, void const * buf, SBAddressRangeList ranges, uint32_t alignment, uint32_t max_matches, SBError error) -> SBAddressRangeList"""
9301        return _lldb.SBProcess_FindRangesInMemory(self, buf, ranges, alignment, max_matches, error)
9302
9303    def FindInMemory(self, buf, range, alignment, error):
9304        r"""FindInMemory(SBProcess self, void const * buf, SBAddressRange range, uint32_t alignment, SBError error) -> lldb::addr_t"""
9305        return _lldb.SBProcess_FindInMemory(self, buf, range, alignment, error)
9306
9307    @staticmethod
9308    def GetStateFromEvent(event):
9309        r"""GetStateFromEvent(SBEvent event) -> lldb::StateType"""
9310        return _lldb.SBProcess_GetStateFromEvent(event)
9311
9312    @staticmethod
9313    def GetRestartedFromEvent(event):
9314        r"""GetRestartedFromEvent(SBEvent event) -> bool"""
9315        return _lldb.SBProcess_GetRestartedFromEvent(event)
9316
9317    @staticmethod
9318    def GetNumRestartedReasonsFromEvent(event):
9319        r"""GetNumRestartedReasonsFromEvent(SBEvent event) -> size_t"""
9320        return _lldb.SBProcess_GetNumRestartedReasonsFromEvent(event)
9321
9322    @staticmethod
9323    def GetRestartedReasonAtIndexFromEvent(event, idx):
9324        r"""GetRestartedReasonAtIndexFromEvent(SBEvent event, size_t idx) -> char const *"""
9325        return _lldb.SBProcess_GetRestartedReasonAtIndexFromEvent(event, idx)
9326
9327    @staticmethod
9328    def GetProcessFromEvent(event):
9329        r"""GetProcessFromEvent(SBEvent event) -> SBProcess"""
9330        return _lldb.SBProcess_GetProcessFromEvent(event)
9331
9332    @staticmethod
9333    def GetInterruptedFromEvent(event):
9334        r"""GetInterruptedFromEvent(SBEvent event) -> bool"""
9335        return _lldb.SBProcess_GetInterruptedFromEvent(event)
9336
9337    @staticmethod
9338    def GetStructuredDataFromEvent(event):
9339        r"""GetStructuredDataFromEvent(SBEvent event) -> SBStructuredData"""
9340        return _lldb.SBProcess_GetStructuredDataFromEvent(event)
9341
9342    @staticmethod
9343    def EventIsProcessEvent(event):
9344        r"""EventIsProcessEvent(SBEvent event) -> bool"""
9345        return _lldb.SBProcess_EventIsProcessEvent(event)
9346
9347    @staticmethod
9348    def EventIsStructuredDataEvent(event):
9349        r"""EventIsStructuredDataEvent(SBEvent event) -> bool"""
9350        return _lldb.SBProcess_EventIsStructuredDataEvent(event)
9351
9352    def GetBroadcaster(self):
9353        r"""GetBroadcaster(SBProcess self) -> SBBroadcaster"""
9354        return _lldb.SBProcess_GetBroadcaster(self)
9355
9356    @staticmethod
9357    def GetBroadcasterClass():
9358        r"""
9359        GetBroadcasterClass() -> char const *
9360        Get default process broadcaster class name (lldb.process).
9361        """
9362        return _lldb.SBProcess_GetBroadcasterClass()
9363
9364    def GetDescription(self, description):
9365        r"""GetDescription(SBProcess self, SBStream description) -> bool"""
9366        return _lldb.SBProcess_GetDescription(self, description)
9367
9368    def GetExtendedCrashInformation(self):
9369        r"""
9370        GetExtendedCrashInformation(SBProcess self) -> SBStructuredData
9371
9372            Returns the process' extended crash information.
9373        """
9374        return _lldb.SBProcess_GetExtendedCrashInformation(self)
9375
9376    def GetNumSupportedHardwareWatchpoints(self, error):
9377        r"""GetNumSupportedHardwareWatchpoints(SBProcess self, SBError error) -> uint32_t"""
9378        return _lldb.SBProcess_GetNumSupportedHardwareWatchpoints(self, error)
9379
9380    def LoadImage(self, *args):
9381        r"""
9382        LoadImage(SBProcess self, SBFileSpec remote_image_spec, SBError error) -> uint32_t
9383        LoadImage(SBProcess self, SBFileSpec local_image_spec, SBFileSpec remote_image_spec, SBError error) -> uint32_t
9384        """
9385        return _lldb.SBProcess_LoadImage(self, *args)
9386
9387    def LoadImageUsingPaths(self, image_spec, paths, loaded_path, error):
9388        r"""
9389        LoadImageUsingPaths(SBProcess self, SBFileSpec image_spec, SBStringList paths, SBFileSpec loaded_path, SBError error) -> uint32_t
9390
9391            Load the library whose filename is given by image_spec looking in all the
9392            paths supplied in the paths argument.  If successful, return a token that
9393            can be passed to UnloadImage and fill loaded_path with the path that was
9394            successfully loaded.  On failure, return
9395            lldb.LLDB_INVALID_IMAGE_TOKEN.
9396        """
9397        return _lldb.SBProcess_LoadImageUsingPaths(self, image_spec, paths, loaded_path, error)
9398
9399    def UnloadImage(self, image_token):
9400        r"""UnloadImage(SBProcess self, uint32_t image_token) -> SBError"""
9401        return _lldb.SBProcess_UnloadImage(self, image_token)
9402
9403    def SendEventData(self, data):
9404        r"""SendEventData(SBProcess self, char const * data) -> SBError"""
9405        return _lldb.SBProcess_SendEventData(self, data)
9406
9407    def GetNumExtendedBacktraceTypes(self):
9408        r"""
9409        GetNumExtendedBacktraceTypes(SBProcess self) -> uint32_t
9410
9411            Return the number of different thread-origin extended backtraces
9412            this process can support as a uint32_t.
9413            When the process is stopped and you have an SBThread, lldb may be
9414            able to show a backtrace of when that thread was originally created,
9415            or the work item was enqueued to it (in the case of a libdispatch
9416            queue).
9417        """
9418        return _lldb.SBProcess_GetNumExtendedBacktraceTypes(self)
9419
9420    def GetExtendedBacktraceTypeAtIndex(self, idx):
9421        r"""
9422        GetExtendedBacktraceTypeAtIndex(SBProcess self, uint32_t idx) -> char const *
9423
9424            Takes an index argument, returns the name of one of the thread-origin
9425            extended backtrace methods as a str.
9426        """
9427        return _lldb.SBProcess_GetExtendedBacktraceTypeAtIndex(self, idx)
9428
9429    def GetHistoryThreads(self, addr):
9430        r"""GetHistoryThreads(SBProcess self, lldb::addr_t addr) -> SBThreadCollection"""
9431        return _lldb.SBProcess_GetHistoryThreads(self, addr)
9432
9433    def IsInstrumentationRuntimePresent(self, type):
9434        r"""IsInstrumentationRuntimePresent(SBProcess self, lldb::InstrumentationRuntimeType type) -> bool"""
9435        return _lldb.SBProcess_IsInstrumentationRuntimePresent(self, type)
9436
9437    def SaveCore(self, *args):
9438        r"""
9439        SaveCore(SBProcess self, char const * file_name, char const * flavor, lldb::SaveCoreStyle core_style) -> SBError
9440        SaveCore(SBProcess self, char const * file_name) -> SBError
9441        SaveCore(SBProcess self, SBSaveCoreOptions options) -> SBError
9442        """
9443        return _lldb.SBProcess_SaveCore(self, *args)
9444
9445    def GetMemoryRegionInfo(self, load_addr, region_info):
9446        r"""GetMemoryRegionInfo(SBProcess self, lldb::addr_t load_addr, SBMemoryRegionInfo region_info) -> SBError"""
9447        return _lldb.SBProcess_GetMemoryRegionInfo(self, load_addr, region_info)
9448
9449    def GetMemoryRegions(self):
9450        r"""GetMemoryRegions(SBProcess self) -> SBMemoryRegionInfoList"""
9451        return _lldb.SBProcess_GetMemoryRegions(self)
9452
9453    def GetProcessInfo(self):
9454        r"""
9455        GetProcessInfo(SBProcess self) -> SBProcessInfo
9456
9457            Get information about the process.
9458            Valid process info will only be returned when the process is alive,
9459            use IsValid() to check if the info returned is valid. ::
9460
9461                process_info = process.GetProcessInfo()
9462                if process_info.IsValid():
9463                    process_info.GetProcessID()
9464        """
9465        return _lldb.SBProcess_GetProcessInfo(self)
9466
9467    def GetCoreFile(self):
9468        r"""GetCoreFile(SBProcess self) -> SBFileSpec"""
9469        return _lldb.SBProcess_GetCoreFile(self)
9470
9471    def GetAddressMask(self, *args):
9472        r"""
9473        GetAddressMask(SBProcess self, lldb::AddressMaskType type, lldb::AddressMaskRange addr_range=eAddressMaskRangeLow) -> lldb::addr_t
9474
9475            Get the current address mask in this Process of a given type.
9476            There are lldb.eAddressMaskTypeCode and lldb.eAddressMaskTypeData address
9477            masks, and on most Targets, the the Data address mask is more general
9478            because there are no alignment restrictions, as there can be with Code
9479            addresses.
9480            lldb.eAddressMaskTypeAny may be used to get the most general mask.
9481            The bits which are not used for addressing are set to 1 in the returned
9482            mask.
9483            In an unusual environment with different address masks for high and low
9484            memory, this may also be specified.  This is uncommon, default is
9485            lldb.eAddressMaskRangeLow.
9486        """
9487        return _lldb.SBProcess_GetAddressMask(self, *args)
9488
9489    def SetAddressMask(self, *args):
9490        r"""
9491        SetAddressMask(SBProcess self, lldb::AddressMaskType type, lldb::addr_t mask, lldb::AddressMaskRange addr_range=eAddressMaskRangeLow)
9492
9493            Set the current address mask in this Process for a given type,
9494            lldb.eAddressMaskTypeCode or lldb.eAddressMaskTypeData.  Bits that are not
9495            used for addressing should be set to 1 in the mask.
9496            When setting all masks, lldb.eAddressMaskTypeAll may be specified.
9497            In an unusual environment with different address masks for high and low
9498            memory, this may also be specified.  This is uncommon, default is
9499            lldb.eAddressMaskRangeLow.
9500        """
9501        return _lldb.SBProcess_SetAddressMask(self, *args)
9502
9503    def SetAddressableBits(self, *args):
9504        r"""
9505        SetAddressableBits(SBProcess self, lldb::AddressMaskType type, uint32_t num_bits, lldb::AddressMaskRange addr_range=eAddressMaskRangeLow)
9506
9507            Set the number of low bits relevant for addressing in this Process
9508            for a given type, lldb.eAddressMaskTypeCode or lldb.eAddressMaskTypeData.
9509            When setting all masks, lldb.eAddressMaskTypeAll may be specified.
9510            In an unusual environment with different address masks for high and low
9511            memory, the address range  may also be specified.  This is uncommon,
9512            default is lldb.eAddressMaskRangeLow.
9513        """
9514        return _lldb.SBProcess_SetAddressableBits(self, *args)
9515
9516    def FixAddress(self, *args):
9517        r"""
9518        FixAddress(SBProcess self, lldb::addr_t addr, lldb::AddressMaskType type=eAddressMaskTypeAny) -> lldb::addr_t
9519
9520            Given a virtual address, clear the bits that are not used for addressing
9521            (and may be used for metadata, memory tagging, point authentication, etc).
9522            By default the most general mask, lldb.eAddressMaskTypeAny is used to
9523            process the address, but lldb.eAddressMaskTypeData and
9524            lldb.eAddressMaskTypeCode may be specified if the type of address is known.
9525        """
9526        return _lldb.SBProcess_FixAddress(self, *args)
9527
9528    def AllocateMemory(self, size, permissions, error):
9529        r"""
9530        AllocateMemory(SBProcess self, size_t size, uint32_t permissions, SBError error) -> lldb::addr_t
9531
9532            Allocates a block of memory within the process, with size and
9533            access permissions specified in the arguments. The permissions
9534            argument is an or-combination of zero or more of
9535            lldb.ePermissionsWritable, lldb.ePermissionsReadable, and
9536            lldb.ePermissionsExecutable. Returns the address
9537            of the allocated buffer in the process, or
9538            lldb.LLDB_INVALID_ADDRESS if the allocation failed.
9539        """
9540        return _lldb.SBProcess_AllocateMemory(self, size, permissions, error)
9541
9542    def DeallocateMemory(self, ptr):
9543        r"""
9544        DeallocateMemory(SBProcess self, lldb::addr_t ptr) -> SBError
9545
9546            Deallocates the block of memory (previously allocated using
9547            AllocateMemory) given in the argument.
9548        """
9549        return _lldb.SBProcess_DeallocateMemory(self, ptr)
9550
9551    def GetScriptedImplementation(self):
9552        r"""
9553        GetScriptedImplementation(SBProcess self) -> SBScriptObject
9554
9555            Returns the implementation object of the process plugin if available. None
9556            otherwise.
9557        """
9558        return _lldb.SBProcess_GetScriptedImplementation(self)
9559
9560    def GetStatus(self, status):
9561        r"""GetStatus(SBProcess self, SBStream status)"""
9562        return _lldb.SBProcess_GetStatus(self, status)
9563
9564    def __repr__(self):
9565        r"""__repr__(SBProcess self) -> std::string"""
9566        return _lldb.SBProcess___repr__(self)
9567
9568    def WriteMemoryAsCString(self, addr, str, error):
9569        '''
9570          WriteMemoryAsCString(self, addr, str, error):
9571            This functions the same as `WriteMemory` except a null-terminator is appended
9572            to the end of the buffer if it is not there already.
9573        '''
9574        if not str or len(str) == 0:
9575            return 0
9576        if not str[-1] == '\0':
9577            str += '\0'
9578        return self.WriteMemory(addr, str, error)
9579
9580    def __get_is_alive__(self):
9581        '''Returns "True" if the process is currently alive, "False" otherwise'''
9582        s = self.GetState()
9583        if (s == eStateAttaching or
9584            s == eStateLaunching or
9585            s == eStateStopped or
9586            s == eStateRunning or
9587            s == eStateStepping or
9588            s == eStateCrashed or
9589            s == eStateSuspended):
9590            return True
9591        return False
9592
9593    def __get_is_running__(self):
9594        '''Returns "True" if the process is currently running, "False" otherwise'''
9595        state = self.GetState()
9596        if state == eStateRunning or state == eStateStepping:
9597            return True
9598        return False
9599
9600    def __get_is_stopped__(self):
9601        '''Returns "True" if the process is currently stopped, "False" otherwise'''
9602        state = self.GetState()
9603        if state == eStateStopped or state == eStateCrashed or state == eStateSuspended:
9604            return True
9605        return False
9606
9607    class threads_access(object):
9608        '''A helper object that will lazily hand out thread for a process when supplied an index.'''
9609        def __init__(self, sbprocess):
9610            self.sbprocess = sbprocess
9611
9612        def __len__(self):
9613            if self.sbprocess:
9614                return int(self.sbprocess.GetNumThreads())
9615            return 0
9616
9617        def __getitem__(self, key):
9618            if isinstance(key, int):
9619                count = len(self)
9620                if -count <= key < count:
9621                    key %= count
9622                    return self.sbprocess.GetThreadAtIndex(key)
9623            return None
9624
9625    def get_threads_access_object(self):
9626        '''An accessor function that returns a modules_access() object which allows lazy thread access from a lldb.SBProcess object.'''
9627        return self.threads_access (self)
9628
9629    def get_process_thread_list(self):
9630        '''An accessor function that returns a list() that contains all threads in a lldb.SBProcess object.'''
9631        threads = []
9632        accessor = self.get_threads_access_object()
9633        for idx in range(len(accessor)):
9634            threads.append(accessor[idx])
9635        return threads
9636
9637    def __iter__(self):
9638        '''Iterate over all threads in a lldb.SBProcess object.'''
9639        return lldb_iter(self, 'GetNumThreads', 'GetThreadAtIndex')
9640
9641    def __len__(self):
9642        '''Return the number of threads in a lldb.SBProcess object.'''
9643        return self.GetNumThreads()
9644
9645    def __int__(self):
9646        return self.GetProcessID()
9647
9648    threads = property(get_process_thread_list, None, doc='''A read only property that returns a list() of lldb.SBThread objects for this process.''')
9649    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]).''')
9650    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.''')
9651    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.''')
9652    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.''')
9653    id = property(GetProcessID, None, doc='''A read only property that returns the process ID as an integer.''')
9654    target = property(GetTarget, None, doc='''A read only property that an lldb object that represents the target (lldb.SBTarget) that owns this process.''')
9655    num_threads = property(GetNumThreads, None, doc='''A read only property that returns the number of threads in this process as an integer.''')
9656    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.''')
9657    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.).''')
9658    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.''')
9659    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.''')
9660    broadcaster = property(GetBroadcaster, None, doc='''A read only property that an lldb object that represents the broadcaster (lldb.SBBroadcaster) for this process.''')
9661
9662
9663# Register SBProcess in _lldb:
9664_lldb.SBProcess_swigregister(SBProcess)
9665class SBProcessInfo(object):
9666    r"""
9667    Describes an existing process and any discoverable information that pertains to
9668    that process.
9669    """
9670
9671    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9672    __repr__ = _swig_repr
9673
9674    def __init__(self, *args):
9675        r"""
9676        __init__(SBProcessInfo self) -> SBProcessInfo
9677        __init__(SBProcessInfo self, SBProcessInfo rhs) -> SBProcessInfo
9678        """
9679        _lldb.SBProcessInfo_swiginit(self, _lldb.new_SBProcessInfo(*args))
9680    __swig_destroy__ = _lldb.delete_SBProcessInfo
9681
9682    def __nonzero__(self):
9683        return _lldb.SBProcessInfo___nonzero__(self)
9684    __bool__ = __nonzero__
9685
9686
9687
9688    def IsValid(self):
9689        r"""IsValid(SBProcessInfo self) -> bool"""
9690        return _lldb.SBProcessInfo_IsValid(self)
9691
9692    def GetName(self):
9693        r"""GetName(SBProcessInfo self) -> char const *"""
9694        return _lldb.SBProcessInfo_GetName(self)
9695
9696    def GetExecutableFile(self):
9697        r"""GetExecutableFile(SBProcessInfo self) -> SBFileSpec"""
9698        return _lldb.SBProcessInfo_GetExecutableFile(self)
9699
9700    def GetProcessID(self):
9701        r"""GetProcessID(SBProcessInfo self) -> lldb::pid_t"""
9702        return _lldb.SBProcessInfo_GetProcessID(self)
9703
9704    def GetUserID(self):
9705        r"""GetUserID(SBProcessInfo self) -> uint32_t"""
9706        return _lldb.SBProcessInfo_GetUserID(self)
9707
9708    def GetGroupID(self):
9709        r"""GetGroupID(SBProcessInfo self) -> uint32_t"""
9710        return _lldb.SBProcessInfo_GetGroupID(self)
9711
9712    def UserIDIsValid(self):
9713        r"""UserIDIsValid(SBProcessInfo self) -> bool"""
9714        return _lldb.SBProcessInfo_UserIDIsValid(self)
9715
9716    def GroupIDIsValid(self):
9717        r"""GroupIDIsValid(SBProcessInfo self) -> bool"""
9718        return _lldb.SBProcessInfo_GroupIDIsValid(self)
9719
9720    def GetEffectiveUserID(self):
9721        r"""GetEffectiveUserID(SBProcessInfo self) -> uint32_t"""
9722        return _lldb.SBProcessInfo_GetEffectiveUserID(self)
9723
9724    def GetEffectiveGroupID(self):
9725        r"""GetEffectiveGroupID(SBProcessInfo self) -> uint32_t"""
9726        return _lldb.SBProcessInfo_GetEffectiveGroupID(self)
9727
9728    def EffectiveUserIDIsValid(self):
9729        r"""EffectiveUserIDIsValid(SBProcessInfo self) -> bool"""
9730        return _lldb.SBProcessInfo_EffectiveUserIDIsValid(self)
9731
9732    def EffectiveGroupIDIsValid(self):
9733        r"""EffectiveGroupIDIsValid(SBProcessInfo self) -> bool"""
9734        return _lldb.SBProcessInfo_EffectiveGroupIDIsValid(self)
9735
9736    def GetParentProcessID(self):
9737        r"""GetParentProcessID(SBProcessInfo self) -> lldb::pid_t"""
9738        return _lldb.SBProcessInfo_GetParentProcessID(self)
9739
9740    def GetTriple(self):
9741        r"""
9742        GetTriple(SBProcessInfo self) -> char const *
9743        Return the target triple (arch-vendor-os) for the described process.
9744        """
9745        return _lldb.SBProcessInfo_GetTriple(self)
9746
9747# Register SBProcessInfo in _lldb:
9748_lldb.SBProcessInfo_swigregister(SBProcessInfo)
9749class SBProcessInfoList(object):
9750    r"""Proxy of C++ lldb::SBProcessInfoList class."""
9751
9752    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9753    __repr__ = _swig_repr
9754    __swig_destroy__ = _lldb.delete_SBProcessInfoList
9755
9756    def __init__(self, *args):
9757        r"""
9758        __init__(SBProcessInfoList self) -> SBProcessInfoList
9759        __init__(SBProcessInfoList self, SBProcessInfoList rhs) -> SBProcessInfoList
9760        """
9761        _lldb.SBProcessInfoList_swiginit(self, _lldb.new_SBProcessInfoList(*args))
9762
9763    def GetSize(self):
9764        r"""GetSize(SBProcessInfoList self) -> uint32_t"""
9765        return _lldb.SBProcessInfoList_GetSize(self)
9766
9767    def GetProcessInfoAtIndex(self, idx, info):
9768        r"""GetProcessInfoAtIndex(SBProcessInfoList self, uint32_t idx, SBProcessInfo info) -> bool"""
9769        return _lldb.SBProcessInfoList_GetProcessInfoAtIndex(self, idx, info)
9770
9771    def Clear(self):
9772        r"""Clear(SBProcessInfoList self)"""
9773        return _lldb.SBProcessInfoList_Clear(self)
9774
9775    def __len__(self):
9776      '''Return the number of process info in a lldb.SBProcessInfoListExtensions object.'''
9777      return self.GetSize()
9778
9779    def __iter__(self):
9780      '''Iterate over all the process info in a lldb.SBProcessInfoListExtensions object.'''
9781      return lldb_iter(self, 'GetSize', 'GetProcessInfoAtIndex')
9782
9783
9784# Register SBProcessInfoList in _lldb:
9785_lldb.SBProcessInfoList_swigregister(SBProcessInfoList)
9786class SBQueue(object):
9787    r"""Represents a libdispatch queue in the process."""
9788
9789    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9790    __repr__ = _swig_repr
9791
9792    def __init__(self, *args):
9793        r"""
9794        __init__(SBQueue self) -> SBQueue
9795        __init__(SBQueue self, SBQueue rhs) -> SBQueue
9796        """
9797        _lldb.SBQueue_swiginit(self, _lldb.new_SBQueue(*args))
9798    __swig_destroy__ = _lldb.delete_SBQueue
9799
9800    def __nonzero__(self):
9801        return _lldb.SBQueue___nonzero__(self)
9802    __bool__ = __nonzero__
9803
9804
9805
9806    def IsValid(self):
9807        r"""IsValid(SBQueue self) -> bool"""
9808        return _lldb.SBQueue_IsValid(self)
9809
9810    def Clear(self):
9811        r"""Clear(SBQueue self)"""
9812        return _lldb.SBQueue_Clear(self)
9813
9814    def GetProcess(self):
9815        r"""GetProcess(SBQueue self) -> SBProcess"""
9816        return _lldb.SBQueue_GetProcess(self)
9817
9818    def GetQueueID(self):
9819        r"""
9820        GetQueueID(SBQueue self) -> lldb::queue_id_t
9821
9822            Returns an lldb::queue_id_t type unique identifier number for this
9823            queue that will not be used by any other queue during this process'
9824            execution.  These ID numbers often start at 1 with the first
9825            system-created queues and increment from there.
9826        """
9827        return _lldb.SBQueue_GetQueueID(self)
9828
9829    def GetName(self):
9830        r"""GetName(SBQueue self) -> char const *"""
9831        return _lldb.SBQueue_GetName(self)
9832
9833    def GetIndexID(self):
9834        r"""GetIndexID(SBQueue self) -> uint32_t"""
9835        return _lldb.SBQueue_GetIndexID(self)
9836
9837    def GetNumThreads(self):
9838        r"""GetNumThreads(SBQueue self) -> uint32_t"""
9839        return _lldb.SBQueue_GetNumThreads(self)
9840
9841    def GetThreadAtIndex(self, arg2):
9842        r"""GetThreadAtIndex(SBQueue self, uint32_t arg2) -> SBThread"""
9843        return _lldb.SBQueue_GetThreadAtIndex(self, arg2)
9844
9845    def GetNumPendingItems(self):
9846        r"""GetNumPendingItems(SBQueue self) -> uint32_t"""
9847        return _lldb.SBQueue_GetNumPendingItems(self)
9848
9849    def GetPendingItemAtIndex(self, arg2):
9850        r"""GetPendingItemAtIndex(SBQueue self, uint32_t arg2) -> SBQueueItem"""
9851        return _lldb.SBQueue_GetPendingItemAtIndex(self, arg2)
9852
9853    def GetNumRunningItems(self):
9854        r"""GetNumRunningItems(SBQueue self) -> uint32_t"""
9855        return _lldb.SBQueue_GetNumRunningItems(self)
9856
9857    def GetKind(self):
9858        r"""
9859        GetKind(SBQueue self) -> lldb::QueueKind
9860
9861            Returns an lldb::QueueKind enumerated value (e.g. eQueueKindUnknown,
9862            eQueueKindSerial, eQueueKindConcurrent) describing the type of this
9863            queue.
9864        """
9865        return _lldb.SBQueue_GetKind(self)
9866
9867# Register SBQueue in _lldb:
9868_lldb.SBQueue_swigregister(SBQueue)
9869class SBQueueItem(object):
9870    r"""This class represents an item in an :py:class:`SBQueue`."""
9871
9872    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9873    __repr__ = _swig_repr
9874
9875    def __init__(self):
9876        r"""__init__(SBQueueItem self) -> SBQueueItem"""
9877        _lldb.SBQueueItem_swiginit(self, _lldb.new_SBQueueItem())
9878    __swig_destroy__ = _lldb.delete_SBQueueItem
9879
9880    def __nonzero__(self):
9881        return _lldb.SBQueueItem___nonzero__(self)
9882    __bool__ = __nonzero__
9883
9884
9885
9886    def IsValid(self):
9887        r"""IsValid(SBQueueItem self) -> bool"""
9888        return _lldb.SBQueueItem_IsValid(self)
9889
9890    def Clear(self):
9891        r"""Clear(SBQueueItem self)"""
9892        return _lldb.SBQueueItem_Clear(self)
9893
9894    def GetKind(self):
9895        r"""GetKind(SBQueueItem self) -> lldb::QueueItemKind"""
9896        return _lldb.SBQueueItem_GetKind(self)
9897
9898    def SetKind(self, kind):
9899        r"""SetKind(SBQueueItem self, lldb::QueueItemKind kind)"""
9900        return _lldb.SBQueueItem_SetKind(self, kind)
9901
9902    def GetAddress(self):
9903        r"""GetAddress(SBQueueItem self) -> SBAddress"""
9904        return _lldb.SBQueueItem_GetAddress(self)
9905
9906    def SetAddress(self, addr):
9907        r"""SetAddress(SBQueueItem self, SBAddress addr)"""
9908        return _lldb.SBQueueItem_SetAddress(self, addr)
9909
9910    def GetExtendedBacktraceThread(self, type):
9911        r"""GetExtendedBacktraceThread(SBQueueItem self, char const * type) -> SBThread"""
9912        return _lldb.SBQueueItem_GetExtendedBacktraceThread(self, type)
9913
9914    def __hex__(self):
9915      return self.GetAddress()
9916
9917
9918# Register SBQueueItem in _lldb:
9919_lldb.SBQueueItem_swigregister(SBQueueItem)
9920class SBReproducer(object):
9921    r"""Controls LLDB's reproducer functionality."""
9922
9923    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9924    __repr__ = _swig_repr
9925
9926    @staticmethod
9927    def Capture(path):
9928        r"""Capture(char const * path) -> char const *"""
9929        return _lldb.SBReproducer_Capture(path)
9930
9931    @staticmethod
9932    def PassiveReplay(path):
9933        r"""PassiveReplay(char const * path) -> char const *"""
9934        return _lldb.SBReproducer_PassiveReplay(path)
9935
9936    @staticmethod
9937    def SetAutoGenerate(b):
9938        r"""SetAutoGenerate(bool b) -> bool"""
9939        return _lldb.SBReproducer_SetAutoGenerate(b)
9940
9941    @staticmethod
9942    def SetWorkingDirectory(path):
9943        r"""SetWorkingDirectory(char const * path)"""
9944        return _lldb.SBReproducer_SetWorkingDirectory(path)
9945
9946    def __init__(self):
9947        r"""__init__(SBReproducer self) -> SBReproducer"""
9948        _lldb.SBReproducer_swiginit(self, _lldb.new_SBReproducer())
9949    __swig_destroy__ = _lldb.delete_SBReproducer
9950
9951# Register SBReproducer in _lldb:
9952_lldb.SBReproducer_swigregister(SBReproducer)
9953class SBScriptObject(object):
9954    r"""Proxy of C++ lldb::SBScriptObject class."""
9955
9956    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9957    __repr__ = _swig_repr
9958
9959    def __init__(self, *args):
9960        r"""
9961        __init__(SBScriptObject self, lldb::ScriptObjectPtr const ptr, lldb::ScriptLanguage lang) -> SBScriptObject
9962        __init__(SBScriptObject self, SBScriptObject rhs) -> SBScriptObject
9963        """
9964        _lldb.SBScriptObject_swiginit(self, _lldb.new_SBScriptObject(*args))
9965    __swig_destroy__ = _lldb.delete_SBScriptObject
9966
9967    def __nonzero__(self):
9968        return _lldb.SBScriptObject___nonzero__(self)
9969    __bool__ = __nonzero__
9970
9971
9972
9973    def __ne__(self, rhs):
9974        r"""__ne__(SBScriptObject self, SBScriptObject rhs) -> bool"""
9975        return _lldb.SBScriptObject___ne__(self, rhs)
9976
9977    def IsValid(self):
9978        r"""IsValid(SBScriptObject self) -> bool"""
9979        return _lldb.SBScriptObject_IsValid(self)
9980
9981    def GetPointer(self):
9982        r"""GetPointer(SBScriptObject self) -> lldb::ScriptObjectPtr"""
9983        return _lldb.SBScriptObject_GetPointer(self)
9984
9985    def GetLanguage(self):
9986        r"""GetLanguage(SBScriptObject self) -> lldb::ScriptLanguage"""
9987        return _lldb.SBScriptObject_GetLanguage(self)
9988
9989            # operator== is a free function, which swig does not handle, so we inject
9990            # our own equality operator here
9991    def __eq__(self, other):
9992        return not self.__ne__(other)
9993
9994    ptr = property(GetPointer, None, doc='''A read only property that returns the underlying script object.''')
9995    lang = property(GetLanguage, None, doc='''A read only property that returns the script language associated with with this script object.''')
9996
9997
9998# Register SBScriptObject in _lldb:
9999_lldb.SBScriptObject_swigregister(SBScriptObject)
10000class SBSection(object):
10001    r"""
10002    Represents an executable image section.
10003
10004    SBSection supports iteration through its subsection, represented as SBSection
10005    as well.  For example, ::
10006
10007        for sec in exe_module:
10008            if sec.GetName() == '__TEXT':
10009                print sec
10010                break
10011        print INDENT + 'Number of subsections: %d' % sec.GetNumSubSections()
10012        for subsec in sec:
10013            print INDENT + repr(subsec)
10014
10015    produces: ::
10016
10017      [0x0000000100000000-0x0000000100002000) a.out.__TEXT
10018          Number of subsections: 6
10019          [0x0000000100001780-0x0000000100001d5c) a.out.__TEXT.__text
10020          [0x0000000100001d5c-0x0000000100001da4) a.out.__TEXT.__stubs
10021          [0x0000000100001da4-0x0000000100001e2c) a.out.__TEXT.__stub_helper
10022          [0x0000000100001e2c-0x0000000100001f10) a.out.__TEXT.__cstring
10023          [0x0000000100001f10-0x0000000100001f68) a.out.__TEXT.__unwind_info
10024          [0x0000000100001f68-0x0000000100001ff8) a.out.__TEXT.__eh_frame
10025
10026    See also :py:class:`SBModule` .
10027    """
10028
10029    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10030
10031    def __init__(self, *args):
10032        r"""
10033        __init__(SBSection self) -> SBSection
10034        __init__(SBSection self, SBSection rhs) -> SBSection
10035        """
10036        _lldb.SBSection_swiginit(self, _lldb.new_SBSection(*args))
10037    __swig_destroy__ = _lldb.delete_SBSection
10038
10039    def __nonzero__(self):
10040        return _lldb.SBSection___nonzero__(self)
10041    __bool__ = __nonzero__
10042
10043
10044
10045    def IsValid(self):
10046        r"""IsValid(SBSection self) -> bool"""
10047        return _lldb.SBSection_IsValid(self)
10048
10049    def GetName(self):
10050        r"""GetName(SBSection self) -> char const *"""
10051        return _lldb.SBSection_GetName(self)
10052
10053    def GetParent(self):
10054        r"""GetParent(SBSection self) -> SBSection"""
10055        return _lldb.SBSection_GetParent(self)
10056
10057    def FindSubSection(self, sect_name):
10058        r"""FindSubSection(SBSection self, char const * sect_name) -> SBSection"""
10059        return _lldb.SBSection_FindSubSection(self, sect_name)
10060
10061    def GetNumSubSections(self):
10062        r"""GetNumSubSections(SBSection self) -> size_t"""
10063        return _lldb.SBSection_GetNumSubSections(self)
10064
10065    def GetSubSectionAtIndex(self, idx):
10066        r"""GetSubSectionAtIndex(SBSection self, size_t idx) -> SBSection"""
10067        return _lldb.SBSection_GetSubSectionAtIndex(self, idx)
10068
10069    def GetFileAddress(self):
10070        r"""GetFileAddress(SBSection self) -> lldb::addr_t"""
10071        return _lldb.SBSection_GetFileAddress(self)
10072
10073    def GetLoadAddress(self, target):
10074        r"""GetLoadAddress(SBSection self, SBTarget target) -> lldb::addr_t"""
10075        return _lldb.SBSection_GetLoadAddress(self, target)
10076
10077    def GetByteSize(self):
10078        r"""GetByteSize(SBSection self) -> lldb::addr_t"""
10079        return _lldb.SBSection_GetByteSize(self)
10080
10081    def GetFileOffset(self):
10082        r"""GetFileOffset(SBSection self) -> uint64_t"""
10083        return _lldb.SBSection_GetFileOffset(self)
10084
10085    def GetFileByteSize(self):
10086        r"""GetFileByteSize(SBSection self) -> uint64_t"""
10087        return _lldb.SBSection_GetFileByteSize(self)
10088
10089    def GetSectionData(self, *args):
10090        r"""
10091        GetSectionData(SBSection self) -> SBData
10092        GetSectionData(SBSection self, uint64_t offset, uint64_t size) -> SBData
10093        """
10094        return _lldb.SBSection_GetSectionData(self, *args)
10095
10096    def GetSectionType(self):
10097        r"""GetSectionType(SBSection self) -> lldb::SectionType"""
10098        return _lldb.SBSection_GetSectionType(self)
10099
10100    def GetPermissions(self):
10101        r"""GetPermissions(SBSection self) -> uint32_t"""
10102        return _lldb.SBSection_GetPermissions(self)
10103
10104    def GetTargetByteSize(self):
10105        r"""
10106        GetTargetByteSize(SBSection self) -> uint32_t
10107
10108            Return the size of a target's byte represented by this section
10109            in numbers of host bytes. Note that certain architectures have
10110            varying minimum addressable unit (i.e. byte) size for their
10111            CODE or DATA buses.
10112
10113            @return
10114                The number of host (8-bit) bytes needed to hold a target byte
10115        """
10116        return _lldb.SBSection_GetTargetByteSize(self)
10117
10118    def GetAlignment(self):
10119        r"""GetAlignment(SBSection self) -> uint32_t"""
10120        return _lldb.SBSection_GetAlignment(self)
10121
10122    def __eq__(self, rhs):
10123        r"""__eq__(SBSection self, SBSection rhs) -> bool"""
10124        return _lldb.SBSection___eq__(self, rhs)
10125
10126    def __ne__(self, rhs):
10127        r"""__ne__(SBSection self, SBSection rhs) -> bool"""
10128        return _lldb.SBSection___ne__(self, rhs)
10129
10130    def GetDescription(self, description):
10131        r"""GetDescription(SBSection self, SBStream description) -> bool"""
10132        return _lldb.SBSection_GetDescription(self, description)
10133
10134    def __repr__(self):
10135        r"""__repr__(SBSection self) -> std::string"""
10136        return _lldb.SBSection___repr__(self)
10137
10138            # operator== is a free function, which swig does not handle, so we inject
10139            # our own equality operator here
10140    def __eq__(self, other):
10141        return not self.__ne__(other)
10142
10143    def __iter__(self):
10144        '''Iterate over all subsections in a lldb.SBSection object.'''
10145        return lldb_iter(self, 'GetNumSubSections', 'GetSubSectionAtIndex')
10146
10147    def __len__(self):
10148        '''Return the number of subsections in a lldb.SBSection object.'''
10149        return self.GetNumSubSections()
10150
10151    def get_addr(self):
10152        return SBAddress(self, 0)
10153
10154    name = property(GetName, None, doc='''A read only property that returns the name of this section as a string.''')
10155    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.''')
10156    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.''')
10157    size = property(GetByteSize, None, doc='''A read only property that returns the size in bytes of this section as an integer.''')
10158    file_offset = property(GetFileOffset, None, doc='''A read only property that returns the file offset in bytes of this section as an integer.''')
10159    file_size = property(GetFileByteSize, None, doc='''A read only property that returns the file size in bytes of this section as an integer.''')
10160    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.''')
10161    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.).''')
10162    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.''')
10163    alignment = property(GetAlignment, None, doc='''A read only property that returns the alignment of this section as a number of host bytes.''')
10164
10165
10166    def __eq__(self, rhs):
10167        if not isinstance(rhs, type(self)):
10168            return False
10169
10170        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
10171
10172    def __ne__(self, rhs):
10173        if not isinstance(rhs, type(self)):
10174            return True
10175
10176        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
10177
10178
10179# Register SBSection in _lldb:
10180_lldb.SBSection_swigregister(SBSection)
10181class SBSourceManager(object):
10182    r"""
10183    Represents a central authority for displaying source code.
10184
10185    For example (from test/source-manager/TestSourceManager.py), ::
10186
10187            # Create the filespec for 'main.c'.
10188            filespec = lldb.SBFileSpec('main.c', False)
10189            source_mgr = self.dbg.GetSourceManager()
10190            # Use a string stream as the destination.
10191            stream = lldb.SBStream()
10192            source_mgr.DisplaySourceLinesWithLineNumbers(filespec,
10193                                                         self.line,
10194                                                         2, # context before
10195                                                         2, # context after
10196                                                         '=>', # prefix for current line
10197                                                         stream)
10198
10199            #    2
10200            #    3    int main(int argc, char const *argv[]) {
10201            # => 4        printf('Hello world.\n'); // Set break point at this line.
10202            #    5        return 0;
10203            #    6    }
10204            self.expect(stream.GetData(), 'Source code displayed correctly',
10205                        exe=False,
10206                patterns = ['=> %d.*Hello world' % self.line])
10207    """
10208
10209    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10210    __repr__ = _swig_repr
10211
10212    def __init__(self, *args):
10213        r"""
10214        __init__(SBSourceManager self, SBDebugger debugger) -> SBSourceManager
10215        __init__(SBSourceManager self, SBTarget target) -> SBSourceManager
10216        __init__(SBSourceManager self, SBSourceManager rhs) -> SBSourceManager
10217        """
10218        _lldb.SBSourceManager_swiginit(self, _lldb.new_SBSourceManager(*args))
10219    __swig_destroy__ = _lldb.delete_SBSourceManager
10220
10221    def DisplaySourceLinesWithLineNumbers(self, file, line, context_before, context_after, current_line_cstr, s):
10222        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"""
10223        return _lldb.SBSourceManager_DisplaySourceLinesWithLineNumbers(self, file, line, context_before, context_after, current_line_cstr, s)
10224
10225    def DisplaySourceLinesWithLineNumbersAndColumn(self, file, line, column, context_before, context_after, current_line_cstr, s):
10226        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"""
10227        return _lldb.SBSourceManager_DisplaySourceLinesWithLineNumbersAndColumn(self, file, line, column, context_before, context_after, current_line_cstr, s)
10228
10229# Register SBSourceManager in _lldb:
10230_lldb.SBSourceManager_swigregister(SBSourceManager)
10231class SBStatisticsOptions(object):
10232    r"""A container for options to use when dumping statistics."""
10233
10234    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10235    __repr__ = _swig_repr
10236
10237    def __init__(self, *args):
10238        r"""
10239        __init__(SBStatisticsOptions self) -> SBStatisticsOptions
10240        __init__(SBStatisticsOptions self, SBStatisticsOptions rhs) -> SBStatisticsOptions
10241        """
10242        _lldb.SBStatisticsOptions_swiginit(self, _lldb.new_SBStatisticsOptions(*args))
10243    __swig_destroy__ = _lldb.delete_SBStatisticsOptions
10244
10245    def SetSummaryOnly(self, b):
10246        r"""
10247        SetSummaryOnly(SBStatisticsOptions self, bool b)
10248        Sets whether the statistics should only dump a summary.
10249        """
10250        return _lldb.SBStatisticsOptions_SetSummaryOnly(self, b)
10251
10252    def GetSummaryOnly(self):
10253        r"""
10254        GetSummaryOnly(SBStatisticsOptions self) -> bool
10255        Gets whether the statistics only dump a summary.
10256        """
10257        return _lldb.SBStatisticsOptions_GetSummaryOnly(self)
10258
10259    def SetIncludeTargets(self, b):
10260        r"""SetIncludeTargets(SBStatisticsOptions self, bool b)"""
10261        return _lldb.SBStatisticsOptions_SetIncludeTargets(self, b)
10262
10263    def GetIncludeTargets(self):
10264        r"""GetIncludeTargets(SBStatisticsOptions self) -> bool"""
10265        return _lldb.SBStatisticsOptions_GetIncludeTargets(self)
10266
10267    def SetIncludeModules(self, b):
10268        r"""SetIncludeModules(SBStatisticsOptions self, bool b)"""
10269        return _lldb.SBStatisticsOptions_SetIncludeModules(self, b)
10270
10271    def GetIncludeModules(self):
10272        r"""GetIncludeModules(SBStatisticsOptions self) -> bool"""
10273        return _lldb.SBStatisticsOptions_GetIncludeModules(self)
10274
10275    def SetIncludeTranscript(self, b):
10276        r"""SetIncludeTranscript(SBStatisticsOptions self, bool b)"""
10277        return _lldb.SBStatisticsOptions_SetIncludeTranscript(self, b)
10278
10279    def GetIncludeTranscript(self):
10280        r"""GetIncludeTranscript(SBStatisticsOptions self) -> bool"""
10281        return _lldb.SBStatisticsOptions_GetIncludeTranscript(self)
10282
10283    def SetReportAllAvailableDebugInfo(self, b):
10284        r"""
10285        SetReportAllAvailableDebugInfo(SBStatisticsOptions self, bool b)
10286
10287            Sets whether the statistics will force loading all possible debug info.
10288        """
10289        return _lldb.SBStatisticsOptions_SetReportAllAvailableDebugInfo(self, b)
10290
10291    def GetReportAllAvailableDebugInfo(self):
10292        r"""
10293        GetReportAllAvailableDebugInfo(SBStatisticsOptions self) -> bool
10294
10295            Gets whether the statistics will force loading all possible debug info.
10296        """
10297        return _lldb.SBStatisticsOptions_GetReportAllAvailableDebugInfo(self)
10298
10299# Register SBStatisticsOptions in _lldb:
10300_lldb.SBStatisticsOptions_swigregister(SBStatisticsOptions)
10301class SBStream(object):
10302    r"""
10303    Represents a destination for streaming data output to. By default, a string
10304    stream is created.
10305
10306    For example (from test/source-manager/TestSourceManager.py), ::
10307
10308            # Create the filespec for 'main.c'.
10309            filespec = lldb.SBFileSpec('main.c', False)
10310            source_mgr = self.dbg.GetSourceManager()
10311            # Use a string stream as the destination.
10312            stream = lldb.SBStream()
10313            source_mgr.DisplaySourceLinesWithLineNumbers(filespec,
10314                                                         self.line,
10315                                                         2, # context before
10316                                                         2, # context after
10317                                                         '=>', # prefix for current line
10318                                                         stream)
10319
10320            #    2
10321            #    3    int main(int argc, char const *argv[]) {
10322            # => 4        printf('Hello world.\n'); // Set break point at this line.
10323            #    5        return 0;
10324            #    6    }
10325            self.expect(stream.GetData(), 'Source code displayed correctly',
10326                        exe=False,
10327                patterns = ['=> %d.*Hello world' % self.line])
10328    """
10329
10330    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10331    __repr__ = _swig_repr
10332
10333    def __init__(self):
10334        r"""__init__(SBStream self) -> SBStream"""
10335        _lldb.SBStream_swiginit(self, _lldb.new_SBStream())
10336    __swig_destroy__ = _lldb.delete_SBStream
10337
10338    def __nonzero__(self):
10339        return _lldb.SBStream___nonzero__(self)
10340    __bool__ = __nonzero__
10341
10342
10343
10344    def IsValid(self):
10345        r"""IsValid(SBStream self) -> bool"""
10346        return _lldb.SBStream_IsValid(self)
10347
10348    def GetData(self):
10349        r"""
10350        GetData(SBStream self) -> char const *
10351
10352            If this stream is not redirected to a file, it will maintain a local
10353            cache for the stream data which can be accessed using this accessor.
10354        """
10355        return _lldb.SBStream_GetData(self)
10356
10357    def GetSize(self):
10358        r"""
10359        GetSize(SBStream self) -> size_t
10360
10361            If this stream is not redirected to a file, it will maintain a local
10362            cache for the stream output whose length can be accessed using this
10363            accessor.
10364        """
10365        return _lldb.SBStream_GetSize(self)
10366
10367    def Print(self, str):
10368        r"""Print(SBStream self, char const * str)"""
10369        return _lldb.SBStream_Print(self, str)
10370
10371    def RedirectToFile(self, *args):
10372        r"""
10373        RedirectToFile(SBStream self, char const * path, bool append)
10374        RedirectToFile(SBStream self, SBFile file)
10375        RedirectToFile(SBStream self, lldb::FileSP file)
10376        """
10377        return _lldb.SBStream_RedirectToFile(self, *args)
10378
10379    def RedirectToFileDescriptor(self, fd, transfer_fh_ownership):
10380        r"""RedirectToFileDescriptor(SBStream self, int fd, bool transfer_fh_ownership)"""
10381        return _lldb.SBStream_RedirectToFileDescriptor(self, fd, transfer_fh_ownership)
10382
10383    def Clear(self):
10384        r"""
10385        Clear(SBStream self)
10386
10387            If the stream is redirected to a file, forget about the file and if
10388            ownership of the file was transferred to this object, close the file.
10389            If the stream is backed by a local cache, clear this cache.
10390        """
10391        return _lldb.SBStream_Clear(self)
10392
10393    def __len__(self):
10394      return self.GetSize()
10395
10396
10397    def RedirectToFileHandle(self, file, transfer_fh_ownership):
10398        r"""DEPRECATED, use RedirectToFile"""
10399        return _lldb.SBStream_RedirectToFileHandle(self, file, transfer_fh_ownership)
10400
10401    def write(self, str):
10402        r"""write(SBStream self, char const * str)"""
10403        return _lldb.SBStream_write(self, str)
10404
10405    def flush(self):
10406        r"""flush(SBStream self)"""
10407        return _lldb.SBStream_flush(self)
10408
10409# Register SBStream in _lldb:
10410_lldb.SBStream_swigregister(SBStream)
10411class SBStringList(object):
10412    r"""Represents a list of strings."""
10413
10414    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10415    __repr__ = _swig_repr
10416
10417    def __init__(self, *args):
10418        r"""
10419        __init__(SBStringList self) -> SBStringList
10420        __init__(SBStringList self, SBStringList rhs) -> SBStringList
10421        """
10422        _lldb.SBStringList_swiginit(self, _lldb.new_SBStringList(*args))
10423    __swig_destroy__ = _lldb.delete_SBStringList
10424
10425    def __nonzero__(self):
10426        return _lldb.SBStringList___nonzero__(self)
10427    __bool__ = __nonzero__
10428
10429
10430
10431    def IsValid(self):
10432        r"""IsValid(SBStringList self) -> bool"""
10433        return _lldb.SBStringList_IsValid(self)
10434
10435    def AppendString(self, str):
10436        r"""AppendString(SBStringList self, char const * str)"""
10437        return _lldb.SBStringList_AppendString(self, str)
10438
10439    def AppendList(self, *args):
10440        r"""
10441        AppendList(SBStringList self, char const ** strv, int strc)
10442        AppendList(SBStringList self, SBStringList strings)
10443        """
10444        return _lldb.SBStringList_AppendList(self, *args)
10445
10446    def GetSize(self):
10447        r"""GetSize(SBStringList self) -> uint32_t"""
10448        return _lldb.SBStringList_GetSize(self)
10449
10450    def GetStringAtIndex(self, *args):
10451        r"""
10452        GetStringAtIndex(SBStringList self, size_t idx) -> char const
10453        GetStringAtIndex(SBStringList self, size_t idx) -> char const *
10454        """
10455        return _lldb.SBStringList_GetStringAtIndex(self, *args)
10456
10457    def Clear(self):
10458        r"""Clear(SBStringList self)"""
10459        return _lldb.SBStringList_Clear(self)
10460
10461    def __iter__(self):
10462        '''Iterate over all strings in a lldb.SBStringList object.'''
10463        return lldb_iter(self, 'GetSize', 'GetStringAtIndex')
10464
10465    def __len__(self):
10466        '''Return the number of strings in a lldb.SBStringList object.'''
10467        return self.GetSize()
10468
10469
10470# Register SBStringList in _lldb:
10471_lldb.SBStringList_swigregister(SBStringList)
10472class SBStructuredData(object):
10473    r"""
10474    A class representing a StructuredData event.
10475
10476    This class wraps the event type generated by StructuredData features.
10477    """
10478
10479    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10480
10481    def __init__(self, *args):
10482        r"""
10483        __init__(SBStructuredData self) -> SBStructuredData
10484        __init__(SBStructuredData self, SBStructuredData rhs) -> SBStructuredData
10485        __init__(SBStructuredData self, SBScriptObject obj, SBDebugger debugger) -> SBStructuredData
10486        """
10487        _lldb.SBStructuredData_swiginit(self, _lldb.new_SBStructuredData(*args))
10488    __swig_destroy__ = _lldb.delete_SBStructuredData
10489
10490    def __nonzero__(self):
10491        return _lldb.SBStructuredData___nonzero__(self)
10492    __bool__ = __nonzero__
10493
10494
10495
10496    def IsValid(self):
10497        r"""IsValid(SBStructuredData self) -> bool"""
10498        return _lldb.SBStructuredData_IsValid(self)
10499
10500    def SetFromJSON(self, *args):
10501        r"""
10502        SetFromJSON(SBStructuredData self, SBStream stream) -> SBError
10503        SetFromJSON(SBStructuredData self, char const * json) -> SBError
10504        """
10505        return _lldb.SBStructuredData_SetFromJSON(self, *args)
10506
10507    def Clear(self):
10508        r"""Clear(SBStructuredData self)"""
10509        return _lldb.SBStructuredData_Clear(self)
10510
10511    def GetAsJSON(self, stream):
10512        r"""GetAsJSON(SBStructuredData self, SBStream stream) -> SBError"""
10513        return _lldb.SBStructuredData_GetAsJSON(self, stream)
10514
10515    def GetDescription(self, stream):
10516        r"""GetDescription(SBStructuredData self, SBStream stream) -> SBError"""
10517        return _lldb.SBStructuredData_GetDescription(self, stream)
10518
10519    def GetType(self):
10520        r"""GetType(SBStructuredData self) -> lldb::StructuredDataType"""
10521        return _lldb.SBStructuredData_GetType(self)
10522
10523    def GetSize(self):
10524        r"""GetSize(SBStructuredData self) -> size_t"""
10525        return _lldb.SBStructuredData_GetSize(self)
10526
10527    def GetKeys(self, keys):
10528        r"""GetKeys(SBStructuredData self, SBStringList keys) -> bool"""
10529        return _lldb.SBStructuredData_GetKeys(self, keys)
10530
10531    def GetValueForKey(self, key):
10532        r"""GetValueForKey(SBStructuredData self, char const * key) -> SBStructuredData"""
10533        return _lldb.SBStructuredData_GetValueForKey(self, key)
10534
10535    def GetItemAtIndex(self, idx):
10536        r"""GetItemAtIndex(SBStructuredData self, size_t idx) -> SBStructuredData"""
10537        return _lldb.SBStructuredData_GetItemAtIndex(self, idx)
10538
10539    def GetUnsignedIntegerValue(self, fail_value=0):
10540        r"""GetUnsignedIntegerValue(SBStructuredData self, uint64_t fail_value=0) -> uint64_t"""
10541        return _lldb.SBStructuredData_GetUnsignedIntegerValue(self, fail_value)
10542
10543    def GetSignedIntegerValue(self, fail_value=0):
10544        r"""GetSignedIntegerValue(SBStructuredData self, int64_t fail_value=0) -> int64_t"""
10545        return _lldb.SBStructuredData_GetSignedIntegerValue(self, fail_value)
10546
10547    def GetIntegerValue(self, fail_value=0):
10548        r"""GetIntegerValue(SBStructuredData self, uint64_t fail_value=0) -> uint64_t"""
10549        return _lldb.SBStructuredData_GetIntegerValue(self, fail_value)
10550
10551    def GetFloatValue(self, fail_value=0.0):
10552        r"""GetFloatValue(SBStructuredData self, double fail_value=0.0) -> double"""
10553        return _lldb.SBStructuredData_GetFloatValue(self, fail_value)
10554
10555    def GetBooleanValue(self, fail_value=False):
10556        r"""GetBooleanValue(SBStructuredData self, bool fail_value=False) -> bool"""
10557        return _lldb.SBStructuredData_GetBooleanValue(self, fail_value)
10558
10559    def GetStringValue(self, dst):
10560        r"""GetStringValue(SBStructuredData self, char * dst) -> size_t"""
10561        return _lldb.SBStructuredData_GetStringValue(self, dst)
10562
10563    def GetGenericValue(self):
10564        r"""GetGenericValue(SBStructuredData self) -> SBScriptObject"""
10565        return _lldb.SBStructuredData_GetGenericValue(self)
10566
10567    def __repr__(self):
10568        r"""__repr__(SBStructuredData self) -> std::string"""
10569        return _lldb.SBStructuredData___repr__(self)
10570
10571    def __int__(self):
10572      return self.GetSignedInteger()
10573
10574    def __len__(self):
10575      '''Return the number of element in a lldb.SBStructuredData object.'''
10576      return self.GetSize()
10577
10578    def __iter__(self):
10579        '''Iterate over all the elements in a lldb.SBStructuredData object.'''
10580        return lldb_iter(self, 'GetSize', 'GetItemAtIndex')
10581
10582
10583# Register SBStructuredData in _lldb:
10584_lldb.SBStructuredData_swigregister(SBStructuredData)
10585class SBSymbol(object):
10586    r"""
10587    Represents the symbol possibly associated with a stack frame.
10588    :py:class:`SBModule` contains SBSymbol(s). SBSymbol can also be retrieved from :py:class:`SBFrame` .
10589    """
10590
10591    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10592    __swig_destroy__ = _lldb.delete_SBSymbol
10593
10594    def __init__(self, *args):
10595        r"""
10596        __init__(SBSymbol self) -> SBSymbol
10597        __init__(SBSymbol self, SBSymbol rhs) -> SBSymbol
10598        """
10599        _lldb.SBSymbol_swiginit(self, _lldb.new_SBSymbol(*args))
10600
10601    def __nonzero__(self):
10602        return _lldb.SBSymbol___nonzero__(self)
10603    __bool__ = __nonzero__
10604
10605
10606
10607    def IsValid(self):
10608        r"""IsValid(SBSymbol self) -> bool"""
10609        return _lldb.SBSymbol_IsValid(self)
10610
10611    def GetName(self):
10612        r"""GetName(SBSymbol self) -> char const *"""
10613        return _lldb.SBSymbol_GetName(self)
10614
10615    def GetDisplayName(self):
10616        r"""GetDisplayName(SBSymbol self) -> char const *"""
10617        return _lldb.SBSymbol_GetDisplayName(self)
10618
10619    def GetMangledName(self):
10620        r"""GetMangledName(SBSymbol self) -> char const *"""
10621        return _lldb.SBSymbol_GetMangledName(self)
10622
10623    def GetInstructions(self, *args):
10624        r"""
10625        GetInstructions(SBSymbol self, SBTarget target) -> SBInstructionList
10626        GetInstructions(SBSymbol self, SBTarget target, char const * flavor_string) -> SBInstructionList
10627        """
10628        return _lldb.SBSymbol_GetInstructions(self, *args)
10629
10630    def GetStartAddress(self):
10631        r"""GetStartAddress(SBSymbol self) -> SBAddress"""
10632        return _lldb.SBSymbol_GetStartAddress(self)
10633
10634    def GetEndAddress(self):
10635        r"""GetEndAddress(SBSymbol self) -> SBAddress"""
10636        return _lldb.SBSymbol_GetEndAddress(self)
10637
10638    def GetValue(self):
10639        r"""GetValue(SBSymbol self) -> uint64_t"""
10640        return _lldb.SBSymbol_GetValue(self)
10641
10642    def GetSize(self):
10643        r"""GetSize(SBSymbol self) -> uint64_t"""
10644        return _lldb.SBSymbol_GetSize(self)
10645
10646    def GetPrologueByteSize(self):
10647        r"""GetPrologueByteSize(SBSymbol self) -> uint32_t"""
10648        return _lldb.SBSymbol_GetPrologueByteSize(self)
10649
10650    def GetType(self):
10651        r"""GetType(SBSymbol self) -> lldb::SymbolType"""
10652        return _lldb.SBSymbol_GetType(self)
10653
10654    def __eq__(self, rhs):
10655        r"""__eq__(SBSymbol self, SBSymbol rhs) -> bool"""
10656        return _lldb.SBSymbol___eq__(self, rhs)
10657
10658    def __ne__(self, rhs):
10659        r"""__ne__(SBSymbol self, SBSymbol rhs) -> bool"""
10660        return _lldb.SBSymbol___ne__(self, rhs)
10661
10662    def GetDescription(self, description):
10663        r"""GetDescription(SBSymbol self, SBStream description) -> bool"""
10664        return _lldb.SBSymbol_GetDescription(self, description)
10665
10666    def IsExternal(self):
10667        r"""IsExternal(SBSymbol self) -> bool"""
10668        return _lldb.SBSymbol_IsExternal(self)
10669
10670    def IsSynthetic(self):
10671        r"""IsSynthetic(SBSymbol self) -> bool"""
10672        return _lldb.SBSymbol_IsSynthetic(self)
10673
10674    def __repr__(self):
10675        r"""__repr__(SBSymbol self) -> std::string"""
10676        return _lldb.SBSymbol___repr__(self)
10677
10678            # operator== is a free function, which swig does not handle, so we inject
10679            # our own equality operator here
10680    def __eq__(self, other):
10681        return not self.__ne__(other)
10682
10683    def __hex__(self):
10684        return self.GetStartAddress()
10685
10686    def get_instructions_from_current_target (self):
10687        return self.GetInstructions (target)
10688
10689    name = property(GetName, None, doc='''A read only property that returns the name for this symbol as a string.''')
10690    mangled = property(GetMangledName, None, doc='''A read only property that returns the mangled (linkage) name for this symbol as a string.''')
10691    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.''')
10692    addr = property(GetStartAddress, None, doc='''A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this symbol.''')
10693    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.''')
10694    prologue_size = property(GetPrologueByteSize, None, doc='''A read only property that returns the size in bytes of the prologue instructions as an unsigned integer.''')
10695    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.''')
10696    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.''')
10697    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.''')
10698
10699
10700    def __eq__(self, rhs):
10701        if not isinstance(rhs, type(self)):
10702            return False
10703
10704        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
10705
10706    def __ne__(self, rhs):
10707        if not isinstance(rhs, type(self)):
10708            return True
10709
10710        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
10711
10712
10713# Register SBSymbol in _lldb:
10714_lldb.SBSymbol_swigregister(SBSymbol)
10715class SBSymbolContext(object):
10716    r"""
10717    A context object that provides access to core debugger entities.
10718
10719    Many debugger functions require a context when doing lookups. This class
10720    provides a common structure that can be used as the result of a query that
10721    can contain a single result.
10722
10723    For example, ::
10724
10725            exe = os.path.join(os.getcwd(), 'a.out')
10726
10727            # Create a target for the debugger.
10728            target = self.dbg.CreateTarget(exe)
10729
10730            # Now create a breakpoint on main.c by name 'c'.
10731            breakpoint = target.BreakpointCreateByName('c', 'a.out')
10732
10733            # Now launch the process, and do not stop at entry point.
10734            process = target.LaunchSimple(None, None, os.getcwd())
10735
10736            # The inferior should stop on 'c'.
10737            from lldbutil import get_stopped_thread
10738            thread = get_stopped_thread(process, lldb.eStopReasonBreakpoint)
10739            frame0 = thread.GetFrameAtIndex(0)
10740
10741            # Now get the SBSymbolContext from this frame.  We want everything. :-)
10742            context = frame0.GetSymbolContext(lldb.eSymbolContextEverything)
10743
10744            # Get the module.
10745            module = context.GetModule()
10746            ...
10747
10748            # And the compile unit associated with the frame.
10749            compileUnit = context.GetCompileUnit()
10750            ...
10751
10752    """
10753
10754    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10755
10756    def __init__(self, *args):
10757        r"""
10758        __init__(SBSymbolContext self) -> SBSymbolContext
10759        __init__(SBSymbolContext self, SBSymbolContext rhs) -> SBSymbolContext
10760        """
10761        _lldb.SBSymbolContext_swiginit(self, _lldb.new_SBSymbolContext(*args))
10762    __swig_destroy__ = _lldb.delete_SBSymbolContext
10763
10764    def __nonzero__(self):
10765        return _lldb.SBSymbolContext___nonzero__(self)
10766    __bool__ = __nonzero__
10767
10768
10769
10770    def IsValid(self):
10771        r"""IsValid(SBSymbolContext self) -> bool"""
10772        return _lldb.SBSymbolContext_IsValid(self)
10773
10774    def GetModule(self):
10775        r"""GetModule(SBSymbolContext self) -> SBModule"""
10776        return _lldb.SBSymbolContext_GetModule(self)
10777
10778    def GetCompileUnit(self):
10779        r"""GetCompileUnit(SBSymbolContext self) -> SBCompileUnit"""
10780        return _lldb.SBSymbolContext_GetCompileUnit(self)
10781
10782    def GetFunction(self):
10783        r"""GetFunction(SBSymbolContext self) -> SBFunction"""
10784        return _lldb.SBSymbolContext_GetFunction(self)
10785
10786    def GetBlock(self):
10787        r"""GetBlock(SBSymbolContext self) -> SBBlock"""
10788        return _lldb.SBSymbolContext_GetBlock(self)
10789
10790    def GetLineEntry(self):
10791        r"""GetLineEntry(SBSymbolContext self) -> SBLineEntry"""
10792        return _lldb.SBSymbolContext_GetLineEntry(self)
10793
10794    def GetSymbol(self):
10795        r"""GetSymbol(SBSymbolContext self) -> SBSymbol"""
10796        return _lldb.SBSymbolContext_GetSymbol(self)
10797
10798    def SetModule(self, module):
10799        r"""SetModule(SBSymbolContext self, SBModule module)"""
10800        return _lldb.SBSymbolContext_SetModule(self, module)
10801
10802    def SetCompileUnit(self, compile_unit):
10803        r"""SetCompileUnit(SBSymbolContext self, SBCompileUnit compile_unit)"""
10804        return _lldb.SBSymbolContext_SetCompileUnit(self, compile_unit)
10805
10806    def SetFunction(self, function):
10807        r"""SetFunction(SBSymbolContext self, SBFunction function)"""
10808        return _lldb.SBSymbolContext_SetFunction(self, function)
10809
10810    def SetBlock(self, block):
10811        r"""SetBlock(SBSymbolContext self, SBBlock block)"""
10812        return _lldb.SBSymbolContext_SetBlock(self, block)
10813
10814    def SetLineEntry(self, line_entry):
10815        r"""SetLineEntry(SBSymbolContext self, SBLineEntry line_entry)"""
10816        return _lldb.SBSymbolContext_SetLineEntry(self, line_entry)
10817
10818    def SetSymbol(self, symbol):
10819        r"""SetSymbol(SBSymbolContext self, SBSymbol symbol)"""
10820        return _lldb.SBSymbolContext_SetSymbol(self, symbol)
10821
10822    def GetParentOfInlinedScope(self, curr_frame_pc, parent_frame_addr):
10823        r"""GetParentOfInlinedScope(SBSymbolContext self, SBAddress curr_frame_pc, SBAddress parent_frame_addr) -> SBSymbolContext"""
10824        return _lldb.SBSymbolContext_GetParentOfInlinedScope(self, curr_frame_pc, parent_frame_addr)
10825
10826    def GetDescription(self, description):
10827        r"""GetDescription(SBSymbolContext self, SBStream description) -> bool"""
10828        return _lldb.SBSymbolContext_GetDescription(self, description)
10829
10830    def __repr__(self):
10831        r"""__repr__(SBSymbolContext self) -> std::string"""
10832        return _lldb.SBSymbolContext___repr__(self)
10833
10834    module = property(GetModule, SetModule, doc='''A read/write property that allows the getting/setting of the module (lldb.SBModule) in this symbol context.''')
10835    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.''')
10836    function = property(GetFunction, SetFunction, doc='''A read/write property that allows the getting/setting of the function (lldb.SBFunction) in this symbol context.''')
10837    block = property(GetBlock, SetBlock, doc='''A read/write property that allows the getting/setting of the block (lldb.SBBlock) in this symbol context.''')
10838    symbol = property(GetSymbol, SetSymbol, doc='''A read/write property that allows the getting/setting of the symbol (lldb.SBSymbol) in this symbol context.''')
10839    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.''')
10840
10841
10842# Register SBSymbolContext in _lldb:
10843_lldb.SBSymbolContext_swigregister(SBSymbolContext)
10844class SBSymbolContextList(object):
10845    r"""
10846    Represents a list of symbol context object. See also SBSymbolContext.
10847
10848    For example (from test/python_api/target/TestTargetAPI.py), ::
10849
10850        def find_functions(self, exe_name):
10851            '''Exercise SBTarget.FindFunctions() API.'''
10852            exe = os.path.join(os.getcwd(), exe_name)
10853
10854            # Create a target by the debugger.
10855            target = self.dbg.CreateTarget(exe)
10856            self.assertTrue(target, VALID_TARGET)
10857
10858            list = lldb.SBSymbolContextList()
10859            num = target.FindFunctions('c', lldb.eFunctionNameTypeAuto, False, list)
10860            self.assertTrue(num == 1 and list.GetSize() == 1)
10861
10862            for sc in list:
10863                self.assertTrue(sc.GetModule().GetFileSpec().GetFilename() == exe_name)
10864                self.assertTrue(sc.GetSymbol().GetName() == 'c')
10865    """
10866
10867    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10868
10869    def __init__(self, *args):
10870        r"""
10871        __init__(SBSymbolContextList self) -> SBSymbolContextList
10872        __init__(SBSymbolContextList self, SBSymbolContextList rhs) -> SBSymbolContextList
10873        """
10874        _lldb.SBSymbolContextList_swiginit(self, _lldb.new_SBSymbolContextList(*args))
10875    __swig_destroy__ = _lldb.delete_SBSymbolContextList
10876
10877    def __nonzero__(self):
10878        return _lldb.SBSymbolContextList___nonzero__(self)
10879    __bool__ = __nonzero__
10880
10881
10882
10883    def IsValid(self):
10884        r"""IsValid(SBSymbolContextList self) -> bool"""
10885        return _lldb.SBSymbolContextList_IsValid(self)
10886
10887    def GetSize(self):
10888        r"""GetSize(SBSymbolContextList self) -> uint32_t"""
10889        return _lldb.SBSymbolContextList_GetSize(self)
10890
10891    def GetContextAtIndex(self, idx):
10892        r"""GetContextAtIndex(SBSymbolContextList self, uint32_t idx) -> SBSymbolContext"""
10893        return _lldb.SBSymbolContextList_GetContextAtIndex(self, idx)
10894
10895    def GetDescription(self, description):
10896        r"""GetDescription(SBSymbolContextList self, SBStream description) -> bool"""
10897        return _lldb.SBSymbolContextList_GetDescription(self, description)
10898
10899    def Append(self, *args):
10900        r"""
10901        Append(SBSymbolContextList self, SBSymbolContext sc)
10902        Append(SBSymbolContextList self, SBSymbolContextList sc_list)
10903        """
10904        return _lldb.SBSymbolContextList_Append(self, *args)
10905
10906    def Clear(self):
10907        r"""Clear(SBSymbolContextList self)"""
10908        return _lldb.SBSymbolContextList_Clear(self)
10909
10910    def __repr__(self):
10911        r"""__repr__(SBSymbolContextList self) -> std::string"""
10912        return _lldb.SBSymbolContextList___repr__(self)
10913
10914    def __iter__(self):
10915        '''Iterate over all symbol contexts in a lldb.SBSymbolContextList
10916        object.'''
10917        return lldb_iter(self, 'GetSize', 'GetContextAtIndex')
10918
10919    def __len__(self):
10920        return int(self.GetSize())
10921
10922    def __getitem__(self, key):
10923        count = len(self)
10924        if isinstance(key, int):
10925            if -count <= key < count:
10926                key %= count
10927                return self.GetContextAtIndex(key)
10928            else:
10929                raise IndexError
10930        raise TypeError
10931
10932    def get_module_array(self):
10933        a = []
10934        for i in range(len(self)):
10935            obj = self.GetContextAtIndex(i).module
10936            if obj:
10937                a.append(obj)
10938        return a
10939
10940    def get_compile_unit_array(self):
10941        a = []
10942        for i in range(len(self)):
10943            obj = self.GetContextAtIndex(i).compile_unit
10944            if obj:
10945                a.append(obj)
10946        return a
10947    def get_function_array(self):
10948        a = []
10949        for i in range(len(self)):
10950            obj = self.GetContextAtIndex(i).function
10951            if obj:
10952                a.append(obj)
10953        return a
10954    def get_block_array(self):
10955        a = []
10956        for i in range(len(self)):
10957            obj = self.GetContextAtIndex(i).block
10958            if obj:
10959                a.append(obj)
10960        return a
10961    def get_symbol_array(self):
10962        a = []
10963        for i in range(len(self)):
10964            obj = self.GetContextAtIndex(i).symbol
10965            if obj:
10966                a.append(obj)
10967        return a
10968    def get_line_entry_array(self):
10969        a = []
10970        for i in range(len(self)):
10971            obj = self.GetContextAtIndex(i).line_entry
10972            if obj:
10973                a.append(obj)
10974        return a
10975
10976    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.''')
10977    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.''')
10978    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.''')
10979    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.''')
10980    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.''')
10981    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.''')
10982
10983
10984# Register SBSymbolContextList in _lldb:
10985_lldb.SBSymbolContextList_swigregister(SBSymbolContextList)
10986class SBTarget(object):
10987    r"""
10988    Represents the target program running under the debugger.
10989
10990    SBTarget supports module, breakpoint, and watchpoint iterations. For example, ::
10991
10992        for m in target.module_iter():
10993            print m
10994
10995    produces: ::
10996
10997        (x86_64) /Volumes/data/lldb/svn/trunk/test/python_api/lldbutil/iter/a.out
10998        (x86_64) /usr/lib/dyld
10999        (x86_64) /usr/lib/libstdc++.6.dylib
11000        (x86_64) /usr/lib/libSystem.B.dylib
11001        (x86_64) /usr/lib/system/libmathCommon.A.dylib
11002        (x86_64) /usr/lib/libSystem.B.dylib(__commpage)
11003
11004    and, ::
11005
11006        for b in target.breakpoint_iter():
11007            print b
11008
11009    produces: ::
11010
11011        SBBreakpoint: id = 1, file ='main.cpp', line = 66, locations = 1
11012        SBBreakpoint: id = 2, file ='main.cpp', line = 85, locations = 1
11013
11014    and, ::
11015
11016        for wp_loc in target.watchpoint_iter():
11017            print wp_loc
11018
11019    produces: ::
11020
11021        Watchpoint 1: addr = 0x1034ca048 size = 4 state = enabled type = rw
11022            declare @ '/Volumes/data/lldb/svn/trunk/test/python_api/watchpoint/main.c:12'
11023            hit_count = 2     ignore_count = 0
11024    """
11025
11026    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11027    eBroadcastBitBreakpointChanged = _lldb.SBTarget_eBroadcastBitBreakpointChanged
11028
11029    eBroadcastBitModulesLoaded = _lldb.SBTarget_eBroadcastBitModulesLoaded
11030
11031    eBroadcastBitModulesUnloaded = _lldb.SBTarget_eBroadcastBitModulesUnloaded
11032
11033    eBroadcastBitWatchpointChanged = _lldb.SBTarget_eBroadcastBitWatchpointChanged
11034
11035    eBroadcastBitSymbolsLoaded = _lldb.SBTarget_eBroadcastBitSymbolsLoaded
11036
11037    eBroadcastBitSymbolsChanged = _lldb.SBTarget_eBroadcastBitSymbolsChanged
11038
11039
11040    def __init__(self, *args):
11041        r"""
11042        __init__(SBTarget self) -> SBTarget
11043        __init__(SBTarget self, SBTarget rhs) -> SBTarget
11044        """
11045        _lldb.SBTarget_swiginit(self, _lldb.new_SBTarget(*args))
11046    __swig_destroy__ = _lldb.delete_SBTarget
11047
11048    def __nonzero__(self):
11049        return _lldb.SBTarget___nonzero__(self)
11050    __bool__ = __nonzero__
11051
11052
11053
11054    def IsValid(self):
11055        r"""IsValid(SBTarget self) -> bool"""
11056        return _lldb.SBTarget_IsValid(self)
11057
11058    @staticmethod
11059    def EventIsTargetEvent(event):
11060        r"""EventIsTargetEvent(SBEvent event) -> bool"""
11061        return _lldb.SBTarget_EventIsTargetEvent(event)
11062
11063    @staticmethod
11064    def GetTargetFromEvent(event):
11065        r"""GetTargetFromEvent(SBEvent event) -> SBTarget"""
11066        return _lldb.SBTarget_GetTargetFromEvent(event)
11067
11068    @staticmethod
11069    def GetNumModulesFromEvent(event):
11070        r"""GetNumModulesFromEvent(SBEvent event) -> uint32_t"""
11071        return _lldb.SBTarget_GetNumModulesFromEvent(event)
11072
11073    @staticmethod
11074    def GetModuleAtIndexFromEvent(idx, event):
11075        r"""GetModuleAtIndexFromEvent(uint32_t const idx, SBEvent event) -> SBModule"""
11076        return _lldb.SBTarget_GetModuleAtIndexFromEvent(idx, event)
11077
11078    @staticmethod
11079    def GetBroadcasterClassName():
11080        r"""GetBroadcasterClassName() -> char const *"""
11081        return _lldb.SBTarget_GetBroadcasterClassName()
11082
11083    def GetProcess(self):
11084        r"""GetProcess(SBTarget self) -> SBProcess"""
11085        return _lldb.SBTarget_GetProcess(self)
11086
11087    def SetCollectingStats(self, v):
11088        r"""SetCollectingStats(SBTarget self, bool v)"""
11089        return _lldb.SBTarget_SetCollectingStats(self, v)
11090
11091    def GetCollectingStats(self):
11092        r"""GetCollectingStats(SBTarget self) -> bool"""
11093        return _lldb.SBTarget_GetCollectingStats(self)
11094
11095    def GetStatistics(self, *args):
11096        r"""
11097        GetStatistics(SBTarget self) -> SBStructuredData
11098        GetStatistics(SBTarget self, SBStatisticsOptions options) -> SBStructuredData
11099        """
11100        return _lldb.SBTarget_GetStatistics(self, *args)
11101
11102    def GetPlatform(self):
11103        r"""
11104        GetPlatform(SBTarget self) -> SBPlatform
11105
11106            Return the platform object associated with the target.
11107
11108            After return, the platform object should be checked for
11109            validity.
11110
11111            @return
11112                A platform object.
11113        """
11114        return _lldb.SBTarget_GetPlatform(self)
11115
11116    def GetEnvironment(self):
11117        r"""GetEnvironment(SBTarget self) -> SBEnvironment"""
11118        return _lldb.SBTarget_GetEnvironment(self)
11119
11120    def Install(self):
11121        r"""
11122        Install(SBTarget self) -> SBError
11123
11124            Install any binaries that need to be installed.
11125
11126            This function does nothing when debugging on the host system.
11127            When connected to remote platforms, the target's main executable
11128            and any modules that have their install path set will be
11129            installed on the remote platform. If the main executable doesn't
11130            have an install location set, it will be installed in the remote
11131            platform's working directory.
11132
11133            @return
11134                An error describing anything that went wrong during
11135                installation.
11136        """
11137        return _lldb.SBTarget_Install(self)
11138
11139    def LoadCore(self, *args):
11140        r"""
11141        LoadCore(SBTarget self, char const * core_file) -> SBProcess
11142        LoadCore(SBTarget self, char const * core_file, SBError error) -> SBProcess
11143
11144            Load a core file
11145
11146            @param[in] core_file
11147                File path of the core dump.
11148
11149            @param[out] error
11150                An error explaining what went wrong if the operation fails.
11151                (Optional)
11152
11153            @return
11154                 A process object for the newly created core file.
11155
11156            For example,
11157
11158                process = target.LoadCore('./a.out.core')
11159
11160            loads a new core file and returns the process object.
11161        """
11162        return _lldb.SBTarget_LoadCore(self, *args)
11163
11164    def LaunchSimple(self, argv, envp, working_directory):
11165        r"""
11166        LaunchSimple(SBTarget self, char const ** argv, char const ** envp, char const * working_directory) -> SBProcess
11167
11168            Launch a new process with sensible defaults.
11169
11170            :param argv: The argument array.
11171            :param envp: The environment array.
11172            :param working_directory: The working directory to have the child process run in
11173            :return: The newly created process.
11174            :rtype: SBProcess
11175
11176            A pseudo terminal will be used as stdin/stdout/stderr.
11177            No launch flags are passed and the target's debuger is used as a listener.
11178
11179            For example, ::
11180
11181                process = target.LaunchSimple(['X', 'Y', 'Z'], None, os.getcwd())
11182
11183            launches a new process by passing 'X', 'Y', 'Z' as the args to the
11184            executable.
11185        """
11186        return _lldb.SBTarget_LaunchSimple(self, argv, envp, working_directory)
11187
11188    def Launch(self, *args):
11189        r"""
11190        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
11191        Launch(SBTarget self, SBLaunchInfo launch_info, SBError error) -> SBProcess
11192
11193            Launch a new process.
11194
11195            Launch a new process by spawning a new process using the
11196            target object's executable module's file as the file to launch.
11197            Arguments are given in argv, and the environment variables
11198            are in envp. Standard input and output files can be
11199            optionally re-directed to stdin_path, stdout_path, and
11200            stderr_path.
11201
11202            @param[in] listener
11203                An optional listener that will receive all process events.
11204                If listener is valid then listener will listen to all
11205                process events. If not valid, then this target's debugger
11206                (SBTarget::GetDebugger()) will listen to all process events.
11207
11208            @param[in] argv
11209                The argument array.
11210
11211            @param[in] envp
11212                The environment array.
11213
11214            @param[in] launch_flags
11215                Flags to modify the launch (@see lldb::LaunchFlags)
11216
11217            @param[in] stdin_path
11218                The path to use when re-directing the STDIN of the new
11219                process. If all stdXX_path arguments are NULL, a pseudo
11220                terminal will be used.
11221
11222            @param[in] stdout_path
11223                The path to use when re-directing the STDOUT of the new
11224                process. If all stdXX_path arguments are NULL, a pseudo
11225                terminal will be used.
11226
11227            @param[in] stderr_path
11228                The path to use when re-directing the STDERR of the new
11229                process. If all stdXX_path arguments are NULL, a pseudo
11230                terminal will be used.
11231
11232            @param[in] working_directory
11233                The working directory to have the child process run in
11234
11235            @param[in] launch_flags
11236                Some launch options specified by logical OR'ing
11237                lldb::LaunchFlags enumeration values together.
11238
11239            @param[in] stop_at_entry
11240                If false do not stop the inferior at the entry point.
11241
11242            @param[out]
11243                An error object. Contains the reason if there is some failure.
11244
11245            @return
11246                 A process object for the newly created process.
11247
11248            For example,
11249
11250                process = target.Launch(self.dbg.GetListener(), None, None,
11251                                        None, '/tmp/stdout.txt', None,
11252                                        None, 0, False, error)
11253
11254            launches a new process by passing nothing for both the args and the envs
11255            and redirect the standard output of the inferior to the /tmp/stdout.txt
11256            file. It does not specify a working directory so that the debug server
11257            will use its idea of what the current working directory is for the
11258            inferior. Also, we ask the debugger not to stop the inferior at the
11259            entry point. If no breakpoint is specified for the inferior, it should
11260            run to completion if no user interaction is required.
11261        """
11262        return _lldb.SBTarget_Launch(self, *args)
11263
11264    def Attach(self, attach_info, error):
11265        r"""Attach(SBTarget self, SBAttachInfo attach_info, SBError error) -> SBProcess"""
11266        return _lldb.SBTarget_Attach(self, attach_info, error)
11267
11268    def AttachToProcessWithID(self, listener, pid, error):
11269        r"""
11270        AttachToProcessWithID(SBTarget self, SBListener listener, lldb::pid_t pid, SBError error) -> SBProcess
11271
11272            Attach to process with pid.
11273
11274            @param[in] listener
11275                An optional listener that will receive all process events.
11276                If listener is valid then listener will listen to all
11277                process events. If not valid, then this target's debugger
11278                (SBTarget::GetDebugger()) will listen to all process events.
11279
11280            @param[in] pid
11281                The process ID to attach to.
11282
11283            @param[out]
11284                An error explaining what went wrong if attach fails.
11285
11286            @return
11287                 A process object for the attached process.
11288        """
11289        return _lldb.SBTarget_AttachToProcessWithID(self, listener, pid, error)
11290
11291    def AttachToProcessWithName(self, listener, name, wait_for, error):
11292        r"""
11293        AttachToProcessWithName(SBTarget self, SBListener listener, char const * name, bool wait_for, SBError error) -> SBProcess
11294
11295            Attach to process with name.
11296
11297            @param[in] listener
11298                An optional listener that will receive all process events.
11299                If listener is valid then listener will listen to all
11300                process events. If not valid, then this target's debugger
11301                (SBTarget::GetDebugger()) will listen to all process events.
11302
11303            @param[in] name
11304                Basename of process to attach to.
11305
11306            @param[in] wait_for
11307                If true wait for a new instance of 'name' to be launched.
11308
11309            @param[out]
11310                An error explaining what went wrong if attach fails.
11311
11312            @return
11313                 A process object for the attached process.
11314        """
11315        return _lldb.SBTarget_AttachToProcessWithName(self, listener, name, wait_for, error)
11316
11317    def ConnectRemote(self, listener, url, plugin_name, error):
11318        r"""
11319        ConnectRemote(SBTarget self, SBListener listener, char const * url, char const * plugin_name, SBError error) -> SBProcess
11320
11321            Connect to a remote debug server with url.
11322
11323            @param[in] listener
11324                An optional listener that will receive all process events.
11325                If listener is valid then listener will listen to all
11326                process events. If not valid, then this target's debugger
11327                (SBTarget::GetDebugger()) will listen to all process events.
11328
11329            @param[in] url
11330                The url to connect to, e.g., 'connect://localhost:12345'.
11331
11332            @param[in] plugin_name
11333                The plugin name to be used; can be NULL.
11334
11335            @param[out]
11336                An error explaining what went wrong if the connect fails.
11337
11338            @return
11339                 A process object for the connected process.
11340        """
11341        return _lldb.SBTarget_ConnectRemote(self, listener, url, plugin_name, error)
11342
11343    def GetExecutable(self):
11344        r"""GetExecutable(SBTarget self) -> SBFileSpec"""
11345        return _lldb.SBTarget_GetExecutable(self)
11346
11347    def AppendImageSearchPath(self, _from, to, error):
11348        r"""
11349        AppendImageSearchPath(SBTarget self, char const * _from, char const * to, SBError error)
11350
11351            Append the path mapping (from -> to) to the target's paths mapping list.
11352        """
11353        return _lldb.SBTarget_AppendImageSearchPath(self, _from, to, error)
11354
11355    def AddModule(self, *args):
11356        r"""
11357        AddModule(SBTarget self, SBModule module) -> bool
11358        AddModule(SBTarget self, char const * path, char const * triple, char const * uuid) -> SBModule
11359        AddModule(SBTarget self, char const * path, char const * triple, char const * uuid_cstr, char const * symfile) -> SBModule
11360        AddModule(SBTarget self, SBModuleSpec module_spec) -> SBModule
11361        """
11362        return _lldb.SBTarget_AddModule(self, *args)
11363
11364    def GetNumModules(self):
11365        r"""GetNumModules(SBTarget self) -> uint32_t"""
11366        return _lldb.SBTarget_GetNumModules(self)
11367
11368    def GetModuleAtIndex(self, idx):
11369        r"""GetModuleAtIndex(SBTarget self, uint32_t idx) -> SBModule"""
11370        return _lldb.SBTarget_GetModuleAtIndex(self, idx)
11371
11372    def RemoveModule(self, module):
11373        r"""RemoveModule(SBTarget self, SBModule module) -> bool"""
11374        return _lldb.SBTarget_RemoveModule(self, module)
11375
11376    def GetDebugger(self):
11377        r"""GetDebugger(SBTarget self) -> SBDebugger"""
11378        return _lldb.SBTarget_GetDebugger(self)
11379
11380    def FindModule(self, file_spec):
11381        r"""FindModule(SBTarget self, SBFileSpec file_spec) -> SBModule"""
11382        return _lldb.SBTarget_FindModule(self, file_spec)
11383
11384    def FindCompileUnits(self, sb_file_spec):
11385        r"""
11386        FindCompileUnits(SBTarget self, SBFileSpec sb_file_spec) -> SBSymbolContextList
11387
11388            Find compile units related to this target and passed source
11389            file.
11390
11391            :param sb_file_spec: A :py:class:`lldb::SBFileSpec` object that contains source file
11392                specification.
11393            :return: The symbol contexts for all the matches.
11394            :rtype: SBSymbolContextList
11395        """
11396        return _lldb.SBTarget_FindCompileUnits(self, sb_file_spec)
11397
11398    def GetByteOrder(self):
11399        r"""GetByteOrder(SBTarget self) -> lldb::ByteOrder"""
11400        return _lldb.SBTarget_GetByteOrder(self)
11401
11402    def GetAddressByteSize(self):
11403        r"""GetAddressByteSize(SBTarget self) -> uint32_t"""
11404        return _lldb.SBTarget_GetAddressByteSize(self)
11405
11406    def GetTriple(self):
11407        r"""GetTriple(SBTarget self) -> char const *"""
11408        return _lldb.SBTarget_GetTriple(self)
11409
11410    def GetABIName(self):
11411        r"""GetABIName(SBTarget self) -> char const *"""
11412        return _lldb.SBTarget_GetABIName(self)
11413
11414    def GetLabel(self):
11415        r"""GetLabel(SBTarget self) -> char const *"""
11416        return _lldb.SBTarget_GetLabel(self)
11417
11418    def SetLabel(self, label):
11419        r"""SetLabel(SBTarget self, char const * label) -> SBError"""
11420        return _lldb.SBTarget_SetLabel(self, label)
11421
11422    def GetDataByteSize(self):
11423        r"""
11424        GetDataByteSize(SBTarget self) -> uint32_t
11425
11426            Architecture data byte width accessor
11427
11428            :return: The size in 8-bit (host) bytes of a minimum addressable unit from the Architecture's data bus.
11429
11430
11431        """
11432        return _lldb.SBTarget_GetDataByteSize(self)
11433
11434    def GetCodeByteSize(self):
11435        r"""
11436        GetCodeByteSize(SBTarget self) -> uint32_t
11437
11438            Architecture code byte width accessor.
11439
11440            :return: The size in 8-bit (host) bytes of a minimum addressable unit from the Architecture's code bus.
11441
11442
11443        """
11444        return _lldb.SBTarget_GetCodeByteSize(self)
11445
11446    def GetMaximumNumberOfChildrenToDisplay(self):
11447        r"""GetMaximumNumberOfChildrenToDisplay(SBTarget self) -> uint32_t"""
11448        return _lldb.SBTarget_GetMaximumNumberOfChildrenToDisplay(self)
11449
11450    def SetSectionLoadAddress(self, section, section_base_addr):
11451        r"""SetSectionLoadAddress(SBTarget self, SBSection section, lldb::addr_t section_base_addr) -> SBError"""
11452        return _lldb.SBTarget_SetSectionLoadAddress(self, section, section_base_addr)
11453
11454    def ClearSectionLoadAddress(self, section):
11455        r"""ClearSectionLoadAddress(SBTarget self, SBSection section) -> SBError"""
11456        return _lldb.SBTarget_ClearSectionLoadAddress(self, section)
11457
11458    def SetModuleLoadAddress(self, module, sections_offset):
11459        r"""SetModuleLoadAddress(SBTarget self, SBModule module, uint64_t sections_offset) -> SBError"""
11460        return _lldb.SBTarget_SetModuleLoadAddress(self, module, sections_offset)
11461
11462    def ClearModuleLoadAddress(self, module):
11463        r"""ClearModuleLoadAddress(SBTarget self, SBModule module) -> SBError"""
11464        return _lldb.SBTarget_ClearModuleLoadAddress(self, module)
11465
11466    def FindFunctions(self, *args):
11467        r"""
11468        FindFunctions(SBTarget self, char const * name, uint32_t name_type_mask=eFunctionNameTypeAny) -> SBSymbolContextList
11469
11470            Find functions by name.
11471
11472            :param name: The name of the function we are looking for.
11473
11474            :param name_type_mask:
11475                A logical OR of one or more FunctionNameType enum bits that
11476                indicate what kind of names should be used when doing the
11477                lookup. Bits include fully qualified names, base names,
11478                C++ methods, or ObjC selectors.
11479                See FunctionNameType for more details.
11480
11481            :return:
11482                A lldb::SBSymbolContextList that gets filled in with all of
11483                the symbol contexts for all the matches.
11484        """
11485        return _lldb.SBTarget_FindFunctions(self, *args)
11486
11487    def FindFirstGlobalVariable(self, name):
11488        r"""
11489        FindFirstGlobalVariable(SBTarget self, char const * name) -> SBValue
11490
11491            Find the first global (or static) variable by name.
11492
11493            @param[in] name
11494                The name of the global or static variable we are looking
11495                for.
11496
11497            @return
11498                An SBValue that gets filled in with the found variable (if any).
11499        """
11500        return _lldb.SBTarget_FindFirstGlobalVariable(self, name)
11501
11502    def FindGlobalVariables(self, *args):
11503        r"""
11504        FindGlobalVariables(SBTarget self, char const * name, uint32_t max_matches) -> SBValueList
11505        FindGlobalVariables(SBTarget self, char const * name, uint32_t max_matches, lldb::MatchType matchtype) -> SBValueList
11506
11507            Find global and static variables by name.
11508
11509            @param[in] name
11510                The name of the global or static variable we are looking
11511                for.
11512
11513            @param[in] max_matches
11514                Allow the number of matches to be limited to max_matches.
11515
11516            @return
11517                A list of matched variables in an SBValueList.
11518        """
11519        return _lldb.SBTarget_FindGlobalVariables(self, *args)
11520
11521    def FindGlobalFunctions(self, name, max_matches, matchtype):
11522        r"""FindGlobalFunctions(SBTarget self, char const * name, uint32_t max_matches, lldb::MatchType matchtype) -> SBSymbolContextList"""
11523        return _lldb.SBTarget_FindGlobalFunctions(self, name, max_matches, matchtype)
11524
11525    def Clear(self):
11526        r"""Clear(SBTarget self)"""
11527        return _lldb.SBTarget_Clear(self)
11528
11529    def ResolveFileAddress(self, file_addr):
11530        r"""
11531        ResolveFileAddress(SBTarget self, lldb::addr_t file_addr) -> SBAddress
11532
11533            Resolve a current file address into a section offset address.
11534
11535            @param[in] file_addr
11536
11537            @return
11538                An SBAddress which will be valid if...
11539        """
11540        return _lldb.SBTarget_ResolveFileAddress(self, file_addr)
11541
11542    def ResolveLoadAddress(self, vm_addr):
11543        r"""ResolveLoadAddress(SBTarget self, lldb::addr_t vm_addr) -> SBAddress"""
11544        return _lldb.SBTarget_ResolveLoadAddress(self, vm_addr)
11545
11546    def ResolvePastLoadAddress(self, stop_id, vm_addr):
11547        r"""ResolvePastLoadAddress(SBTarget self, uint32_t stop_id, lldb::addr_t vm_addr) -> SBAddress"""
11548        return _lldb.SBTarget_ResolvePastLoadAddress(self, stop_id, vm_addr)
11549
11550    def ResolveSymbolContextForAddress(self, addr, resolve_scope):
11551        r"""ResolveSymbolContextForAddress(SBTarget self, SBAddress addr, uint32_t resolve_scope) -> SBSymbolContext"""
11552        return _lldb.SBTarget_ResolveSymbolContextForAddress(self, addr, resolve_scope)
11553
11554    def ReadMemory(self, addr, buf, error):
11555        r"""
11556        ReadMemory(SBTarget self, SBAddress addr, void * buf, SBError error) -> size_t
11557
11558            Read target memory. If a target process is running then memory
11559            is read from here. Otherwise the memory is read from the object
11560            files. For a target whose bytes are sized as a multiple of host
11561            bytes, the data read back will preserve the target's byte order.
11562
11563            @param[in] addr
11564                A target address to read from.
11565
11566            @param[out] buf
11567                The buffer to read memory into.
11568
11569            @param[in] size
11570                The maximum number of host bytes to read in the buffer passed
11571                into this call
11572
11573            @param[out] error
11574                Error information is written here if the memory read fails.
11575
11576            @return
11577                The amount of data read in host bytes.
11578        """
11579        return _lldb.SBTarget_ReadMemory(self, addr, buf, error)
11580
11581    def BreakpointCreateByLocation(self, *args):
11582        r"""
11583        BreakpointCreateByLocation(SBTarget self, char const * file, uint32_t line) -> SBBreakpoint
11584        BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line) -> SBBreakpoint
11585        BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line, lldb::addr_t offset) -> SBBreakpoint
11586        BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line, lldb::addr_t offset, SBFileSpecList module_list) -> SBBreakpoint
11587        BreakpointCreateByLocation(SBTarget self, SBFileSpec file_spec, uint32_t line, uint32_t column, lldb::addr_t offset, SBFileSpecList module_list) -> SBBreakpoint
11588        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
11589        """
11590        return _lldb.SBTarget_BreakpointCreateByLocation(self, *args)
11591
11592    def BreakpointCreateByName(self, *args):
11593        r"""
11594        BreakpointCreateByName(SBTarget self, char const * symbol_name, char const * module_name=None) -> SBBreakpoint
11595        BreakpointCreateByName(SBTarget self, char const * symbol_name, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint
11596        BreakpointCreateByName(SBTarget self, char const * symbol_name, uint32_t name_type_mask, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint
11597        BreakpointCreateByName(SBTarget self, char const * symbol_name, uint32_t name_type_mask, lldb::LanguageType symbol_language, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint
11598        """
11599        return _lldb.SBTarget_BreakpointCreateByName(self, *args)
11600
11601    def BreakpointCreateByNames(self, *args):
11602        r"""
11603        BreakpointCreateByNames(SBTarget self, char const ** symbol_name, uint32_t name_type_mask, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint
11604        BreakpointCreateByNames(SBTarget self, char const ** symbol_name, uint32_t name_type_mask, lldb::LanguageType symbol_language, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint
11605        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
11606        """
11607        return _lldb.SBTarget_BreakpointCreateByNames(self, *args)
11608
11609    def BreakpointCreateByRegex(self, *args):
11610        r"""
11611        BreakpointCreateByRegex(SBTarget self, char const * symbol_name_regex, char const * module_name=None) -> SBBreakpoint
11612        BreakpointCreateByRegex(SBTarget self, char const * symbol_name_regex, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint
11613        BreakpointCreateByRegex(SBTarget self, char const * symbol_name_regex, lldb::LanguageType symbol_language, SBFileSpecList module_list, SBFileSpecList comp_unit_list) -> SBBreakpoint
11614        """
11615        return _lldb.SBTarget_BreakpointCreateByRegex(self, *args)
11616
11617    def BreakpointCreateBySourceRegex(self, *args):
11618        r"""
11619        BreakpointCreateBySourceRegex(SBTarget self, char const * source_regex, SBFileSpec source_file, char const * module_name=None) -> SBBreakpoint
11620        BreakpointCreateBySourceRegex(SBTarget self, char const * source_regex, SBFileSpecList module_list, SBFileSpecList source_file) -> SBBreakpoint
11621        BreakpointCreateBySourceRegex(SBTarget self, char const * source_regex, SBFileSpecList module_list, SBFileSpecList source_file, SBStringList func_names) -> SBBreakpoint
11622        """
11623        return _lldb.SBTarget_BreakpointCreateBySourceRegex(self, *args)
11624
11625    def BreakpointCreateForException(self, language, catch_bp, throw_bp):
11626        r"""BreakpointCreateForException(SBTarget self, lldb::LanguageType language, bool catch_bp, bool throw_bp) -> SBBreakpoint"""
11627        return _lldb.SBTarget_BreakpointCreateForException(self, language, catch_bp, throw_bp)
11628
11629    def BreakpointCreateByAddress(self, address):
11630        r"""BreakpointCreateByAddress(SBTarget self, lldb::addr_t address) -> SBBreakpoint"""
11631        return _lldb.SBTarget_BreakpointCreateByAddress(self, address)
11632
11633    def BreakpointCreateBySBAddress(self, address):
11634        r"""BreakpointCreateBySBAddress(SBTarget self, SBAddress address) -> SBBreakpoint"""
11635        return _lldb.SBTarget_BreakpointCreateBySBAddress(self, address)
11636
11637    def BreakpointCreateFromScript(self, class_name, extra_args, module_list, file_list, request_hardware=False):
11638        r"""
11639        BreakpointCreateFromScript(SBTarget self, char const * class_name, SBStructuredData extra_args, SBFileSpecList module_list, SBFileSpecList file_list, bool request_hardware=False) -> SBBreakpoint
11640
11641            Create a breakpoint using a scripted resolver.
11642
11643            @param[in] class_name
11644               This is the name of the class that implements a scripted resolver.
11645               The class should have the following signature: ::
11646
11647                   class Resolver:
11648                       def __init__(self, bkpt, extra_args):
11649                           # bkpt - the breakpoint for which this is the resolver.  When
11650                           # the resolver finds an interesting address, call AddLocation
11651                           # on this breakpoint to add it.
11652                           #
11653                           # extra_args - an SBStructuredData that can be used to
11654                           # parametrize this instance.  Same as the extra_args passed
11655                           # to BreakpointCreateFromScript.
11656
11657                       def __get_depth__ (self):
11658                           # This is optional, but if defined, you should return the
11659                           # depth at which you want the callback to be called.  The
11660                           # available options are:
11661                           #    lldb.eSearchDepthModule
11662                           #    lldb.eSearchDepthCompUnit
11663                           # The default if you don't implement this method is
11664                           # eSearchDepthModule.
11665
11666                       def __callback__(self, sym_ctx):
11667                           # sym_ctx - an SBSymbolContext that is the cursor in the
11668                           # search through the program to resolve breakpoints.
11669                           # The sym_ctx will be filled out to the depth requested in
11670                           # __get_depth__.
11671                           # Look in this sym_ctx for new breakpoint locations,
11672                           # and if found use bkpt.AddLocation to add them.
11673                           # Note, you will only get called for modules/compile_units that
11674                           # pass the SearchFilter provided by the module_list & file_list
11675                           # passed into BreakpointCreateFromScript.
11676
11677                       def get_short_help(self):
11678                           # Optional, but if implemented return a short string that will
11679                           # be printed at the beginning of the break list output for the
11680                           # breakpoint.
11681
11682            @param[in] extra_args
11683               This is an SBStructuredData object that will get passed to the
11684               constructor of the class in class_name.  You can use this to
11685               reuse the same class, parametrizing it with entries from this
11686               dictionary.
11687
11688            @param module_list
11689               If this is non-empty, this will be used as the module filter in the
11690               SearchFilter created for this breakpoint.
11691
11692            @param file_list
11693               If this is non-empty, this will be used as the comp unit filter in the
11694               SearchFilter created for this breakpoint.
11695
11696            @return
11697                An SBBreakpoint that will set locations based on the logic in the
11698                resolver's search callback.
11699        """
11700        return _lldb.SBTarget_BreakpointCreateFromScript(self, class_name, extra_args, module_list, file_list, request_hardware)
11701
11702    def BreakpointsCreateFromFile(self, *args):
11703        r"""
11704        BreakpointsCreateFromFile(SBTarget self, SBFileSpec source_file, SBBreakpointList new_bps) -> SBError
11705        BreakpointsCreateFromFile(SBTarget self, SBFileSpec source_file, SBStringList matching_names, SBBreakpointList new_bps) -> SBError
11706
11707            Read breakpoints from source_file and return the newly created
11708            breakpoints in bkpt_list.
11709
11710            @param[in] source_file
11711               The file from which to read the breakpoints
11712
11713            @param[in] matching_names
11714               Only read in breakpoints whose names match one of the names in this
11715               list.
11716
11717            @param[out] bkpt_list
11718               A list of the newly created breakpoints.
11719
11720            @return
11721                An SBError detailing any errors in reading in the breakpoints.
11722        """
11723        return _lldb.SBTarget_BreakpointsCreateFromFile(self, *args)
11724
11725    def BreakpointsWriteToFile(self, *args):
11726        r"""
11727        BreakpointsWriteToFile(SBTarget self, SBFileSpec dest_file) -> SBError
11728        BreakpointsWriteToFile(SBTarget self, SBFileSpec dest_file, SBBreakpointList bkpt_list, bool append=False) -> SBError
11729
11730            Write breakpoints listed in bkpt_list to dest_file.
11731
11732            @param[in] dest_file
11733               The file to which to write the breakpoints.
11734
11735            @param[in] bkpt_list
11736               Only write breakpoints from this list.
11737
11738            @param[in] append
11739               If true, append the breakpoints in bkpt_list to the others
11740               serialized in dest_file.  If dest_file doesn't exist, then a new
11741               file will be created and the breakpoints in bkpt_list written to it.
11742
11743            @return
11744                An SBError detailing any errors in writing in the breakpoints.
11745        """
11746        return _lldb.SBTarget_BreakpointsWriteToFile(self, *args)
11747
11748    def GetNumBreakpoints(self):
11749        r"""GetNumBreakpoints(SBTarget self) -> uint32_t"""
11750        return _lldb.SBTarget_GetNumBreakpoints(self)
11751
11752    def GetBreakpointAtIndex(self, idx):
11753        r"""GetBreakpointAtIndex(SBTarget self, uint32_t idx) -> SBBreakpoint"""
11754        return _lldb.SBTarget_GetBreakpointAtIndex(self, idx)
11755
11756    def BreakpointDelete(self, break_id):
11757        r"""BreakpointDelete(SBTarget self, lldb::break_id_t break_id) -> bool"""
11758        return _lldb.SBTarget_BreakpointDelete(self, break_id)
11759
11760    def FindBreakpointByID(self, break_id):
11761        r"""FindBreakpointByID(SBTarget self, lldb::break_id_t break_id) -> SBBreakpoint"""
11762        return _lldb.SBTarget_FindBreakpointByID(self, break_id)
11763
11764    def FindBreakpointsByName(self, name, bkpt_list):
11765        r"""FindBreakpointsByName(SBTarget self, char const * name, SBBreakpointList bkpt_list) -> bool"""
11766        return _lldb.SBTarget_FindBreakpointsByName(self, name, bkpt_list)
11767
11768    def GetBreakpointNames(self, names):
11769        r"""GetBreakpointNames(SBTarget self, SBStringList names)"""
11770        return _lldb.SBTarget_GetBreakpointNames(self, names)
11771
11772    def DeleteBreakpointName(self, name):
11773        r"""DeleteBreakpointName(SBTarget self, char const * name)"""
11774        return _lldb.SBTarget_DeleteBreakpointName(self, name)
11775
11776    def EnableAllBreakpoints(self):
11777        r"""EnableAllBreakpoints(SBTarget self) -> bool"""
11778        return _lldb.SBTarget_EnableAllBreakpoints(self)
11779
11780    def DisableAllBreakpoints(self):
11781        r"""DisableAllBreakpoints(SBTarget self) -> bool"""
11782        return _lldb.SBTarget_DisableAllBreakpoints(self)
11783
11784    def DeleteAllBreakpoints(self):
11785        r"""DeleteAllBreakpoints(SBTarget self) -> bool"""
11786        return _lldb.SBTarget_DeleteAllBreakpoints(self)
11787
11788    def GetNumWatchpoints(self):
11789        r"""GetNumWatchpoints(SBTarget self) -> uint32_t"""
11790        return _lldb.SBTarget_GetNumWatchpoints(self)
11791
11792    def GetWatchpointAtIndex(self, idx):
11793        r"""GetWatchpointAtIndex(SBTarget self, uint32_t idx) -> SBWatchpoint"""
11794        return _lldb.SBTarget_GetWatchpointAtIndex(self, idx)
11795
11796    def DeleteWatchpoint(self, watch_id):
11797        r"""DeleteWatchpoint(SBTarget self, lldb::watch_id_t watch_id) -> bool"""
11798        return _lldb.SBTarget_DeleteWatchpoint(self, watch_id)
11799
11800    def FindWatchpointByID(self, watch_id):
11801        r"""FindWatchpointByID(SBTarget self, lldb::watch_id_t watch_id) -> SBWatchpoint"""
11802        return _lldb.SBTarget_FindWatchpointByID(self, watch_id)
11803
11804    def WatchAddress(self, addr, size, read, modify, error):
11805        r"""WatchAddress(SBTarget self, lldb::addr_t addr, size_t size, bool read, bool modify, SBError error) -> SBWatchpoint"""
11806        return _lldb.SBTarget_WatchAddress(self, addr, size, read, modify, error)
11807
11808    def WatchpointCreateByAddress(self, addr, size, options, error):
11809        r"""WatchpointCreateByAddress(SBTarget self, lldb::addr_t addr, size_t size, SBWatchpointOptions options, SBError error) -> SBWatchpoint"""
11810        return _lldb.SBTarget_WatchpointCreateByAddress(self, addr, size, options, error)
11811
11812    def EnableAllWatchpoints(self):
11813        r"""EnableAllWatchpoints(SBTarget self) -> bool"""
11814        return _lldb.SBTarget_EnableAllWatchpoints(self)
11815
11816    def DisableAllWatchpoints(self):
11817        r"""DisableAllWatchpoints(SBTarget self) -> bool"""
11818        return _lldb.SBTarget_DisableAllWatchpoints(self)
11819
11820    def DeleteAllWatchpoints(self):
11821        r"""DeleteAllWatchpoints(SBTarget self) -> bool"""
11822        return _lldb.SBTarget_DeleteAllWatchpoints(self)
11823
11824    def GetBroadcaster(self):
11825        r"""GetBroadcaster(SBTarget self) -> SBBroadcaster"""
11826        return _lldb.SBTarget_GetBroadcaster(self)
11827
11828    def FindFirstType(self, type):
11829        r"""FindFirstType(SBTarget self, char const * type) -> SBType"""
11830        return _lldb.SBTarget_FindFirstType(self, type)
11831
11832    def FindTypes(self, type):
11833        r"""FindTypes(SBTarget self, char const * type) -> SBTypeList"""
11834        return _lldb.SBTarget_FindTypes(self, type)
11835
11836    def GetBasicType(self, type):
11837        r"""GetBasicType(SBTarget self, lldb::BasicType type) -> SBType"""
11838        return _lldb.SBTarget_GetBasicType(self, type)
11839
11840    def CreateValueFromAddress(self, name, addr, type):
11841        r"""
11842        CreateValueFromAddress(SBTarget self, char const * name, SBAddress addr, SBType type) -> SBValue
11843
11844            Create an SBValue with the given name by treating the memory starting at addr as an entity of type.
11845
11846            @param[in] name
11847                The name of the resultant SBValue
11848
11849            @param[in] addr
11850                The address of the start of the memory region to be used.
11851
11852            @param[in] type
11853                The type to use to interpret the memory starting at addr.
11854
11855            @return
11856                An SBValue of the given type, may be invalid if there was an error reading
11857                the underlying memory.
11858        """
11859        return _lldb.SBTarget_CreateValueFromAddress(self, name, addr, type)
11860
11861    def CreateValueFromData(self, name, data, type):
11862        r"""CreateValueFromData(SBTarget self, char const * name, SBData data, SBType type) -> SBValue"""
11863        return _lldb.SBTarget_CreateValueFromData(self, name, data, type)
11864
11865    def CreateValueFromExpression(self, name, expr):
11866        r"""CreateValueFromExpression(SBTarget self, char const * name, char const * expr) -> SBValue"""
11867        return _lldb.SBTarget_CreateValueFromExpression(self, name, expr)
11868
11869    def GetSourceManager(self):
11870        r"""GetSourceManager(SBTarget self) -> SBSourceManager"""
11871        return _lldb.SBTarget_GetSourceManager(self)
11872
11873    def ReadInstructions(self, *args):
11874        r"""
11875        ReadInstructions(SBTarget self, SBAddress base_addr, uint32_t count) -> SBInstructionList
11876        ReadInstructions(SBTarget self, SBAddress base_addr, uint32_t count, char const * flavor_string) -> SBInstructionList
11877        ReadInstructions(SBTarget self, SBAddress start_addr, SBAddress end_addr, char const * flavor_string) -> SBInstructionList
11878
11879            Disassemble a specified number of instructions starting at an address.
11880
11881            :param base_addr: the address to start disassembly from.
11882            :param count: the number of instructions to disassemble.
11883            :param flavor_string: may be 'intel' or 'att' on x86 targets to specify that style of disassembly.
11884            :rtype: SBInstructionList
11885
11886        """
11887        return _lldb.SBTarget_ReadInstructions(self, *args)
11888
11889    def GetInstructions(self, base_addr, buf):
11890        r"""
11891        GetInstructions(SBTarget self, SBAddress base_addr, void const * buf) -> SBInstructionList
11892
11893            Disassemble the bytes in a buffer and return them in an SBInstructionList.
11894
11895            :param base_addr: used for symbolicating the offsets in the byte stream when disassembling.
11896            :param buf: bytes to be disassembled.
11897            :param size: (C++) size of the buffer.
11898            :rtype: SBInstructionList
11899
11900        """
11901        return _lldb.SBTarget_GetInstructions(self, base_addr, buf)
11902
11903    def GetInstructionsWithFlavor(self, base_addr, flavor_string, buf):
11904        r"""
11905        GetInstructionsWithFlavor(SBTarget self, SBAddress base_addr, char const * flavor_string, void const * buf) -> SBInstructionList
11906
11907            Disassemble the bytes in a buffer and return them in an SBInstructionList, with a supplied flavor.
11908
11909            :param base_addr: used for symbolicating the offsets in the byte stream when disassembling.
11910            :param flavor:  may be 'intel' or 'att' on x86 targets to specify that style of disassembly.
11911            :param buf: bytes to be disassembled.
11912            :param size: (C++) size of the buffer.
11913            :rtype: SBInstructionList
11914
11915        """
11916        return _lldb.SBTarget_GetInstructionsWithFlavor(self, base_addr, flavor_string, buf)
11917
11918    def FindSymbols(self, *args):
11919        r"""FindSymbols(SBTarget self, char const * name, lldb::SymbolType type=eSymbolTypeAny) -> SBSymbolContextList"""
11920        return _lldb.SBTarget_FindSymbols(self, *args)
11921
11922    def __eq__(self, rhs):
11923        r"""__eq__(SBTarget self, SBTarget rhs) -> bool"""
11924        return _lldb.SBTarget___eq__(self, rhs)
11925
11926    def __ne__(self, rhs):
11927        r"""__ne__(SBTarget self, SBTarget rhs) -> bool"""
11928        return _lldb.SBTarget___ne__(self, rhs)
11929
11930    def GetDescription(self, description, description_level):
11931        r"""GetDescription(SBTarget self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
11932        return _lldb.SBTarget_GetDescription(self, description, description_level)
11933
11934    def EvaluateExpression(self, *args):
11935        r"""
11936        EvaluateExpression(SBTarget self, char const * expr) -> SBValue
11937        EvaluateExpression(SBTarget self, char const * expr, SBExpressionOptions options) -> SBValue
11938        """
11939        return _lldb.SBTarget_EvaluateExpression(self, *args)
11940
11941    def GetStackRedZoneSize(self):
11942        r"""GetStackRedZoneSize(SBTarget self) -> lldb::addr_t"""
11943        return _lldb.SBTarget_GetStackRedZoneSize(self)
11944
11945    def IsLoaded(self, module):
11946        r"""
11947        IsLoaded(SBTarget self, SBModule module) -> bool
11948
11949            Returns true if the module has been loaded in this `SBTarget`.
11950            A module can be loaded either by the dynamic loader or by being manually
11951            added to the target (see `SBTarget.AddModule` and the ``target module add`` command).
11952
11953            :rtype: bool
11954
11955        """
11956        return _lldb.SBTarget_IsLoaded(self, module)
11957
11958    def GetLaunchInfo(self):
11959        r"""GetLaunchInfo(SBTarget self) -> SBLaunchInfo"""
11960        return _lldb.SBTarget_GetLaunchInfo(self)
11961
11962    def SetLaunchInfo(self, launch_info):
11963        r"""SetLaunchInfo(SBTarget self, SBLaunchInfo launch_info)"""
11964        return _lldb.SBTarget_SetLaunchInfo(self, launch_info)
11965
11966    def GetTrace(self):
11967        r"""GetTrace(SBTarget self) -> SBTrace"""
11968        return _lldb.SBTarget_GetTrace(self)
11969
11970    def CreateTrace(self, error):
11971        r"""CreateTrace(SBTarget self, SBError error) -> SBTrace"""
11972        return _lldb.SBTarget_CreateTrace(self, error)
11973
11974    def __repr__(self):
11975        r"""__repr__(SBTarget self) -> std::string"""
11976        return _lldb.SBTarget___repr__(self)
11977
11978            # operator== is a free function, which swig does not handle, so we inject
11979            # our own equality operator here
11980    def __eq__(self, other):
11981        return not self.__ne__(other)
11982
11983    class modules_access(object):
11984        '''A helper object that will lazily hand out lldb.SBModule objects for a target when supplied an index, or by full or partial path.'''
11985        def __init__(self, sbtarget):
11986            self.sbtarget = sbtarget
11987
11988        def __len__(self):
11989            if self.sbtarget:
11990                return int(self.sbtarget.GetNumModules())
11991            return 0
11992
11993        def __getitem__(self, key):
11994            num_modules = self.sbtarget.GetNumModules()
11995            if type(key) is int:
11996                if -num_modules <= key < num_modules:
11997                    key %= num_modules
11998                    return self.sbtarget.GetModuleAtIndex(key)
11999            elif type(key) is str:
12000                if key.find('/') == -1:
12001                    for idx in range(num_modules):
12002                        module = self.sbtarget.GetModuleAtIndex(idx)
12003                        if module.file.basename == key:
12004                            return module
12005                else:
12006                    for idx in range(num_modules):
12007                        module = self.sbtarget.GetModuleAtIndex(idx)
12008                        if module.file.fullpath == key:
12009                            return module
12010    # See if the string is a UUID
12011                try:
12012                    the_uuid = uuid.UUID(key)
12013                    if the_uuid:
12014                        for idx in range(num_modules):
12015                            module = self.sbtarget.GetModuleAtIndex(idx)
12016                            if module.uuid == the_uuid:
12017                                return module
12018                except:
12019                    return None
12020            elif type(key) is uuid.UUID:
12021                for idx in range(num_modules):
12022                    module = self.sbtarget.GetModuleAtIndex(idx)
12023                    if module.uuid == key:
12024                        return module
12025            elif type(key) is re.SRE_Pattern:
12026                matching_modules = []
12027                for idx in range(num_modules):
12028                    module = self.sbtarget.GetModuleAtIndex(idx)
12029                    re_match = key.search(module.path.fullpath)
12030                    if re_match:
12031                        matching_modules.append(module)
12032                return matching_modules
12033            else:
12034                print("error: unsupported item type: %s" % type(key))
12035            return None
12036
12037    def get_modules_access_object(self):
12038        '''An accessor function that returns a modules_access() object which allows lazy module access from a lldb.SBTarget object.'''
12039        return self.modules_access(self)
12040
12041    def get_modules_array(self):
12042        '''An accessor function that returns a list() that contains all modules in a lldb.SBTarget object.'''
12043        modules = []
12044        for idx in range(self.GetNumModules()):
12045            modules.append(self.GetModuleAtIndex(idx))
12046        return modules
12047
12048    def module_iter(self):
12049        '''Returns an iterator over all modules in a lldb.SBTarget
12050        object.'''
12051        return lldb_iter(self, 'GetNumModules', 'GetModuleAtIndex')
12052
12053    def breakpoint_iter(self):
12054        '''Returns an iterator over all breakpoints in a lldb.SBTarget
12055        object.'''
12056        return lldb_iter(self, 'GetNumBreakpoints', 'GetBreakpointAtIndex')
12057
12058    class bkpts_access(object):
12059        '''A helper object that will lazily hand out bkpts for a target when supplied an index.'''
12060        def __init__(self, sbtarget):
12061            self.sbtarget = sbtarget
12062
12063        def __len__(self):
12064            if self.sbtarget:
12065                return int(self.sbtarget.GetNumBreakpoints())
12066            return 0
12067
12068        def __getitem__(self, key):
12069            if isinstance(key, int):
12070                count = len(self)
12071                if -count <= key < count:
12072                    key %= count
12073                    return self.sbtarget.GetBreakpointAtIndex(key)
12074            return None
12075
12076    def get_bkpts_access_object(self):
12077        '''An accessor function that returns a bkpts_access() object which allows lazy bkpt access from a lldb.SBtarget object.'''
12078        return self.bkpts_access(self)
12079
12080    def get_target_bkpts(self):
12081        '''An accessor function that returns a list() that contains all bkpts in a lldb.SBtarget object.'''
12082        bkpts = []
12083        for idx in range(self.GetNumBreakpoints()):
12084            bkpts.append(self.GetBreakpointAtIndex(idx))
12085        return bkpts
12086
12087    def watchpoint_iter(self):
12088        '''Returns an iterator over all watchpoints in a lldb.SBTarget
12089        object.'''
12090        return lldb_iter(self, 'GetNumWatchpoints', 'GetWatchpointAtIndex')
12091
12092    class watchpoints_access(object):
12093        '''A helper object that will lazily hand out watchpoints for a target when supplied an index.'''
12094        def __init__(self, sbtarget):
12095            self.sbtarget = sbtarget
12096
12097        def __len__(self):
12098            if self.sbtarget:
12099                return int(self.sbtarget.GetNumWatchpoints())
12100            return 0
12101
12102        def __getitem__(self, key):
12103            if isinstance(key, int):
12104                count = len(self)
12105                if -count <= key < count:
12106                    key %= count
12107                    return self.sbtarget.GetWatchpointAtIndex(key)
12108            return None
12109
12110    def get_watchpoints_access_object(self):
12111        '''An accessor function that returns a watchpoints_access() object which allows lazy watchpoint access from a lldb.SBtarget object.'''
12112        return self.watchpoints_access(self)
12113
12114    def get_target_watchpoints(self):
12115        '''An accessor function that returns a list() that contains all watchpoints in a lldb.SBtarget object.'''
12116        watchpoints = []
12117        for idx in range(self.GetNumWatchpoints()):
12118            watchpoints.append(self.GetWatchpointAtIndex(idx))
12119        return watchpoints
12120
12121    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).''')
12122    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.''')
12123    process = property(GetProcess, None, doc='''A read only property that returns an lldb object that represents the process (lldb.SBProcess) that this target owns.''')
12124    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.''')
12125    debugger = property(GetDebugger, None, doc='''A read only property that returns an lldb object that represents the debugger (lldb.SBDebugger) that owns this target.''')
12126    num_breakpoints = property(GetNumBreakpoints, None, doc='''A read only property that returns the number of breakpoints that this target has as an integer.''')
12127    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.''')
12128    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]").''')
12129    num_watchpoints = property(GetNumWatchpoints, None, doc='''A read only property that returns the number of watchpoints that this target has as an integer.''')
12130    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.''')
12131    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]").''')
12132    broadcaster = property(GetBroadcaster, None, doc='''A read only property that an lldb object that represents the broadcaster (lldb.SBBroadcaster) for this target.''')
12133    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.''')
12134    addr_size = property(GetAddressByteSize, None, doc='''A read only property that returns the size in bytes of an address for this target.''')
12135    triple = property(GetTriple, None, doc='''A read only property that returns the target triple (arch-vendor-os) for this target as a string.''')
12136    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.''')
12137    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.''')
12138    platform = property(GetPlatform, None, doc='''A read only property that returns the platform associated with with this target.''')
12139
12140
12141    def __eq__(self, rhs):
12142        if not isinstance(rhs, type(self)):
12143            return False
12144
12145        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
12146
12147    def __ne__(self, rhs):
12148        if not isinstance(rhs, type(self)):
12149            return True
12150
12151        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
12152
12153
12154# Register SBTarget in _lldb:
12155_lldb.SBTarget_swigregister(SBTarget)
12156class SBThread(object):
12157    r"""
12158    Represents a thread of execution. :py:class:`SBProcess` contains SBThread(s).
12159
12160    SBThreads can be referred to by their ID, which maps to the system specific thread
12161    identifier, or by IndexID.  The ID may or may not be unique depending on whether the
12162    system reuses its thread identifiers.  The IndexID is a monotonically increasing identifier
12163    that will always uniquely reference a particular thread, and when that thread goes
12164    away it will not be reused.
12165
12166    SBThread supports frame iteration. For example (from test/python_api/
12167    lldbutil/iter/TestLLDBIterator.py), ::
12168
12169            from lldbutil import print_stacktrace
12170            stopped_due_to_breakpoint = False
12171            for thread in process:
12172                if self.TraceOn():
12173                    print_stacktrace(thread)
12174                ID = thread.GetThreadID()
12175                if thread.GetStopReason() == lldb.eStopReasonBreakpoint:
12176                    stopped_due_to_breakpoint = True
12177                for frame in thread:
12178                    self.assertTrue(frame.GetThread().GetThreadID() == ID)
12179                    if self.TraceOn():
12180                        print frame
12181
12182            self.assertTrue(stopped_due_to_breakpoint)
12183
12184    See also :py:class:`SBFrame` .
12185    """
12186
12187    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12188    eBroadcastBitStackChanged = _lldb.SBThread_eBroadcastBitStackChanged
12189
12190    eBroadcastBitThreadSuspended = _lldb.SBThread_eBroadcastBitThreadSuspended
12191
12192    eBroadcastBitThreadResumed = _lldb.SBThread_eBroadcastBitThreadResumed
12193
12194    eBroadcastBitSelectedFrameChanged = _lldb.SBThread_eBroadcastBitSelectedFrameChanged
12195
12196    eBroadcastBitThreadSelected = _lldb.SBThread_eBroadcastBitThreadSelected
12197
12198
12199    @staticmethod
12200    def GetBroadcasterClassName():
12201        r"""GetBroadcasterClassName() -> char const *"""
12202        return _lldb.SBThread_GetBroadcasterClassName()
12203
12204    def __init__(self, *args):
12205        r"""
12206        __init__(SBThread self) -> SBThread
12207        __init__(SBThread self, SBThread thread) -> SBThread
12208        """
12209        _lldb.SBThread_swiginit(self, _lldb.new_SBThread(*args))
12210    __swig_destroy__ = _lldb.delete_SBThread
12211
12212    def GetQueue(self):
12213        r"""
12214        GetQueue(SBThread self) -> SBQueue
12215
12216            Return the SBQueue for this thread.  If this thread is not currently associated
12217            with a libdispatch queue, the SBQueue object's IsValid() method will return false.
12218            If this SBThread is actually a HistoryThread, we may be able to provide QueueID
12219            and QueueName, but not provide an SBQueue.  Those individual attributes may have
12220            been saved for the HistoryThread without enough information to reconstitute the
12221            entire SBQueue at that time.
12222            This method takes no arguments, returns an SBQueue.
12223        """
12224        return _lldb.SBThread_GetQueue(self)
12225
12226    def __nonzero__(self):
12227        return _lldb.SBThread___nonzero__(self)
12228    __bool__ = __nonzero__
12229
12230
12231
12232    def IsValid(self):
12233        r"""IsValid(SBThread self) -> bool"""
12234        return _lldb.SBThread_IsValid(self)
12235
12236    def Clear(self):
12237        r"""Clear(SBThread self)"""
12238        return _lldb.SBThread_Clear(self)
12239
12240    def GetStopReason(self):
12241        r"""GetStopReason(SBThread self) -> lldb::StopReason"""
12242        return _lldb.SBThread_GetStopReason(self)
12243
12244    def GetStopReasonDataCount(self):
12245        r"""
12246        GetStopReasonDataCount(SBThread self) -> size_t
12247
12248            Get the number of words associated with the stop reason.
12249            See also GetStopReasonDataAtIndex().
12250        """
12251        return _lldb.SBThread_GetStopReasonDataCount(self)
12252
12253    def GetStopReasonDataAtIndex(self, idx):
12254        r"""
12255        GetStopReasonDataAtIndex(SBThread self, uint32_t idx) -> uint64_t
12256
12257            Get information associated with a stop reason.
12258
12259            Breakpoint stop reasons will have data that consists of pairs of
12260            breakpoint IDs followed by the breakpoint location IDs (they always come
12261            in pairs).
12262
12263            Stop Reason              Count Data Type
12264            ======================== ===== =========================================
12265            eStopReasonNone          0
12266            eStopReasonTrace         0
12267            eStopReasonBreakpoint    N     duple: {breakpoint id, location id}
12268            eStopReasonWatchpoint    1     watchpoint id
12269            eStopReasonSignal        1     unix signal number
12270            eStopReasonException     N     exception data
12271            eStopReasonExec          0
12272            eStopReasonFork          1     pid of the child process
12273            eStopReasonVFork         1     pid of the child process
12274            eStopReasonVForkDone     0
12275            eStopReasonPlanComplete  0
12276        """
12277        return _lldb.SBThread_GetStopReasonDataAtIndex(self, idx)
12278
12279    def GetStopReasonExtendedInfoAsJSON(self, stream):
12280        r"""
12281        GetStopReasonExtendedInfoAsJSON(SBThread self, SBStream stream) -> bool
12282
12283            Collects a thread's stop reason extended information dictionary and prints it
12284            into the SBStream in a JSON format. The format of this JSON dictionary depends
12285            on the stop reason and is currently used only for instrumentation plugins.
12286        """
12287        return _lldb.SBThread_GetStopReasonExtendedInfoAsJSON(self, stream)
12288
12289    def GetStopReasonExtendedBacktraces(self, type):
12290        r"""
12291        GetStopReasonExtendedBacktraces(SBThread self, lldb::InstrumentationRuntimeType type) -> SBThreadCollection
12292
12293            Returns a collection of historical stack traces that are significant to the
12294            current stop reason. Used by ThreadSanitizer, where we provide various stack
12295            traces that were involved in a data race or other type of detected issue.
12296        """
12297        return _lldb.SBThread_GetStopReasonExtendedBacktraces(self, type)
12298
12299    def GetStopDescription(self, dst_or_null):
12300        r"""
12301        GetStopDescription(SBThread self, char * dst_or_null) -> size_t
12302
12303            Pass only an (int)length and expect to get a Python string describing the
12304            stop reason.
12305        """
12306        return _lldb.SBThread_GetStopDescription(self, dst_or_null)
12307
12308    def GetStopReturnValue(self):
12309        r"""GetStopReturnValue(SBThread self) -> SBValue"""
12310        return _lldb.SBThread_GetStopReturnValue(self)
12311
12312    def GetThreadID(self):
12313        r"""
12314        GetThreadID(SBThread self) -> lldb::tid_t
12315
12316            Returns a unique thread identifier (type lldb::tid_t, typically a 64-bit type)
12317            for the current SBThread that will remain constant throughout the thread's
12318            lifetime in this process and will not be reused by another thread during this
12319            process lifetime.  On Mac OS X systems, this is a system-wide unique thread
12320            identifier; this identifier is also used by other tools like sample which helps
12321            to associate data from those tools with lldb.  See related GetIndexID.
12322        """
12323        return _lldb.SBThread_GetThreadID(self)
12324
12325    def GetIndexID(self):
12326        r"""
12327        GetIndexID(SBThread self) -> uint32_t
12328
12329            Return the index number for this SBThread.  The index number is the same thing
12330            that a user gives as an argument to 'thread select' in the command line lldb.
12331            These numbers start at 1 (for the first thread lldb sees in a debug session)
12332            and increments up throughout the process lifetime.  An index number will not be
12333            reused for a different thread later in a process - thread 1 will always be
12334            associated with the same thread.  See related GetThreadID.
12335            This method returns a uint32_t index number, takes no arguments.
12336        """
12337        return _lldb.SBThread_GetIndexID(self)
12338
12339    def GetName(self):
12340        r"""GetName(SBThread self) -> char const *"""
12341        return _lldb.SBThread_GetName(self)
12342
12343    def GetQueueName(self):
12344        r"""
12345        GetQueueName(SBThread self) -> char const *
12346
12347            Return the queue name associated with this thread, if any, as a str.
12348            For example, with a libdispatch (aka Grand Central Dispatch) queue.
12349        """
12350        return _lldb.SBThread_GetQueueName(self)
12351
12352    def GetQueueID(self):
12353        r"""
12354        GetQueueID(SBThread self) -> lldb::queue_id_t
12355
12356            Return the dispatch_queue_id for this thread, if any, as a lldb::queue_id_t.
12357            For example, with a libdispatch (aka Grand Central Dispatch) queue.
12358        """
12359        return _lldb.SBThread_GetQueueID(self)
12360
12361    def GetInfoItemByPathAsString(self, path, strm):
12362        r"""
12363        GetInfoItemByPathAsString(SBThread self, char const * path, SBStream strm) -> bool
12364
12365            Takes a path string and a SBStream reference as parameters, returns a bool.
12366            Collects the thread's 'info' dictionary from the remote system, uses the path
12367            argument to descend into the dictionary to an item of interest, and prints
12368            it into the SBStream in a natural format.  Return bool is to indicate if
12369            anything was printed into the stream (true) or not (false).
12370        """
12371        return _lldb.SBThread_GetInfoItemByPathAsString(self, path, strm)
12372
12373    def StepOver(self, *args):
12374        r"""
12375        StepOver(SBThread self, lldb::RunMode stop_other_threads=eOnlyDuringStepping)
12376        StepOver(SBThread self, lldb::RunMode stop_other_threads, SBError error)
12377        Do a source level single step over in the currently selected thread.
12378        """
12379        return _lldb.SBThread_StepOver(self, *args)
12380
12381    def StepInto(self, *args):
12382        r"""
12383        StepInto(SBThread self, lldb::RunMode stop_other_threads=eOnlyDuringStepping)
12384        StepInto(SBThread self, char const * target_name, lldb::RunMode stop_other_threads=eOnlyDuringStepping)
12385        StepInto(SBThread self, char const * target_name, uint32_t end_line, SBError error, lldb::RunMode stop_other_threads=eOnlyDuringStepping)
12386
12387            Step the current thread from the current source line to the line given by end_line, stopping if
12388            the thread steps into the function given by target_name.  If target_name is None, then stepping will stop
12389            in any of the places we would normally stop.
12390        """
12391        return _lldb.SBThread_StepInto(self, *args)
12392
12393    def StepOut(self, *args):
12394        r"""
12395        StepOut(SBThread self)
12396        StepOut(SBThread self, SBError error)
12397        Step out of the currently selected thread.
12398        """
12399        return _lldb.SBThread_StepOut(self, *args)
12400
12401    def StepOutOfFrame(self, *args):
12402        r"""
12403        StepOutOfFrame(SBThread self, SBFrame frame)
12404        StepOutOfFrame(SBThread self, SBFrame frame, SBError error)
12405        Step out of the specified frame.
12406        """
12407        return _lldb.SBThread_StepOutOfFrame(self, *args)
12408
12409    def StepInstruction(self, *args):
12410        r"""
12411        StepInstruction(SBThread self, bool step_over)
12412        StepInstruction(SBThread self, bool step_over, SBError error)
12413        Do an instruction level single step in the currently selected thread.
12414        """
12415        return _lldb.SBThread_StepInstruction(self, *args)
12416
12417    def StepOverUntil(self, frame, file_spec, line):
12418        r"""StepOverUntil(SBThread self, SBFrame frame, SBFileSpec file_spec, uint32_t line) -> SBError"""
12419        return _lldb.SBThread_StepOverUntil(self, frame, file_spec, line)
12420
12421    def StepUsingScriptedThreadPlan(self, *args):
12422        r"""
12423        StepUsingScriptedThreadPlan(SBThread self, char const * script_class_name) -> SBError
12424        StepUsingScriptedThreadPlan(SBThread self, char const * script_class_name, bool resume_immediately) -> SBError
12425        StepUsingScriptedThreadPlan(SBThread self, char const * script_class_name, SBStructuredData args_data, bool resume_immediately) -> SBError
12426        """
12427        return _lldb.SBThread_StepUsingScriptedThreadPlan(self, *args)
12428
12429    def JumpToLine(self, file_spec, line):
12430        r"""JumpToLine(SBThread self, SBFileSpec file_spec, uint32_t line) -> SBError"""
12431        return _lldb.SBThread_JumpToLine(self, file_spec, line)
12432
12433    def RunToAddress(self, *args):
12434        r"""
12435        RunToAddress(SBThread self, lldb::addr_t addr)
12436        RunToAddress(SBThread self, lldb::addr_t addr, SBError error)
12437        """
12438        return _lldb.SBThread_RunToAddress(self, *args)
12439
12440    def ReturnFromFrame(self, frame, return_value):
12441        r"""
12442        ReturnFromFrame(SBThread self, SBFrame frame, SBValue return_value) -> SBError
12443
12444            Force a return from the frame passed in (and any frames younger than it)
12445            without executing any more code in those frames.  If return_value contains
12446            a valid SBValue, that will be set as the return value from frame.  Note, at
12447            present only scalar return values are supported.
12448        """
12449        return _lldb.SBThread_ReturnFromFrame(self, frame, return_value)
12450
12451    def UnwindInnermostExpression(self):
12452        r"""
12453        UnwindInnermostExpression(SBThread self) -> SBError
12454
12455            Unwind the stack frames from the innermost expression evaluation.
12456            This API is equivalent to 'thread return -x'.
12457        """
12458        return _lldb.SBThread_UnwindInnermostExpression(self)
12459
12460    def Suspend(self, *args):
12461        r"""
12462        Suspend(SBThread self) -> bool
12463        Suspend(SBThread self, SBError error) -> bool
12464
12465            LLDB currently supports process centric debugging which means when any
12466            thread in a process stops, all other threads are stopped. The Suspend()
12467            call here tells our process to suspend a thread and not let it run when
12468            the other threads in a process are allowed to run. So when
12469            SBProcess::Continue() is called, any threads that aren't suspended will
12470            be allowed to run. If any of the SBThread functions for stepping are
12471            called (StepOver, StepInto, StepOut, StepInstruction, RunToAddres), the
12472            thread will now be allowed to run and these functions will simply return.
12473
12474            Eventually we plan to add support for thread centric debugging where
12475            each thread is controlled individually and each thread would broadcast
12476            its state, but we haven't implemented this yet.
12477
12478            Likewise the SBThread::Resume() call will again allow the thread to run
12479            when the process is continued.
12480
12481            Suspend() and Resume() functions are not currently reference counted, if
12482            anyone has the need for them to be reference counted, please let us
12483            know.
12484        """
12485        return _lldb.SBThread_Suspend(self, *args)
12486
12487    def Resume(self, *args):
12488        r"""
12489        Resume(SBThread self) -> bool
12490        Resume(SBThread self, SBError error) -> bool
12491        """
12492        return _lldb.SBThread_Resume(self, *args)
12493
12494    def IsSuspended(self):
12495        r"""IsSuspended(SBThread self) -> bool"""
12496        return _lldb.SBThread_IsSuspended(self)
12497
12498    def IsStopped(self):
12499        r"""IsStopped(SBThread self) -> bool"""
12500        return _lldb.SBThread_IsStopped(self)
12501
12502    def GetNumFrames(self):
12503        r"""GetNumFrames(SBThread self) -> uint32_t"""
12504        return _lldb.SBThread_GetNumFrames(self)
12505
12506    def GetFrameAtIndex(self, idx):
12507        r"""GetFrameAtIndex(SBThread self, uint32_t idx) -> SBFrame"""
12508        return _lldb.SBThread_GetFrameAtIndex(self, idx)
12509
12510    def GetSelectedFrame(self):
12511        r"""GetSelectedFrame(SBThread self) -> SBFrame"""
12512        return _lldb.SBThread_GetSelectedFrame(self)
12513
12514    def SetSelectedFrame(self, frame_idx):
12515        r"""SetSelectedFrame(SBThread self, uint32_t frame_idx) -> SBFrame"""
12516        return _lldb.SBThread_SetSelectedFrame(self, frame_idx)
12517
12518    @staticmethod
12519    def EventIsThreadEvent(event):
12520        r"""EventIsThreadEvent(SBEvent event) -> bool"""
12521        return _lldb.SBThread_EventIsThreadEvent(event)
12522
12523    @staticmethod
12524    def GetStackFrameFromEvent(event):
12525        r"""GetStackFrameFromEvent(SBEvent event) -> SBFrame"""
12526        return _lldb.SBThread_GetStackFrameFromEvent(event)
12527
12528    @staticmethod
12529    def GetThreadFromEvent(event):
12530        r"""GetThreadFromEvent(SBEvent event) -> SBThread"""
12531        return _lldb.SBThread_GetThreadFromEvent(event)
12532
12533    def GetProcess(self):
12534        r"""GetProcess(SBThread self) -> SBProcess"""
12535        return _lldb.SBThread_GetProcess(self)
12536
12537    def __eq__(self, rhs):
12538        r"""__eq__(SBThread self, SBThread rhs) -> bool"""
12539        return _lldb.SBThread___eq__(self, rhs)
12540
12541    def __ne__(self, rhs):
12542        r"""__ne__(SBThread self, SBThread rhs) -> bool"""
12543        return _lldb.SBThread___ne__(self, rhs)
12544
12545    def GetDescription(self, *args):
12546        r"""
12547        GetDescription(SBThread self, SBStream description) -> bool
12548        GetDescription(SBThread self, SBStream description, bool stop_format) -> bool
12549
12550            Get the description strings for this thread that match what the
12551            lldb driver will present, using the thread-format (stop_format==false)
12552            or thread-stop-format (stop_format = true).
12553        """
12554        return _lldb.SBThread_GetDescription(self, *args)
12555
12556    def GetDescriptionWithFormat(self, format, output):
12557        r"""GetDescriptionWithFormat(SBThread self, SBFormat format, SBStream output) -> SBError"""
12558        return _lldb.SBThread_GetDescriptionWithFormat(self, format, output)
12559
12560    def GetStatus(self, status):
12561        r"""GetStatus(SBThread self, SBStream status) -> bool"""
12562        return _lldb.SBThread_GetStatus(self, status)
12563
12564    def GetExtendedBacktraceThread(self, type):
12565        r"""
12566        GetExtendedBacktraceThread(SBThread self, char const * type) -> SBThread
12567
12568            Given an argument of str to specify the type of thread-origin extended
12569            backtrace to retrieve, query whether the origin of this thread is
12570            available.  An SBThread is retured; SBThread.IsValid will return true
12571            if an extended backtrace was available.  The returned SBThread is not
12572            a part of the SBProcess' thread list and it cannot be manipulated like
12573            normal threads -- you cannot step or resume it, for instance -- it is
12574            intended to used primarily for generating a backtrace.  You may request
12575            the returned thread's own thread origin in turn.
12576        """
12577        return _lldb.SBThread_GetExtendedBacktraceThread(self, type)
12578
12579    def GetExtendedBacktraceOriginatingIndexID(self):
12580        r"""
12581        GetExtendedBacktraceOriginatingIndexID(SBThread self) -> uint32_t
12582
12583            If this SBThread is an ExtendedBacktrace thread, get the IndexID of the
12584            original thread that this ExtendedBacktrace thread represents, if
12585            available.  The thread that was running this backtrace in the past may
12586            not have been registered with lldb's thread index (if it was created,
12587            did its work, and was destroyed without lldb ever stopping execution).
12588            In that case, this ExtendedBacktrace thread's IndexID will be returned.
12589        """
12590        return _lldb.SBThread_GetExtendedBacktraceOriginatingIndexID(self)
12591
12592    def GetCurrentException(self):
12593        r"""
12594        GetCurrentException(SBThread self) -> SBValue
12595
12596            Returns an SBValue object represeting the current exception for the thread,
12597            if there is any. Currently, this works for Obj-C code and returns an SBValue
12598            representing the NSException object at the throw site or that's currently
12599            being processes.
12600        """
12601        return _lldb.SBThread_GetCurrentException(self)
12602
12603    def GetCurrentExceptionBacktrace(self):
12604        r"""
12605        GetCurrentExceptionBacktrace(SBThread self) -> SBThread
12606
12607            Returns a historical (fake) SBThread representing the stack trace of an
12608            exception, if there is one for the thread. Currently, this works for Obj-C
12609            code, and can retrieve the throw-site backtrace of an NSException object
12610            even when the program is no longer at the throw site.
12611        """
12612        return _lldb.SBThread_GetCurrentExceptionBacktrace(self)
12613
12614    def SafeToCallFunctions(self):
12615        r"""
12616        SafeToCallFunctions(SBThread self) -> bool
12617
12618            lldb may be able to detect that function calls should not be executed
12619            on a given thread at a particular point in time.  It is recommended that
12620            this is checked before performing an inferior function call on a given
12621            thread.
12622        """
12623        return _lldb.SBThread_SafeToCallFunctions(self)
12624
12625    def GetSiginfo(self):
12626        r"""
12627        GetSiginfo(SBThread self) -> SBValue
12628
12629            Returns a SBValue object representing the siginfo for the current signal.
12630
12631        """
12632        return _lldb.SBThread_GetSiginfo(self)
12633
12634    def __repr__(self):
12635        r"""__repr__(SBThread self) -> std::string"""
12636        return _lldb.SBThread___repr__(self)
12637
12638            # operator== is a free function, which swig does not handle, so we inject
12639            # our own equality operator here
12640    def __eq__(self, other):
12641        return not self.__ne__(other)
12642
12643    def __iter__(self):
12644        '''Iterate over all frames in a lldb.SBThread object.'''
12645        return lldb_iter(self, 'GetNumFrames', 'GetFrameAtIndex')
12646
12647    def __len__(self):
12648        '''Return the number of frames in a lldb.SBThread object.'''
12649        return self.GetNumFrames()
12650
12651    class frames_access(object):
12652        '''A helper object that will lazily hand out frames for a thread when supplied an index.'''
12653        def __init__(self, sbthread):
12654            self.sbthread = sbthread
12655
12656        def __len__(self):
12657            if self.sbthread:
12658                return int(self.sbthread.GetNumFrames())
12659            return 0
12660
12661        def __getitem__(self, key):
12662            if isinstance(key, int):
12663                count = len(self)
12664                if -count <= key < count:
12665                    key %= count
12666                    return self.sbthread.GetFrameAtIndex(key)
12667            return None
12668
12669    def get_frames_access_object(self):
12670        '''An accessor function that returns a frames_access() object which allows lazy frame access from a lldb.SBThread object.'''
12671        return self.frames_access (self)
12672
12673    def get_thread_frames(self):
12674        '''An accessor function that returns a list() that contains all frames in a lldb.SBThread object.'''
12675        frames = []
12676        for frame in self:
12677            frames.append(frame)
12678        return frames
12679
12680    id = property(GetThreadID, None, doc='''A read only property that returns the thread ID as an integer.''')
12681    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.''')
12682    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.''')
12683    process = property(GetProcess, None, doc='''A read only property that returns an lldb object that represents the process (lldb.SBProcess) that owns this thread.''')
12684    num_frames = property(GetNumFrames, None, doc='''A read only property that returns the number of stack frames in this thread as an integer.''')
12685    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.''')
12686    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]").''')
12687    name = property(GetName, None, doc='''A read only property that returns the name of this thread as a string.''')
12688    queue = property(GetQueueName, None, doc='''A read only property that returns the dispatch queue name of this thread as a string.''')
12689    queue_id = property(GetQueueID, None, doc='''A read only property that returns the dispatch queue id of this thread as an integer.''')
12690    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.''')
12691    is_suspended = property(IsSuspended, None, doc='''A read only property that returns a boolean value that indicates if this thread is suspended.''')
12692    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.''')
12693
12694
12695    def __eq__(self, rhs):
12696        if not isinstance(rhs, type(self)):
12697            return False
12698
12699        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
12700
12701    def __ne__(self, rhs):
12702        if not isinstance(rhs, type(self)):
12703            return True
12704
12705        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
12706
12707
12708# Register SBThread in _lldb:
12709_lldb.SBThread_swigregister(SBThread)
12710class SBThreadCollection(object):
12711    r"""Represents a collection of SBThread objects."""
12712
12713    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12714    __repr__ = _swig_repr
12715
12716    def __init__(self, *args):
12717        r"""
12718        __init__(SBThreadCollection self) -> SBThreadCollection
12719        __init__(SBThreadCollection self, SBThreadCollection rhs) -> SBThreadCollection
12720        """
12721        _lldb.SBThreadCollection_swiginit(self, _lldb.new_SBThreadCollection(*args))
12722    __swig_destroy__ = _lldb.delete_SBThreadCollection
12723
12724    def __nonzero__(self):
12725        return _lldb.SBThreadCollection___nonzero__(self)
12726    __bool__ = __nonzero__
12727
12728
12729
12730    def IsValid(self):
12731        r"""IsValid(SBThreadCollection self) -> bool"""
12732        return _lldb.SBThreadCollection_IsValid(self)
12733
12734    def GetSize(self):
12735        r"""GetSize(SBThreadCollection self) -> size_t"""
12736        return _lldb.SBThreadCollection_GetSize(self)
12737
12738    def GetThreadAtIndex(self, idx):
12739        r"""GetThreadAtIndex(SBThreadCollection self, size_t idx) -> SBThread"""
12740        return _lldb.SBThreadCollection_GetThreadAtIndex(self, idx)
12741
12742
12743    def __iter__(self):
12744        '''Iterate over all threads in a lldb.SBThreadCollection object.'''
12745        return lldb_iter(self, 'GetSize', 'GetThreadAtIndex')
12746
12747    def __len__(self):
12748        '''Return the number of threads in a lldb.SBThreadCollection object.'''
12749        return self.GetSize()
12750
12751
12752# Register SBThreadCollection in _lldb:
12753_lldb.SBThreadCollection_swigregister(SBThreadCollection)
12754class SBThreadPlan(object):
12755    r"""
12756    Represents a plan for the execution control of a given thread.
12757
12758    See also :py:class:`SBThread` and :py:class:`SBFrame`.
12759    """
12760
12761    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12762    __repr__ = _swig_repr
12763
12764    def __init__(self, *args):
12765        r"""
12766        __init__(SBThreadPlan self) -> SBThreadPlan
12767        __init__(SBThreadPlan self, SBThreadPlan threadPlan) -> SBThreadPlan
12768        __init__(SBThreadPlan self, SBThread thread, char const * class_name) -> SBThreadPlan
12769        __init__(SBThreadPlan self, SBThread thread, char const * class_name, SBStructuredData args_data) -> SBThreadPlan
12770        """
12771        _lldb.SBThreadPlan_swiginit(self, _lldb.new_SBThreadPlan(*args))
12772    __swig_destroy__ = _lldb.delete_SBThreadPlan
12773
12774    def __nonzero__(self):
12775        return _lldb.SBThreadPlan___nonzero__(self)
12776    __bool__ = __nonzero__
12777
12778
12779
12780    def Clear(self):
12781        r"""Clear(SBThreadPlan self)"""
12782        return _lldb.SBThreadPlan_Clear(self)
12783
12784    def GetStopReason(self):
12785        r"""GetStopReason(SBThreadPlan self) -> lldb::StopReason"""
12786        return _lldb.SBThreadPlan_GetStopReason(self)
12787
12788    def GetStopReasonDataCount(self):
12789        r"""
12790        GetStopReasonDataCount(SBThreadPlan self) -> size_t
12791
12792            Get the number of words associated with the stop reason.
12793            See also GetStopReasonDataAtIndex().
12794        """
12795        return _lldb.SBThreadPlan_GetStopReasonDataCount(self)
12796
12797    def GetStopReasonDataAtIndex(self, idx):
12798        r"""
12799        GetStopReasonDataAtIndex(SBThreadPlan self, uint32_t idx) -> uint64_t
12800
12801            Get information associated with a stop reason.
12802
12803            Breakpoint stop reasons will have data that consists of pairs of
12804            breakpoint IDs followed by the breakpoint location IDs (they always come
12805            in pairs).
12806
12807            Stop Reason              Count Data Type
12808            ======================== ===== =========================================
12809            eStopReasonNone          0
12810            eStopReasonTrace         0
12811            eStopReasonBreakpoint    N     duple: {breakpoint id, location id}
12812            eStopReasonWatchpoint    1     watchpoint id
12813            eStopReasonSignal        1     unix signal number
12814            eStopReasonException     N     exception data
12815            eStopReasonExec          0
12816            eStopReasonFork          1     pid of the child process
12817            eStopReasonVFork         1     pid of the child process
12818            eStopReasonVForkDone     0
12819            eStopReasonPlanComplete  0
12820        """
12821        return _lldb.SBThreadPlan_GetStopReasonDataAtIndex(self, idx)
12822
12823    def GetThread(self):
12824        r"""GetThread(SBThreadPlan self) -> SBThread"""
12825        return _lldb.SBThreadPlan_GetThread(self)
12826
12827    def GetDescription(self, description):
12828        r"""GetDescription(SBThreadPlan self, SBStream description) -> bool"""
12829        return _lldb.SBThreadPlan_GetDescription(self, description)
12830
12831    def SetPlanComplete(self, success):
12832        r"""SetPlanComplete(SBThreadPlan self, bool success)"""
12833        return _lldb.SBThreadPlan_SetPlanComplete(self, success)
12834
12835    def IsPlanComplete(self):
12836        r"""IsPlanComplete(SBThreadPlan self) -> bool"""
12837        return _lldb.SBThreadPlan_IsPlanComplete(self)
12838
12839    def IsPlanStale(self):
12840        r"""IsPlanStale(SBThreadPlan self) -> bool"""
12841        return _lldb.SBThreadPlan_IsPlanStale(self)
12842
12843    def IsValid(self, *args):
12844        r"""
12845        IsValid(SBThreadPlan self) -> bool
12846        IsValid(SBThreadPlan self) -> bool
12847        """
12848        return _lldb.SBThreadPlan_IsValid(self, *args)
12849
12850    def GetStopOthers(self):
12851        r"""
12852        GetStopOthers(SBThreadPlan self) -> bool
12853        Return whether this plan will ask to stop other threads when it runs.
12854        """
12855        return _lldb.SBThreadPlan_GetStopOthers(self)
12856
12857    def SetStopOthers(self, stop_others):
12858        r"""
12859        SetStopOthers(SBThreadPlan self, bool stop_others)
12860        Set whether this plan will ask to stop other threads when it runs.
12861        """
12862        return _lldb.SBThreadPlan_SetStopOthers(self, stop_others)
12863
12864    def QueueThreadPlanForStepOverRange(self, *args):
12865        r"""
12866        QueueThreadPlanForStepOverRange(SBThreadPlan self, SBAddress start_address, lldb::addr_t range_size) -> SBThreadPlan
12867        QueueThreadPlanForStepOverRange(SBThreadPlan self, SBAddress start_address, lldb::addr_t range_size, SBError error) -> SBThreadPlan
12868        """
12869        return _lldb.SBThreadPlan_QueueThreadPlanForStepOverRange(self, *args)
12870
12871    def QueueThreadPlanForStepInRange(self, *args):
12872        r"""
12873        QueueThreadPlanForStepInRange(SBThreadPlan self, SBAddress start_address, lldb::addr_t range_size) -> SBThreadPlan
12874        QueueThreadPlanForStepInRange(SBThreadPlan self, SBAddress start_address, lldb::addr_t range_size, SBError error) -> SBThreadPlan
12875        """
12876        return _lldb.SBThreadPlan_QueueThreadPlanForStepInRange(self, *args)
12877
12878    def QueueThreadPlanForStepOut(self, *args):
12879        r"""
12880        QueueThreadPlanForStepOut(SBThreadPlan self, uint32_t frame_idx_to_step_to, bool first_insn=False) -> SBThreadPlan
12881        QueueThreadPlanForStepOut(SBThreadPlan self, uint32_t frame_idx_to_step_to, bool first_insn, SBError error) -> SBThreadPlan
12882        """
12883        return _lldb.SBThreadPlan_QueueThreadPlanForStepOut(self, *args)
12884
12885    def QueueThreadPlanForRunToAddress(self, *args):
12886        r"""
12887        QueueThreadPlanForRunToAddress(SBThreadPlan self, SBAddress address) -> SBThreadPlan
12888        QueueThreadPlanForRunToAddress(SBThreadPlan self, SBAddress address, SBError error) -> SBThreadPlan
12889        """
12890        return _lldb.SBThreadPlan_QueueThreadPlanForRunToAddress(self, *args)
12891
12892    def QueueThreadPlanForStepScripted(self, *args):
12893        r"""
12894        QueueThreadPlanForStepScripted(SBThreadPlan self, char const * script_class_name) -> SBThreadPlan
12895        QueueThreadPlanForStepScripted(SBThreadPlan self, char const * script_class_name, SBError error) -> SBThreadPlan
12896        QueueThreadPlanForStepScripted(SBThreadPlan self, char const * script_class_name, SBStructuredData args_data, SBError error) -> SBThreadPlan
12897        """
12898        return _lldb.SBThreadPlan_QueueThreadPlanForStepScripted(self, *args)
12899
12900# Register SBThreadPlan in _lldb:
12901_lldb.SBThreadPlan_swigregister(SBThreadPlan)
12902class SBTrace(object):
12903    r"""Represents a processor trace."""
12904
12905    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12906    __repr__ = _swig_repr
12907
12908    def __init__(self):
12909        r"""__init__(SBTrace self) -> SBTrace"""
12910        _lldb.SBTrace_swiginit(self, _lldb.new_SBTrace())
12911
12912    @staticmethod
12913    def LoadTraceFromFile(error, debugger, trace_description_file):
12914        r"""LoadTraceFromFile(SBError error, SBDebugger debugger, SBFileSpec trace_description_file) -> SBTrace"""
12915        return _lldb.SBTrace_LoadTraceFromFile(error, debugger, trace_description_file)
12916
12917    def CreateNewCursor(self, error, thread):
12918        r"""CreateNewCursor(SBTrace self, SBError error, SBThread thread) -> SBTraceCursor"""
12919        return _lldb.SBTrace_CreateNewCursor(self, error, thread)
12920
12921    def SaveToDisk(self, error, bundle_dir, compact=False):
12922        r"""SaveToDisk(SBTrace self, SBError error, SBFileSpec bundle_dir, bool compact=False) -> SBFileSpec"""
12923        return _lldb.SBTrace_SaveToDisk(self, error, bundle_dir, compact)
12924
12925    def GetStartConfigurationHelp(self):
12926        r"""GetStartConfigurationHelp(SBTrace self) -> char const *"""
12927        return _lldb.SBTrace_GetStartConfigurationHelp(self)
12928
12929    def Start(self, *args):
12930        r"""
12931        Start(SBTrace self, SBStructuredData configuration) -> SBError
12932        Start(SBTrace self, SBThread thread, SBStructuredData configuration) -> SBError
12933        """
12934        return _lldb.SBTrace_Start(self, *args)
12935
12936    def Stop(self, *args):
12937        r"""
12938        Stop(SBTrace self) -> SBError
12939        Stop(SBTrace self, SBThread thread) -> SBError
12940        """
12941        return _lldb.SBTrace_Stop(self, *args)
12942
12943    def __nonzero__(self):
12944        return _lldb.SBTrace___nonzero__(self)
12945    __bool__ = __nonzero__
12946
12947
12948
12949    def IsValid(self):
12950        r"""IsValid(SBTrace self) -> bool"""
12951        return _lldb.SBTrace_IsValid(self)
12952    __swig_destroy__ = _lldb.delete_SBTrace
12953
12954# Register SBTrace in _lldb:
12955_lldb.SBTrace_swigregister(SBTrace)
12956class SBTraceCursor(object):
12957    r"""Represents a trace cursor."""
12958
12959    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12960    __repr__ = _swig_repr
12961
12962    def __init__(self):
12963        r"""__init__(SBTraceCursor self) -> SBTraceCursor"""
12964        _lldb.SBTraceCursor_swiginit(self, _lldb.new_SBTraceCursor())
12965
12966    def SetForwards(self, forwards):
12967        r"""SetForwards(SBTraceCursor self, bool forwards)"""
12968        return _lldb.SBTraceCursor_SetForwards(self, forwards)
12969
12970    def IsForwards(self):
12971        r"""IsForwards(SBTraceCursor self) -> bool"""
12972        return _lldb.SBTraceCursor_IsForwards(self)
12973
12974    def Next(self):
12975        r"""Next(SBTraceCursor self)"""
12976        return _lldb.SBTraceCursor_Next(self)
12977
12978    def HasValue(self):
12979        r"""HasValue(SBTraceCursor self) -> bool"""
12980        return _lldb.SBTraceCursor_HasValue(self)
12981
12982    def GoToId(self, id):
12983        r"""GoToId(SBTraceCursor self, lldb::user_id_t id) -> bool"""
12984        return _lldb.SBTraceCursor_GoToId(self, id)
12985
12986    def HasId(self, id):
12987        r"""HasId(SBTraceCursor self, lldb::user_id_t id) -> bool"""
12988        return _lldb.SBTraceCursor_HasId(self, id)
12989
12990    def GetId(self):
12991        r"""GetId(SBTraceCursor self) -> lldb::user_id_t"""
12992        return _lldb.SBTraceCursor_GetId(self)
12993
12994    def Seek(self, offset, origin):
12995        r"""Seek(SBTraceCursor self, int64_t offset, lldb::TraceCursorSeekType origin) -> bool"""
12996        return _lldb.SBTraceCursor_Seek(self, offset, origin)
12997
12998    def GetItemKind(self):
12999        r"""GetItemKind(SBTraceCursor self) -> lldb::TraceItemKind"""
13000        return _lldb.SBTraceCursor_GetItemKind(self)
13001
13002    def IsError(self):
13003        r"""IsError(SBTraceCursor self) -> bool"""
13004        return _lldb.SBTraceCursor_IsError(self)
13005
13006    def GetError(self):
13007        r"""GetError(SBTraceCursor self) -> char const *"""
13008        return _lldb.SBTraceCursor_GetError(self)
13009
13010    def IsEvent(self):
13011        r"""IsEvent(SBTraceCursor self) -> bool"""
13012        return _lldb.SBTraceCursor_IsEvent(self)
13013
13014    def GetEventType(self):
13015        r"""GetEventType(SBTraceCursor self) -> lldb::TraceEvent"""
13016        return _lldb.SBTraceCursor_GetEventType(self)
13017
13018    def GetEventTypeAsString(self):
13019        r"""GetEventTypeAsString(SBTraceCursor self) -> char const *"""
13020        return _lldb.SBTraceCursor_GetEventTypeAsString(self)
13021
13022    def IsInstruction(self):
13023        r"""IsInstruction(SBTraceCursor self) -> bool"""
13024        return _lldb.SBTraceCursor_IsInstruction(self)
13025
13026    def GetLoadAddress(self):
13027        r"""GetLoadAddress(SBTraceCursor self) -> lldb::addr_t"""
13028        return _lldb.SBTraceCursor_GetLoadAddress(self)
13029
13030    def GetCPU(self):
13031        r"""GetCPU(SBTraceCursor self) -> lldb::cpu_id_t"""
13032        return _lldb.SBTraceCursor_GetCPU(self)
13033
13034    def IsValid(self):
13035        r"""IsValid(SBTraceCursor self) -> bool"""
13036        return _lldb.SBTraceCursor_IsValid(self)
13037
13038    def __nonzero__(self):
13039        return _lldb.SBTraceCursor___nonzero__(self)
13040    __bool__ = __nonzero__
13041
13042
13043    __swig_destroy__ = _lldb.delete_SBTraceCursor
13044
13045# Register SBTraceCursor in _lldb:
13046_lldb.SBTraceCursor_swigregister(SBTraceCursor)
13047class SBTypeMember(object):
13048    r"""Represents a member of a type."""
13049
13050    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13051
13052    def __init__(self, *args):
13053        r"""
13054        __init__(SBTypeMember self) -> SBTypeMember
13055        __init__(SBTypeMember self, SBTypeMember rhs) -> SBTypeMember
13056        """
13057        _lldb.SBTypeMember_swiginit(self, _lldb.new_SBTypeMember(*args))
13058    __swig_destroy__ = _lldb.delete_SBTypeMember
13059
13060    def __nonzero__(self):
13061        return _lldb.SBTypeMember___nonzero__(self)
13062    __bool__ = __nonzero__
13063
13064
13065
13066    def IsValid(self):
13067        r"""IsValid(SBTypeMember self) -> bool"""
13068        return _lldb.SBTypeMember_IsValid(self)
13069
13070    def GetName(self):
13071        r"""GetName(SBTypeMember self) -> char const *"""
13072        return _lldb.SBTypeMember_GetName(self)
13073
13074    def GetType(self):
13075        r"""GetType(SBTypeMember self) -> SBType"""
13076        return _lldb.SBTypeMember_GetType(self)
13077
13078    def GetOffsetInBytes(self):
13079        r"""GetOffsetInBytes(SBTypeMember self) -> uint64_t"""
13080        return _lldb.SBTypeMember_GetOffsetInBytes(self)
13081
13082    def GetOffsetInBits(self):
13083        r"""GetOffsetInBits(SBTypeMember self) -> uint64_t"""
13084        return _lldb.SBTypeMember_GetOffsetInBits(self)
13085
13086    def IsBitfield(self):
13087        r"""IsBitfield(SBTypeMember self) -> bool"""
13088        return _lldb.SBTypeMember_IsBitfield(self)
13089
13090    def GetBitfieldSizeInBits(self):
13091        r"""GetBitfieldSizeInBits(SBTypeMember self) -> uint32_t"""
13092        return _lldb.SBTypeMember_GetBitfieldSizeInBits(self)
13093
13094    def GetDescription(self, description, description_level):
13095        r"""GetDescription(SBTypeMember self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
13096        return _lldb.SBTypeMember_GetDescription(self, description, description_level)
13097
13098    def __repr__(self):
13099        r"""__repr__(SBTypeMember self) -> std::string"""
13100        return _lldb.SBTypeMember___repr__(self)
13101
13102            # operator== is a free function, which swig does not handle, so we inject
13103            # our own equality operator here
13104    def __eq__(self, other):
13105        return not self.__ne__(other)
13106
13107    name = property(GetName, None, doc='''A read only property that returns the name for this member as a string.''')
13108    type = property(GetType, None, doc='''A read only property that returns an lldb object that represents the type (lldb.SBType) for this member.''')
13109    byte_offset = property(GetOffsetInBytes, None, doc='''A read only property that returns offset in bytes for this member as an integer.''')
13110    bit_offset = property(GetOffsetInBits, None, doc='''A read only property that returns offset in bits for this member as an integer.''')
13111    is_bitfield = property(IsBitfield, None, doc='''A read only property that returns true if this member is a bitfield.''')
13112    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.''')
13113
13114
13115# Register SBTypeMember in _lldb:
13116_lldb.SBTypeMember_swigregister(SBTypeMember)
13117class SBTypeMemberFunction(object):
13118    r"""Represents a member function of a type."""
13119
13120    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13121
13122    def __init__(self, *args):
13123        r"""
13124        __init__(SBTypeMemberFunction self) -> SBTypeMemberFunction
13125        __init__(SBTypeMemberFunction self, SBTypeMemberFunction rhs) -> SBTypeMemberFunction
13126        """
13127        _lldb.SBTypeMemberFunction_swiginit(self, _lldb.new_SBTypeMemberFunction(*args))
13128    __swig_destroy__ = _lldb.delete_SBTypeMemberFunction
13129
13130    def __nonzero__(self):
13131        return _lldb.SBTypeMemberFunction___nonzero__(self)
13132    __bool__ = __nonzero__
13133
13134
13135
13136    def IsValid(self):
13137        r"""IsValid(SBTypeMemberFunction self) -> bool"""
13138        return _lldb.SBTypeMemberFunction_IsValid(self)
13139
13140    def GetName(self):
13141        r"""GetName(SBTypeMemberFunction self) -> char const *"""
13142        return _lldb.SBTypeMemberFunction_GetName(self)
13143
13144    def GetDemangledName(self):
13145        r"""GetDemangledName(SBTypeMemberFunction self) -> char const *"""
13146        return _lldb.SBTypeMemberFunction_GetDemangledName(self)
13147
13148    def GetMangledName(self):
13149        r"""GetMangledName(SBTypeMemberFunction self) -> char const *"""
13150        return _lldb.SBTypeMemberFunction_GetMangledName(self)
13151
13152    def GetType(self):
13153        r"""GetType(SBTypeMemberFunction self) -> SBType"""
13154        return _lldb.SBTypeMemberFunction_GetType(self)
13155
13156    def GetReturnType(self):
13157        r"""GetReturnType(SBTypeMemberFunction self) -> SBType"""
13158        return _lldb.SBTypeMemberFunction_GetReturnType(self)
13159
13160    def GetNumberOfArguments(self):
13161        r"""GetNumberOfArguments(SBTypeMemberFunction self) -> uint32_t"""
13162        return _lldb.SBTypeMemberFunction_GetNumberOfArguments(self)
13163
13164    def GetArgumentTypeAtIndex(self, arg2):
13165        r"""GetArgumentTypeAtIndex(SBTypeMemberFunction self, uint32_t arg2) -> SBType"""
13166        return _lldb.SBTypeMemberFunction_GetArgumentTypeAtIndex(self, arg2)
13167
13168    def GetKind(self):
13169        r"""GetKind(SBTypeMemberFunction self) -> lldb::MemberFunctionKind"""
13170        return _lldb.SBTypeMemberFunction_GetKind(self)
13171
13172    def GetDescription(self, description, description_level):
13173        r"""GetDescription(SBTypeMemberFunction self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
13174        return _lldb.SBTypeMemberFunction_GetDescription(self, description, description_level)
13175
13176    def __repr__(self):
13177        r"""__repr__(SBTypeMemberFunction self) -> std::string"""
13178        return _lldb.SBTypeMemberFunction___repr__(self)
13179
13180          # operator== is a free function, which swig does not handle, so we inject
13181          # our own equality operator here
13182    def __eq__(self, other):
13183      return not self.__ne__(other)
13184
13185
13186
13187# Register SBTypeMemberFunction in _lldb:
13188_lldb.SBTypeMemberFunction_swigregister(SBTypeMemberFunction)
13189class SBTypeStaticField(object):
13190    r"""Proxy of C++ lldb::SBTypeStaticField class."""
13191
13192    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13193    __repr__ = _swig_repr
13194
13195    def __init__(self, *args):
13196        r"""
13197        __init__(SBTypeStaticField self) -> SBTypeStaticField
13198        __init__(SBTypeStaticField self, SBTypeStaticField rhs) -> SBTypeStaticField
13199        """
13200        _lldb.SBTypeStaticField_swiginit(self, _lldb.new_SBTypeStaticField(*args))
13201    __swig_destroy__ = _lldb.delete_SBTypeStaticField
13202
13203    def __nonzero__(self):
13204        return _lldb.SBTypeStaticField___nonzero__(self)
13205    __bool__ = __nonzero__
13206
13207
13208
13209    def IsValid(self):
13210        r"""IsValid(SBTypeStaticField self) -> bool"""
13211        return _lldb.SBTypeStaticField_IsValid(self)
13212
13213    def GetName(self):
13214        r"""GetName(SBTypeStaticField self) -> char const *"""
13215        return _lldb.SBTypeStaticField_GetName(self)
13216
13217    def GetMangledName(self):
13218        r"""GetMangledName(SBTypeStaticField self) -> char const *"""
13219        return _lldb.SBTypeStaticField_GetMangledName(self)
13220
13221    def GetType(self):
13222        r"""GetType(SBTypeStaticField self) -> SBType"""
13223        return _lldb.SBTypeStaticField_GetType(self)
13224
13225    def GetConstantValue(self, target):
13226        r"""GetConstantValue(SBTypeStaticField self, SBTarget target) -> SBValue"""
13227        return _lldb.SBTypeStaticField_GetConstantValue(self, target)
13228
13229# Register SBTypeStaticField in _lldb:
13230_lldb.SBTypeStaticField_swigregister(SBTypeStaticField)
13231class SBType(object):
13232    r"""
13233    Represents a data type in lldb.
13234
13235    The actual characteristics of each type are defined by the semantics of the
13236    programming language and the specific language implementation that was used
13237    to compile the target program. See the language-specific notes in the
13238    documentation of each method.
13239
13240    SBType instances can be obtained by a variety of methods.
13241    `SBTarget.FindFirstType` and `SBModule.FindFirstType` can be used to create
13242    `SBType` representations of types in executables/libraries with debug
13243    information. For some languages such as C, C++ and Objective-C it is possible
13244    to create new types by evaluating expressions that define a new type.
13245
13246    Note that most `SBType` properties are computed independently of any runtime
13247    information so for dynamic languages the functionality can be very limited.
13248    `SBValue` can be used to represent runtime values which then can be more
13249    accurately queried for certain information such as byte size.
13250
13251
13252    SBType supports the eq/ne operator. For example,::
13253
13254        //main.cpp:
13255
13256        class Task {
13257        public:
13258            int id;
13259            Task *next;
13260            Task(int i, Task *n):
13261                id(i),
13262                next(n)
13263            {}
13264        };
13265
13266        int main (int argc, char const *argv[])
13267        {
13268            Task *task_head = new Task(-1, NULL);
13269            Task *task1 = new Task(1, NULL);
13270            Task *task2 = new Task(2, NULL);
13271            Task *task3 = new Task(3, NULL); // Orphaned.
13272            Task *task4 = new Task(4, NULL);
13273            Task *task5 = new Task(5, NULL);
13274
13275            task_head->next = task1;
13276            task1->next = task2;
13277            task2->next = task4;
13278            task4->next = task5;
13279
13280            int total = 0;
13281            Task *t = task_head;
13282            while (t != NULL) {
13283                if (t->id >= 0)
13284                    ++total;
13285                t = t->next;
13286            }
13287            printf('We have a total number of %d tasks\n', total);
13288
13289            // This corresponds to an empty task list.
13290            Task *empty_task_head = new Task(-1, NULL);
13291
13292            return 0; // Break at this line
13293        }
13294
13295        # find_type.py:
13296
13297                # Get the type 'Task'.
13298                task_type = target.FindFirstType('Task')
13299                self.assertTrue(task_type)
13300
13301                # Get the variable 'task_head'.
13302                frame0.FindVariable('task_head')
13303                task_head_type = task_head.GetType()
13304                self.assertTrue(task_head_type.IsPointerType())
13305
13306                # task_head_type is 'Task *'.
13307                task_pointer_type = task_type.GetPointerType()
13308                self.assertTrue(task_head_type == task_pointer_type)
13309
13310                # Get the child mmember 'id' from 'task_head'.
13311                id = task_head.GetChildMemberWithName('id')
13312                id_type = id.GetType()
13313
13314                # SBType.GetBasicType() takes an enum 'BasicType' (lldb-enumerations.h).
13315                int_type = id_type.GetBasicType(lldb.eBasicTypeInt)
13316                # id_type and int_type should be the same type!
13317                self.assertTrue(id_type == int_type)
13318
13319
13320    """
13321
13322    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13323
13324    def __init__(self, *args):
13325        r"""
13326        __init__(SBType self) -> SBType
13327        __init__(SBType self, SBType rhs) -> SBType
13328        """
13329        _lldb.SBType_swiginit(self, _lldb.new_SBType(*args))
13330    __swig_destroy__ = _lldb.delete_SBType
13331
13332    def __nonzero__(self):
13333        return _lldb.SBType___nonzero__(self)
13334    __bool__ = __nonzero__
13335
13336
13337
13338    def IsValid(self):
13339        r"""IsValid(SBType self) -> bool"""
13340        return _lldb.SBType_IsValid(self)
13341
13342    def GetByteSize(self):
13343        r"""
13344        GetByteSize(SBType self) -> uint64_t
13345        Returns the number of bytes a variable with the given types occupies in memory.
13346
13347            Returns ``0`` if the size can't be determined.
13348
13349            If a type occupies ``N`` bytes + ``M`` bits in memory, this function returns
13350            the rounded up amount of bytes (i.e., if ``M`` is ``0``,
13351            this function returns ``N`` and otherwise ``N + 1``).
13352
13353            Language-specific behaviour:
13354
13355            * C: The output is expected to match the value of ``sizeof(Type)``. If
13356              ``sizeof(Type)`` is not a valid expression for the given type, the
13357              function returns ``0``.
13358            * C++: Same as in C.
13359            * Objective-C: Same as in C. For Objective-C classes this always returns
13360              ``0`` as the actual size depends on runtime information.
13361
13362        """
13363        return _lldb.SBType_GetByteSize(self)
13364
13365    def GetByteAlign(self):
13366        r"""GetByteAlign(SBType self) -> uint64_t"""
13367        return _lldb.SBType_GetByteAlign(self)
13368
13369    def IsPointerType(self):
13370        r"""
13371        IsPointerType(SBType self) -> bool
13372        Returns true if this type is a pointer type.
13373
13374            Language-specific behaviour:
13375
13376            * C: Returns true for C pointer types (or typedefs of these types).
13377            * C++: Pointer types include the C pointer types as well as pointers to data
13378              mebers or member functions.
13379            * Objective-C: Pointer types include the C pointer types. ``id``, ``Class``
13380              and pointers to blocks are also considered pointer types.
13381
13382        """
13383        return _lldb.SBType_IsPointerType(self)
13384
13385    def IsReferenceType(self):
13386        r"""
13387        IsReferenceType(SBType self) -> bool
13388        Returns true if this type is a reference type.
13389
13390            Language-specific behaviour:
13391
13392            * C: Returns false for all types.
13393            * C++: Both l-value and r-value references are considered reference types.
13394            * Objective-C: Returns false for all types.
13395
13396        """
13397        return _lldb.SBType_IsReferenceType(self)
13398
13399    def IsFunctionType(self):
13400        r"""IsFunctionType(SBType self) -> bool"""
13401        return _lldb.SBType_IsFunctionType(self)
13402
13403    def IsPolymorphicClass(self):
13404        r"""
13405        IsPolymorphicClass(SBType self) -> bool
13406        Returns true if this type is a polymorphic type.
13407
13408            Language-specific behaviour:
13409
13410            * C: Returns false for all types.
13411            * C++: Returns true if the type is a class type that contains at least one
13412              virtual member function or if at least one of its base classes is
13413              considered a polymorphic type.
13414            * Objective-C: Returns false for all types.
13415
13416        """
13417        return _lldb.SBType_IsPolymorphicClass(self)
13418
13419    def IsArrayType(self):
13420        r"""
13421        IsArrayType(SBType self) -> bool
13422        Returns true if this type is an array type.
13423
13424            Language-specific behaviour:
13425
13426            * C: Returns true if the types is an array type. This includes incomplete
13427              array types ``T[]`` and array types with integer (``T[1]``) or variable
13428              length (``T[some_variable]``). Pointer types are not considered arrays.
13429            * C++: Includes C's array types and dependent array types (i.e., array types
13430              in templates which size depends on template arguments).
13431            * Objective-C: Same as in C.
13432
13433        """
13434        return _lldb.SBType_IsArrayType(self)
13435
13436    def IsVectorType(self):
13437        r"""
13438        IsVectorType(SBType self) -> bool
13439        Returns true if this type is a vector type.
13440
13441            Language-specific behaviour:
13442
13443            * C: Returns true if the types is a vector type created with
13444              GCC's ``vector_size`` or Clang's ``ext_vector_type`` feature.
13445            * C++: Same as in C.
13446            * Objective-C: Same as in C.
13447
13448        """
13449        return _lldb.SBType_IsVectorType(self)
13450
13451    def IsTypedefType(self):
13452        r"""
13453        IsTypedefType(SBType self) -> bool
13454        Returns true if this type is a typedef.
13455
13456            Language-specific behaviour:
13457
13458            * C: Returns true if the type is a C typedef.
13459            * C++: Same as in C. Also treats type aliases as typedefs.
13460            * Objective-C: Same as in C.
13461
13462        """
13463        return _lldb.SBType_IsTypedefType(self)
13464
13465    def IsAnonymousType(self):
13466        r"""
13467        IsAnonymousType(SBType self) -> bool
13468        Returns true if this type is an anonymous type.
13469
13470            Language-specific behaviour:
13471
13472            * C: Returns true for anonymous unions. Also returns true for
13473              anonymous structs (which are a GNU language extension).
13474            * C++: Same as in C.
13475            * Objective-C: Same as in C.
13476
13477        """
13478        return _lldb.SBType_IsAnonymousType(self)
13479
13480    def IsScopedEnumerationType(self):
13481        r"""
13482        IsScopedEnumerationType(SBType self) -> bool
13483        Returns true if this type is a scoped enum.
13484
13485            Language-specific behaviour:
13486
13487            * C: Returns false for all types.
13488            * C++: Return true only for C++11 scoped enums.
13489            * Objective-C: Returns false for all types.
13490
13491        """
13492        return _lldb.SBType_IsScopedEnumerationType(self)
13493
13494    def IsAggregateType(self):
13495        r"""
13496        IsAggregateType(SBType self) -> bool
13497        Returns true if this type is an aggregate type.
13498
13499            Language-specific behaviour:
13500
13501            * C: Returns true for struct values, arrays, and vectors.
13502            * C++: Same a C. Also includes class instances.
13503            * Objective-C: Same as C. Also includes class instances.
13504
13505        """
13506        return _lldb.SBType_IsAggregateType(self)
13507
13508    def GetPointerType(self):
13509        r"""
13510        GetPointerType(SBType self) -> SBType
13511        Returns a type that represents a pointer to this type.
13512
13513            If the type system of the current language can't represent a pointer to this
13514            type or this type is invalid, an invalid `SBType` is returned.
13515
13516            Language-specific behaviour:
13517
13518            * C: Returns the pointer type of this type.
13519            * C++: Same as in C.
13520            * Objective-C: Same as in C.
13521
13522        """
13523        return _lldb.SBType_GetPointerType(self)
13524
13525    def GetPointeeType(self):
13526        r"""
13527        GetPointeeType(SBType self) -> SBType
13528        Returns the underlying pointee type.
13529
13530            If this type is a pointer type as specified by `IsPointerType` then this
13531            returns the underlying type. If this is not a pointer type or an invalid
13532            `SBType` then this returns an invalid `SBType`.
13533
13534            Language-specific behaviour:
13535
13536            * C: Returns the underlying type for for C pointer types or typedefs of
13537              these types). For example, ``int *`` will return ``int``.
13538            * C++: Same as in C. Returns an `SBType` representation for data members/
13539              member functions in case the `SBType` is a pointer to data member or
13540              pointer to member function.
13541            * Objective-C: Same as in C. The pointee type of ``id`` and ``Class`` is
13542              an invalid `SBType`. The pointee type of pointers Objective-C types is an
13543              `SBType` for the non-pointer type of the respective type. For example,
13544              ``NSString *`` will return ``NSString`` as a pointee type.
13545
13546        """
13547        return _lldb.SBType_GetPointeeType(self)
13548
13549    def GetReferenceType(self):
13550        r"""
13551        GetReferenceType(SBType self) -> SBType
13552        Returns a type that represents a reference to this type.
13553
13554            If the type system of the current language can't represent a reference to
13555            this type, an invalid `SBType` is returned.
13556
13557            Language-specific behaviour:
13558
13559            * C: Currently assumes the type system is C++ and returns an l-value
13560              reference type. For example, ``int`` will return ``int&``. This behavior
13561              is likely to change in the future and shouldn't be relied on.
13562            * C++: Same as in C.
13563            * Objective-C: Same as in C.
13564
13565        """
13566        return _lldb.SBType_GetReferenceType(self)
13567
13568    def GetTypedefedType(self):
13569        r"""
13570        GetTypedefedType(SBType self) -> SBType
13571        Returns the underlying type of a typedef.
13572
13573            If this type is a typedef as designated by `IsTypedefType`, then the
13574            underlying type is being returned. Otherwise an invalid `SBType` is
13575            returned.
13576
13577            Language-specific behaviour:
13578
13579            * C: Returns the underlying type of a typedef type.
13580            * C++: Same as in C. For type aliases, the underlying type is returned.
13581            * Objective-C: Same as in C.
13582
13583        """
13584        return _lldb.SBType_GetTypedefedType(self)
13585
13586    def GetDereferencedType(self):
13587        r"""
13588        GetDereferencedType(SBType self) -> SBType
13589        Returns the underlying type of a reference type.
13590
13591            If this type is a reference as designated by `IsReferenceType`, then the
13592            underlying type is being returned. Otherwise an invalid `SBType` is
13593            returned.
13594
13595            Language-specific behaviour:
13596
13597            * C: Always returns an invalid type.
13598            * C++: For l-value and r-value references the underlying type is returned.
13599              For example, ``int &`` will return ``int``.
13600            * Objective-C: Same as in C.
13601
13602        """
13603        return _lldb.SBType_GetDereferencedType(self)
13604
13605    def GetUnqualifiedType(self):
13606        r"""
13607        GetUnqualifiedType(SBType self) -> SBType
13608        Returns the unqualified version of this type.
13609
13610            Language-specific behaviour:
13611
13612            * C: If this type with any const or volatile specifier removed.
13613            * C++: Same as in C.
13614            * Objective-C: Same as in C.
13615
13616        """
13617        return _lldb.SBType_GetUnqualifiedType(self)
13618
13619    def GetArrayElementType(self):
13620        r"""
13621        GetArrayElementType(SBType self) -> SBType
13622        Returns the array element type if this type is an array type.
13623
13624            Otherwise returns an invalid `SBType` if this type is invalid or not an
13625            array type.
13626
13627            Language-specific behaviour:
13628
13629            * C: If this is an array type (see `IsArrayType`) such as ``T[]``, returns
13630              the element type.
13631            * C++: Same as in C.
13632            * Objective-C: Same as in C.
13633
13634            See also `IsArrayType`.
13635
13636        """
13637        return _lldb.SBType_GetArrayElementType(self)
13638
13639    def GetArrayType(self, size):
13640        r"""
13641        GetArrayType(SBType self, uint64_t size) -> SBType
13642        Returns the array type with the given constant size.
13643
13644            Language-specific behaviour:
13645
13646            * C: Returns a constant-size array ``T[size]`` for any non-void type.
13647            * C++: Same as in C.
13648            * Objective-C: Same as in C.
13649
13650            See also `IsArrayType` and `GetArrayElementType`.
13651
13652        """
13653        return _lldb.SBType_GetArrayType(self, size)
13654
13655    def GetVectorElementType(self):
13656        r"""
13657        GetVectorElementType(SBType self) -> SBType
13658        Returns the vector element type if this type is a vector type.
13659
13660            Otherwise returns an invalid `SBType` if this type is invalid or not a
13661            vector type.
13662
13663            Language-specific behaviour:
13664
13665            * C: If this is a vector type (see `IsVectorType`), returns the element
13666              type.
13667            * C++: Same as in C.
13668            * Objective-C: Same as in C.
13669
13670            See also `IsVectorType`.
13671
13672        """
13673        return _lldb.SBType_GetVectorElementType(self)
13674
13675    def GetCanonicalType(self):
13676        r"""GetCanonicalType(SBType self) -> SBType"""
13677        return _lldb.SBType_GetCanonicalType(self)
13678
13679    def GetEnumerationIntegerType(self):
13680        r"""
13681        GetEnumerationIntegerType(SBType self) -> SBType
13682        Returns the underlying integer type if this is an enumeration type.
13683
13684            If this type is an invalid `SBType` or not an enumeration type an invalid
13685            `SBType` is returned.
13686
13687            Language-specific behaviour:
13688
13689            * C: Returns the underlying type for enums.
13690            * C++: Same as in C but also returns the underlying type for scoped enums.
13691            * Objective-C: Same as in C.
13692
13693        """
13694        return _lldb.SBType_GetEnumerationIntegerType(self)
13695
13696    def GetBasicType(self, *args):
13697        r"""
13698        GetBasicType(SBType self) -> lldb::BasicType
13699        GetBasicType(SBType self, lldb::BasicType type) -> SBType
13700        Returns the `BasicType` value that is most appropriate to this type.
13701
13702            Returns `eBasicTypeInvalid` if no appropriate `BasicType` was found or this
13703            type is invalid. See the `BasicType` documentation for the language-specific
13704            meaning of each `BasicType` value.
13705
13706            **Overload behaviour:** When called with a `BasicType` parameter, the
13707            following behaviour applies:
13708
13709            Returns the `SBType` that represents the passed `BasicType` value. Returns
13710            an invalid `SBType` if no fitting `SBType` could be created.
13711
13712            Language-specific behaviour:
13713
13714            * C: Returns the respective builtin type. Note that some types
13715              (e.g. ``__uint128_t``) might even be successfully created even if they are
13716              not available on the target platform. C++ and Objective-C specific types
13717              might also be created even if the target program is not written in C++ or
13718              Objective-C.
13719            * C++: Same as in C.
13720            * Objective-C: Same as in C.
13721
13722        """
13723        return _lldb.SBType_GetBasicType(self, *args)
13724
13725    def GetNumberOfFields(self):
13726        r"""
13727        GetNumberOfFields(SBType self) -> uint32_t
13728        Returns the number of fields of this type.
13729
13730            Returns ``0`` if this type does not have fields.
13731
13732            Language-specific behaviour:
13733
13734            * C: Returns the number of fields if the type is a struct. If the type
13735              contains an anonymous struct/union it only counts as a single field (even
13736              if the struct/union contains several fields).
13737            * C++: Returns the number of non-static fields if the type is a
13738              struct/class. If the type contains an anonymous struct/union it only
13739              counts as a single field (even if the struct/union contains several
13740              fields). The fields of any base classes are not included in the count.
13741            * Objective-C: Same as in C for structs. For Objective-C classes the number
13742              of ivars is returned.
13743
13744            See also `GetFieldAtIndex`.
13745
13746        """
13747        return _lldb.SBType_GetNumberOfFields(self)
13748
13749    def GetNumberOfDirectBaseClasses(self):
13750        r"""
13751        GetNumberOfDirectBaseClasses(SBType self) -> uint32_t
13752        Returns the number of base/parent classes of this type.
13753
13754            Returns ``0`` if this type doesn't have any base classes.
13755
13756            Language-specific behaviour:
13757
13758            * C: Returns always ``0``.
13759            * C++: The number of direct non-virtual base classes if this type is
13760              a class.
13761            * Objective-C: The number of super classes for Objective-C classes.
13762              As Objective-C doesn't have multiple inheritance this is usually returns 1
13763              except for NSObject.
13764
13765        """
13766        return _lldb.SBType_GetNumberOfDirectBaseClasses(self)
13767
13768    def GetNumberOfVirtualBaseClasses(self):
13769        r"""
13770        GetNumberOfVirtualBaseClasses(SBType self) -> uint32_t
13771        Returns the number of virtual base/parent classes of this type
13772
13773            Returns ``0`` if this type doesn't have any base classes.
13774
13775            Language-specific behaviour:
13776
13777            * C: Returns always ``0``.
13778            * C++: The number of direct virtual base classes if this type is a
13779              class.
13780            * Objective-C: Returns always ``0``.
13781
13782        """
13783        return _lldb.SBType_GetNumberOfVirtualBaseClasses(self)
13784
13785    def GetFieldAtIndex(self, idx):
13786        r"""
13787        GetFieldAtIndex(SBType self, uint32_t idx) -> SBTypeMember
13788        Returns the field at the given index.
13789
13790            Returns an invalid `SBType` if the index is out of range or the current
13791            type doesn't have any fields.
13792
13793            Language-specific behaviour:
13794
13795            * C: Returns the field with the given index for struct types. Fields are
13796              ordered/indexed starting from ``0`` for the first field in a struct (as
13797              declared in the definition).
13798            * C++: Returns the non-static field with the given index for struct types.
13799              Fields are ordered/indexed starting from ``0`` for the first field in a
13800              struct (as declared in the definition).
13801            * Objective-C: Same as in C for structs. For Objective-C classes the ivar
13802              with the given index is returned. ivars are indexed starting from ``0``.
13803
13804        """
13805        return _lldb.SBType_GetFieldAtIndex(self, idx)
13806
13807    def GetDirectBaseClassAtIndex(self, idx):
13808        r"""
13809        GetDirectBaseClassAtIndex(SBType self, uint32_t idx) -> SBTypeMember
13810        Returns the direct base class as indexed by `GetNumberOfDirectBaseClasses`.
13811
13812            Returns an invalid SBTypeMember if the index is invalid or this SBType is
13813            invalid.
13814
13815        """
13816        return _lldb.SBType_GetDirectBaseClassAtIndex(self, idx)
13817
13818    def GetVirtualBaseClassAtIndex(self, idx):
13819        r"""
13820        GetVirtualBaseClassAtIndex(SBType self, uint32_t idx) -> SBTypeMember
13821        Returns the virtual base class as indexed by
13822            `GetNumberOfVirtualBaseClasses`.
13823
13824            Returns an invalid SBTypeMember if the index is invalid or this SBType is
13825            invalid.
13826
13827        """
13828        return _lldb.SBType_GetVirtualBaseClassAtIndex(self, idx)
13829
13830    def GetStaticFieldWithName(self, name):
13831        r"""GetStaticFieldWithName(SBType self, char const * name) -> SBTypeStaticField"""
13832        return _lldb.SBType_GetStaticFieldWithName(self, name)
13833
13834    def GetEnumMembers(self):
13835        r"""GetEnumMembers(SBType self) -> SBTypeEnumMemberList"""
13836        return _lldb.SBType_GetEnumMembers(self)
13837
13838    def GetNumberOfTemplateArguments(self):
13839        r"""
13840        GetNumberOfTemplateArguments(SBType self) -> uint32_t
13841        Returns the number of template arguments of this type.
13842
13843            Returns ``0`` if this type is not a template.
13844
13845            Language-specific behaviour:
13846
13847            * C: Always returns ``0``.
13848            * C++: If this type is a class template instantiation then this returns the
13849              number of template parameters that were used in this instantiation. This
13850              includes both explicit and implicit template parameters.
13851            * Objective-C: Always returns ``0``.
13852
13853        """
13854        return _lldb.SBType_GetNumberOfTemplateArguments(self)
13855
13856    def GetTemplateArgumentType(self, idx):
13857        r"""
13858        GetTemplateArgumentType(SBType self, uint32_t idx) -> SBType
13859        Returns the type of the template argument with the given index.
13860
13861            Returns an invalid `SBType` if there is no template argument with the given
13862            index or this type is not a template. The first template  argument has the
13863            index ``0``.
13864
13865            Language-specific behaviour:
13866
13867            * C: Always returns an invalid SBType.
13868            * C++: If this type is a class template instantiation and the template
13869              parameter with the given index is a type template parameter, then this
13870              returns the type of that parameter. Otherwise returns an invalid `SBType`.
13871            * Objective-C: Always returns an invalid SBType.
13872
13873        """
13874        return _lldb.SBType_GetTemplateArgumentType(self, idx)
13875
13876    def GetTemplateArgumentKind(self, idx):
13877        r"""
13878        GetTemplateArgumentKind(SBType self, uint32_t idx) -> lldb::TemplateArgumentKind
13879        Returns the kind of the template argument with the given index.
13880
13881            Returns `eTemplateArgumentKindNull` if there is no template argument
13882            with the given index or this type is not a template. The first template
13883            argument has the index ``0``.
13884
13885            Language-specific behaviour:
13886
13887            * C: Always returns `eTemplateArgumentKindNull`.
13888            * C++: If this type is a class template instantiation then this returns
13889              the appropriate `TemplateArgument` value for the parameter with the given
13890              index. See the documentation of `TemplateArgument` for how certain C++
13891              template parameter kinds are mapped to `TemplateArgument` values.
13892            * Objective-C: Always returns `eTemplateArgumentKindNull`.
13893
13894        """
13895        return _lldb.SBType_GetTemplateArgumentKind(self, idx)
13896
13897    def GetFunctionReturnType(self):
13898        r"""
13899        GetFunctionReturnType(SBType self) -> SBType
13900        Returns the return type if this type represents a function.
13901
13902            Returns an invalid `SBType` if this type is not a function type or invalid.
13903
13904            Language-specific behaviour:
13905
13906            * C: For functions return the return type. Returns an invalid `SBType` if
13907              this type is a function pointer type.
13908            * C++: Same as in C for functions and instantiated template functions.
13909              Member functions are also considered functions. For functions that have
13910              their return type specified by a placeholder type specifier (``auto``)
13911              this returns the deduced return type.
13912            * Objective-C: Same as in C for functions. For Objective-C methods this
13913              returns the return type of the method.
13914
13915        """
13916        return _lldb.SBType_GetFunctionReturnType(self)
13917
13918    def GetFunctionArgumentTypes(self):
13919        r"""
13920        GetFunctionArgumentTypes(SBType self) -> SBTypeList
13921        Returns the list of argument types if this type represents a function.
13922
13923            Returns an invalid `SBType` if this type is not a function type or invalid.
13924
13925            Language-specific behaviour:
13926
13927            * C: For functions return the types of each parameter. Returns an invalid
13928              `SBType` if this type is a function pointer. For variadic functions this
13929              just returns the list of parameters before the variadic arguments.
13930            * C++: Same as in C for functions and instantiated template functions.
13931              Member functions are also considered functions.
13932            * Objective-C: Always returns an invalid SBType for Objective-C methods.
13933
13934        """
13935        return _lldb.SBType_GetFunctionArgumentTypes(self)
13936
13937    def GetNumberOfMemberFunctions(self):
13938        r"""
13939        GetNumberOfMemberFunctions(SBType self) -> uint32_t
13940        Returns the number of member functions of this type.
13941
13942            Returns ``0`` if an error occurred or this type is invalid.
13943
13944            Language-specific behaviour:
13945
13946            * C: Always returns ``0``.
13947            * C++: If this type represents a struct/class, then the number of
13948              member functions (static and non-static) is returned. The count includes
13949              constructors and destructors (both explicit and implicit). Member
13950              functions of base classes are not included in the count.
13951            * Objective-C: If this type represents a struct/class, then the
13952              number of methods is returned. Methods in categories or super classes
13953              are not counted.
13954
13955        """
13956        return _lldb.SBType_GetNumberOfMemberFunctions(self)
13957
13958    def GetMemberFunctionAtIndex(self, idx):
13959        r"""
13960        GetMemberFunctionAtIndex(SBType self, uint32_t idx) -> SBTypeMemberFunction
13961        Returns the member function of this type with the given index.
13962
13963            Returns an invalid `SBTypeMemberFunction` if the index is invalid or this
13964            type is invalid.
13965
13966            Language-specific behaviour:
13967
13968            * C: Always returns an invalid `SBTypeMemberFunction`.
13969            * C++: Returns the member function or constructor/destructor with the given
13970              index.
13971            * Objective-C: Returns the method with the given index.
13972
13973            See `GetNumberOfMemberFunctions` for what functions can be queried by this
13974            function.
13975
13976        """
13977        return _lldb.SBType_GetMemberFunctionAtIndex(self, idx)
13978
13979    def GetModule(self):
13980        r"""
13981        GetModule(SBType self) -> SBModule
13982        Returns the `SBModule` this `SBType` belongs to.
13983
13984            Returns no `SBModule` if this type does not belong to any specific
13985            `SBModule` or this `SBType` is invalid. An invalid `SBModule` might also
13986            indicate that once came from an `SBModule` but LLDB could no longer
13987            determine the original module.
13988
13989        """
13990        return _lldb.SBType_GetModule(self)
13991
13992    def GetName(self):
13993        r"""
13994        GetName() -> string
13995        Returns the name of this type.
13996
13997            Returns an empty string if an error occurred or this type is invalid.
13998
13999            Use this function when trying to match a specific type by name in a script.
14000            The names returned by this function try to uniquely identify a name but
14001            conflicts can occur (for example, if a C++ program contains two different
14002            classes with the same name in different translation units. `GetName` can
14003            return the same name for both class types.)
14004
14005
14006            Language-specific behaviour:
14007
14008            * C: The name of the type. For structs the ``struct`` prefix is omitted.
14009            * C++: Returns the qualified name of the type (including anonymous/inline
14010              namespaces and all template arguments).
14011            * Objective-C: Same as in C.
14012
14013        """
14014        return _lldb.SBType_GetName(self)
14015
14016    def GetDisplayTypeName(self):
14017        r"""
14018        GetDisplayTypeName() -> string
14019        Returns the name of this type in a user-friendly format.
14020
14021            Returns an empty string if an error occurred or this type is invalid.
14022
14023            Use this function when displaying a type name to the user.
14024
14025            Language-specific behaviour:
14026
14027            * C: Returns the type name. For structs the ``struct`` prefix is omitted.
14028            * C++: Returns the qualified name. Anonymous/inline namespaces are omitted.
14029              Template arguments that match their default value might also be hidden
14030              (this functionality depends on whether LLDB can determine the template's
14031              default arguments).
14032            * Objective-C: Same as in C.
14033
14034        """
14035        return _lldb.SBType_GetDisplayTypeName(self)
14036
14037    def GetTypeClass(self):
14038        r"""
14039        GetTypeClass() -> TypeClass
14040        Returns the `TypeClass` for this type.
14041
14042            Returns an `eTypeClassInvalid` if this `SBType` is invalid.
14043
14044            See `TypeClass` for the language-specific meaning of each `TypeClass` value.
14045
14046        """
14047        return _lldb.SBType_GetTypeClass(self)
14048
14049    def IsTypeComplete(self):
14050        r"""
14051        IsTypeComplete(SBType self) -> bool
14052        Returns true if the type is completely defined.
14053
14054            Language-specific behaviour:
14055
14056            * C: Returns false for struct types that were only forward declared in the
14057              type's `SBTarget`/`SBModule`. Otherwise returns true.
14058            * C++: Returns false for template/non-template struct/class types and
14059              scoped enums that were only forward declared inside the type's
14060              `SBTarget`/`SBModule`. Otherwise returns true.
14061            * Objective-C: Follows the same behavior as C for struct types. Objective-C
14062              classes are considered complete unless they were only forward declared via
14063              ``@class ClassName`` in the type's `SBTarget`/`SBModule`. Otherwise
14064              returns true.
14065
14066        """
14067        return _lldb.SBType_IsTypeComplete(self)
14068
14069    def GetTypeFlags(self):
14070        r"""
14071        GetTypeFlags(SBType self) -> uint32_t
14072        Returns the `TypeFlags` values for this type.
14073
14074            See the respective `TypeFlags` values for what values can be set. Returns an
14075            integer in which each `TypeFlags` value is represented by a bit. Specific
14076            flags can be checked via Python's bitwise operators. For example, the
14077            `eTypeIsInteger` flag can be checked like this:
14078
14079            ``(an_sb_type.GetTypeFlags() & lldb.eTypeIsInteger) != 0``
14080
14081            If this type is invalid this returns ``0``.
14082
14083            See the different values for `TypeFlags` for the language-specific meanings
14084            of each `TypeFlags` value.
14085
14086        """
14087        return _lldb.SBType_GetTypeFlags(self)
14088
14089    def GetDescription(self, description, description_level):
14090        r"""GetDescription(SBType self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
14091        return _lldb.SBType_GetDescription(self, description, description_level)
14092
14093    def FindDirectNestedType(self, name):
14094        r"""
14095        FindDirectNestedType(SBType self, char const * name) -> SBType
14096        Searches for a directly nested type that has the provided name.
14097
14098            Returns the type if it was found.
14099            Returns invalid type if nothing was found.
14100
14101        """
14102        return _lldb.SBType_FindDirectNestedType(self, name)
14103
14104    def __eq__(self, rhs):
14105        r"""__eq__(SBType self, SBType rhs) -> bool"""
14106        return _lldb.SBType___eq__(self, rhs)
14107
14108    def __ne__(self, rhs):
14109        r"""__ne__(SBType self, SBType rhs) -> bool"""
14110        return _lldb.SBType___ne__(self, rhs)
14111
14112    def __repr__(self):
14113        r"""__repr__(SBType self) -> std::string"""
14114        return _lldb.SBType___repr__(self)
14115
14116    def template_arg_array(self):
14117        num_args = self.num_template_args
14118        if num_args:
14119            template_args = []
14120            for i in range(num_args):
14121                template_args.append(self.GetTemplateArgumentType(i))
14122            return template_args
14123        return None
14124
14125    # operator== is a free function, which swig does not handle, so we inject
14126    # our own equality operator here
14127    def __eq__(self, other):
14128        return not self.__ne__(other)
14129
14130    def __len__(self):
14131        return self.GetByteSize()
14132
14133    module = property(GetModule, None, doc='''A read only property that returns the module in which type is defined.''')
14134    name = property(GetName, None, doc='''A read only property that returns the name for this type as a string.''')
14135    size = property(GetByteSize, None, doc='''A read only property that returns size in bytes for this type as an integer.''')
14136    is_pointer = property(IsPointerType, None, doc='''A read only property that returns a boolean value that indicates if this type is a pointer type.''')
14137    is_reference = property(IsReferenceType, None, doc='''A read only property that returns a boolean value that indicates if this type is a reference type.''')
14138    is_reference = property(IsReferenceType, None, doc='''A read only property that returns a boolean value that indicates if this type is a function type.''')
14139    num_fields = property(GetNumberOfFields, None, doc='''A read only property that returns number of fields in this type as an integer.''')
14140    num_bases = property(GetNumberOfDirectBaseClasses, None, doc='''A read only property that returns number of direct base classes in this type as an integer.''')
14141    num_vbases = property(GetNumberOfVirtualBaseClasses, None, doc='''A read only property that returns number of virtual base classes in this type as an integer.''')
14142    num_template_args = property(GetNumberOfTemplateArguments, None, doc='''A read only property that returns number of template arguments in this type as an integer.''')
14143    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.''')
14144    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.''')
14145    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).''')
14146
14147    def get_bases_array(self):
14148        '''An accessor function that returns a list() that contains all direct base classes in a lldb.SBType object.'''
14149        bases = []
14150        for idx in range(self.GetNumberOfDirectBaseClasses()):
14151            bases.append(self.GetDirectBaseClassAtIndex(idx))
14152        return bases
14153
14154    def get_vbases_array(self):
14155        '''An accessor function that returns a list() that contains all fields in a lldb.SBType object.'''
14156        vbases = []
14157        for idx in range(self.GetNumberOfVirtualBaseClasses()):
14158            vbases.append(self.GetVirtualBaseClassAtIndex(idx))
14159        return vbases
14160
14161    def get_fields_array(self):
14162        '''An accessor function that returns a list() that contains all fields in a lldb.SBType object.'''
14163        fields = []
14164        for idx in range(self.GetNumberOfFields()):
14165            fields.append(self.GetFieldAtIndex(idx))
14166        return fields
14167
14168    def get_members_array(self):
14169        '''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.'''
14170        members = []
14171        bases = self.get_bases_array()
14172        fields = self.get_fields_array()
14173        vbases = self.get_vbases_array()
14174        for base in bases:
14175            bit_offset = base.bit_offset
14176            added = False
14177            for idx, member in enumerate(members):
14178                if member.bit_offset > bit_offset:
14179                    members.insert(idx, base)
14180                    added = True
14181                    break
14182            if not added:
14183                members.append(base)
14184        for vbase in vbases:
14185            bit_offset = vbase.bit_offset
14186            added = False
14187            for idx, member in enumerate(members):
14188                if member.bit_offset > bit_offset:
14189                    members.insert(idx, vbase)
14190                    added = True
14191                    break
14192            if not added:
14193                members.append(vbase)
14194        for field in fields:
14195            bit_offset = field.bit_offset
14196            added = False
14197            for idx, member in enumerate(members):
14198                if member.bit_offset > bit_offset:
14199                    members.insert(idx, field)
14200                    added = True
14201                    break
14202            if not added:
14203                members.append(field)
14204        return members
14205
14206    def get_enum_members_array(self):
14207        '''An accessor function that returns a list() that contains all enum members in an lldb.SBType object.'''
14208        enum_members_list = []
14209        sb_enum_members = self.GetEnumMembers()
14210        for idx in range(sb_enum_members.GetSize()):
14211            enum_members_list.append(sb_enum_members.GetTypeEnumMemberAtIndex(idx))
14212        return enum_members_list
14213
14214    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.''')
14215    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.''')
14216    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.''')
14217    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.''')
14218    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.''')
14219
14220
14221# Register SBType in _lldb:
14222_lldb.SBType_swigregister(SBType)
14223class SBTypeList(object):
14224    r"""
14225    Represents a list of :py:class:`SBType` s.
14226
14227    The FindTypes() method of :py:class:`SBTarget`/:py:class:`SBModule` returns a SBTypeList.
14228
14229    SBTypeList supports :py:class:`SBType` iteration. For example,
14230
14231    .. code-block:: cpp
14232
14233        // main.cpp:
14234
14235        class Task {
14236        public:
14237            int id;
14238            Task *next;
14239            Task(int i, Task *n):
14240                id(i),
14241                next(n)
14242            {}
14243        };
14244
14245    .. code-block:: python
14246
14247        # find_type.py:
14248
14249        # Get the type 'Task'.
14250        type_list = target.FindTypes('Task')
14251        self.assertTrue(len(type_list) == 1)
14252        # To illustrate the SBType iteration.
14253        for type in type_list:
14254            # do something with type
14255
14256
14257    """
14258
14259    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14260    __repr__ = _swig_repr
14261
14262    def __init__(self, *args):
14263        r"""
14264        __init__(SBTypeList self) -> SBTypeList
14265        __init__(SBTypeList self, SBTypeList rhs) -> SBTypeList
14266        """
14267        _lldb.SBTypeList_swiginit(self, _lldb.new_SBTypeList(*args))
14268    __swig_destroy__ = _lldb.delete_SBTypeList
14269
14270    def __nonzero__(self):
14271        return _lldb.SBTypeList___nonzero__(self)
14272    __bool__ = __nonzero__
14273
14274
14275
14276    def IsValid(self):
14277        r"""IsValid(SBTypeList self) -> bool"""
14278        return _lldb.SBTypeList_IsValid(self)
14279
14280    def Append(self, type):
14281        r"""Append(SBTypeList self, SBType type)"""
14282        return _lldb.SBTypeList_Append(self, type)
14283
14284    def GetTypeAtIndex(self, index):
14285        r"""GetTypeAtIndex(SBTypeList self, uint32_t index) -> SBType"""
14286        return _lldb.SBTypeList_GetTypeAtIndex(self, index)
14287
14288    def GetSize(self):
14289        r"""GetSize(SBTypeList self) -> uint32_t"""
14290        return _lldb.SBTypeList_GetSize(self)
14291
14292        # operator== is a free function, which swig does not handle, so we inject
14293        # our own equality operator here
14294    def __eq__(self, other):
14295        return not self.__ne__(other)
14296
14297    def __iter__(self):
14298        '''Iterate over all types in a lldb.SBTypeList object.'''
14299        return lldb_iter(self, 'GetSize', 'GetTypeAtIndex')
14300
14301    def __len__(self):
14302        '''Return the number of types in a lldb.SBTypeList object.'''
14303        return self.GetSize()
14304
14305
14306# Register SBTypeList in _lldb:
14307_lldb.SBTypeList_swigregister(SBTypeList)
14308class SBTypeCategory(object):
14309    r"""Represents a category that can contain formatters for types."""
14310
14311    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14312
14313    def __init__(self, *args):
14314        r"""
14315        __init__(SBTypeCategory self) -> SBTypeCategory
14316        __init__(SBTypeCategory self, SBTypeCategory rhs) -> SBTypeCategory
14317        """
14318        _lldb.SBTypeCategory_swiginit(self, _lldb.new_SBTypeCategory(*args))
14319    __swig_destroy__ = _lldb.delete_SBTypeCategory
14320
14321    def __nonzero__(self):
14322        return _lldb.SBTypeCategory___nonzero__(self)
14323    __bool__ = __nonzero__
14324
14325
14326
14327    def IsValid(self):
14328        r"""IsValid(SBTypeCategory self) -> bool"""
14329        return _lldb.SBTypeCategory_IsValid(self)
14330
14331    def GetEnabled(self):
14332        r"""GetEnabled(SBTypeCategory self) -> bool"""
14333        return _lldb.SBTypeCategory_GetEnabled(self)
14334
14335    def SetEnabled(self, arg2):
14336        r"""SetEnabled(SBTypeCategory self, bool arg2)"""
14337        return _lldb.SBTypeCategory_SetEnabled(self, arg2)
14338
14339    def GetName(self):
14340        r"""GetName(SBTypeCategory self) -> char const *"""
14341        return _lldb.SBTypeCategory_GetName(self)
14342
14343    def GetLanguageAtIndex(self, idx):
14344        r"""GetLanguageAtIndex(SBTypeCategory self, uint32_t idx) -> lldb::LanguageType"""
14345        return _lldb.SBTypeCategory_GetLanguageAtIndex(self, idx)
14346
14347    def GetNumLanguages(self):
14348        r"""GetNumLanguages(SBTypeCategory self) -> uint32_t"""
14349        return _lldb.SBTypeCategory_GetNumLanguages(self)
14350
14351    def AddLanguage(self, language):
14352        r"""AddLanguage(SBTypeCategory self, lldb::LanguageType language)"""
14353        return _lldb.SBTypeCategory_AddLanguage(self, language)
14354
14355    def GetDescription(self, description, description_level):
14356        r"""GetDescription(SBTypeCategory self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
14357        return _lldb.SBTypeCategory_GetDescription(self, description, description_level)
14358
14359    def GetNumFormats(self):
14360        r"""GetNumFormats(SBTypeCategory self) -> uint32_t"""
14361        return _lldb.SBTypeCategory_GetNumFormats(self)
14362
14363    def GetNumSummaries(self):
14364        r"""GetNumSummaries(SBTypeCategory self) -> uint32_t"""
14365        return _lldb.SBTypeCategory_GetNumSummaries(self)
14366
14367    def GetNumFilters(self):
14368        r"""GetNumFilters(SBTypeCategory self) -> uint32_t"""
14369        return _lldb.SBTypeCategory_GetNumFilters(self)
14370
14371    def GetNumSynthetics(self):
14372        r"""GetNumSynthetics(SBTypeCategory self) -> uint32_t"""
14373        return _lldb.SBTypeCategory_GetNumSynthetics(self)
14374
14375    def GetTypeNameSpecifierForFilterAtIndex(self, arg2):
14376        r"""GetTypeNameSpecifierForFilterAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeNameSpecifier"""
14377        return _lldb.SBTypeCategory_GetTypeNameSpecifierForFilterAtIndex(self, arg2)
14378
14379    def GetTypeNameSpecifierForFormatAtIndex(self, arg2):
14380        r"""GetTypeNameSpecifierForFormatAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeNameSpecifier"""
14381        return _lldb.SBTypeCategory_GetTypeNameSpecifierForFormatAtIndex(self, arg2)
14382
14383    def GetTypeNameSpecifierForSummaryAtIndex(self, arg2):
14384        r"""GetTypeNameSpecifierForSummaryAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeNameSpecifier"""
14385        return _lldb.SBTypeCategory_GetTypeNameSpecifierForSummaryAtIndex(self, arg2)
14386
14387    def GetTypeNameSpecifierForSyntheticAtIndex(self, arg2):
14388        r"""GetTypeNameSpecifierForSyntheticAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeNameSpecifier"""
14389        return _lldb.SBTypeCategory_GetTypeNameSpecifierForSyntheticAtIndex(self, arg2)
14390
14391    def GetFilterForType(self, arg2):
14392        r"""GetFilterForType(SBTypeCategory self, SBTypeNameSpecifier arg2) -> SBTypeFilter"""
14393        return _lldb.SBTypeCategory_GetFilterForType(self, arg2)
14394
14395    def GetFormatForType(self, arg2):
14396        r"""GetFormatForType(SBTypeCategory self, SBTypeNameSpecifier arg2) -> SBTypeFormat"""
14397        return _lldb.SBTypeCategory_GetFormatForType(self, arg2)
14398
14399    def GetSummaryForType(self, arg2):
14400        r"""GetSummaryForType(SBTypeCategory self, SBTypeNameSpecifier arg2) -> SBTypeSummary"""
14401        return _lldb.SBTypeCategory_GetSummaryForType(self, arg2)
14402
14403    def GetSyntheticForType(self, arg2):
14404        r"""GetSyntheticForType(SBTypeCategory self, SBTypeNameSpecifier arg2) -> SBTypeSynthetic"""
14405        return _lldb.SBTypeCategory_GetSyntheticForType(self, arg2)
14406
14407    def GetFilterAtIndex(self, arg2):
14408        r"""GetFilterAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeFilter"""
14409        return _lldb.SBTypeCategory_GetFilterAtIndex(self, arg2)
14410
14411    def GetFormatAtIndex(self, arg2):
14412        r"""GetFormatAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeFormat"""
14413        return _lldb.SBTypeCategory_GetFormatAtIndex(self, arg2)
14414
14415    def GetSummaryAtIndex(self, arg2):
14416        r"""GetSummaryAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeSummary"""
14417        return _lldb.SBTypeCategory_GetSummaryAtIndex(self, arg2)
14418
14419    def GetSyntheticAtIndex(self, arg2):
14420        r"""GetSyntheticAtIndex(SBTypeCategory self, uint32_t arg2) -> SBTypeSynthetic"""
14421        return _lldb.SBTypeCategory_GetSyntheticAtIndex(self, arg2)
14422
14423    def AddTypeFormat(self, arg2, arg3):
14424        r"""AddTypeFormat(SBTypeCategory self, SBTypeNameSpecifier arg2, SBTypeFormat arg3) -> bool"""
14425        return _lldb.SBTypeCategory_AddTypeFormat(self, arg2, arg3)
14426
14427    def DeleteTypeFormat(self, arg2):
14428        r"""DeleteTypeFormat(SBTypeCategory self, SBTypeNameSpecifier arg2) -> bool"""
14429        return _lldb.SBTypeCategory_DeleteTypeFormat(self, arg2)
14430
14431    def AddTypeSummary(self, arg2, arg3):
14432        r"""AddTypeSummary(SBTypeCategory self, SBTypeNameSpecifier arg2, SBTypeSummary arg3) -> bool"""
14433        return _lldb.SBTypeCategory_AddTypeSummary(self, arg2, arg3)
14434
14435    def DeleteTypeSummary(self, arg2):
14436        r"""DeleteTypeSummary(SBTypeCategory self, SBTypeNameSpecifier arg2) -> bool"""
14437        return _lldb.SBTypeCategory_DeleteTypeSummary(self, arg2)
14438
14439    def AddTypeFilter(self, arg2, arg3):
14440        r"""AddTypeFilter(SBTypeCategory self, SBTypeNameSpecifier arg2, SBTypeFilter arg3) -> bool"""
14441        return _lldb.SBTypeCategory_AddTypeFilter(self, arg2, arg3)
14442
14443    def DeleteTypeFilter(self, arg2):
14444        r"""DeleteTypeFilter(SBTypeCategory self, SBTypeNameSpecifier arg2) -> bool"""
14445        return _lldb.SBTypeCategory_DeleteTypeFilter(self, arg2)
14446
14447    def AddTypeSynthetic(self, arg2, arg3):
14448        r"""AddTypeSynthetic(SBTypeCategory self, SBTypeNameSpecifier arg2, SBTypeSynthetic arg3) -> bool"""
14449        return _lldb.SBTypeCategory_AddTypeSynthetic(self, arg2, arg3)
14450
14451    def DeleteTypeSynthetic(self, arg2):
14452        r"""DeleteTypeSynthetic(SBTypeCategory self, SBTypeNameSpecifier arg2) -> bool"""
14453        return _lldb.SBTypeCategory_DeleteTypeSynthetic(self, arg2)
14454
14455    def __eq__(self, rhs):
14456        r"""__eq__(SBTypeCategory self, SBTypeCategory rhs) -> bool"""
14457        return _lldb.SBTypeCategory___eq__(self, rhs)
14458
14459    def __ne__(self, rhs):
14460        r"""__ne__(SBTypeCategory self, SBTypeCategory rhs) -> bool"""
14461        return _lldb.SBTypeCategory___ne__(self, rhs)
14462
14463    def __repr__(self):
14464        r"""__repr__(SBTypeCategory self) -> std::string"""
14465        return _lldb.SBTypeCategory___repr__(self)
14466
14467                # operator== is a free function, which swig does not handle, so we inject
14468                # our own equality operator here
14469    def __eq__(self, other):
14470        return not self.__ne__(other)
14471
14472
14473    class formatters_access_class(object):
14474        '''A helper object that will lazily hand out formatters for a specific category.'''
14475        def __init__(self, sbcategory, get_count_function, get_at_index_function, get_by_name_function):
14476            self.sbcategory = sbcategory
14477            self.get_count_function = get_count_function
14478            self.get_at_index_function = get_at_index_function
14479            self.get_by_name_function = get_by_name_function
14480            self.regex_type = type(re.compile('.'))
14481
14482
14483        def __len__(self):
14484            if self.sbcategory and self.get_count_function:
14485                return int(self.get_count_function(self.sbcategory))
14486            return 0
14487
14488        def __getitem__(self, key):
14489            num_items = len(self)
14490            if type(key) is int:
14491                if -num_items <= key < num_items:
14492                    key %= num_items
14493                    return self.get_at_index_function(self.sbcategory,key)
14494            elif type(key) is str:
14495                return self.get_by_name_function(self.sbcategory,SBTypeNameSpecifier(key))
14496            elif isinstance(key,self.regex_type):
14497                return self.get_by_name_function(self.sbcategory,SBTypeNameSpecifier(key.pattern,True))
14498            else:
14499                print("error: unsupported item type: %s" % type(key))
14500            return None
14501
14502    def get_formats_access_object(self):
14503        '''An accessor function that returns an accessor object which allows lazy format access from a lldb.SBTypeCategory object.'''
14504        return self.formatters_access_class (self,self.__class__.GetNumFormats,self.__class__.GetFormatAtIndex,self.__class__.GetFormatForType)
14505
14506    def get_formats_array(self):
14507        '''An accessor function that returns a list() that contains all formats in a lldb.SBCategory object.'''
14508        formats = []
14509        for idx in range(self.GetNumFormats()):
14510            formats.append(self.GetFormatAtIndex(idx))
14511        return formats
14512
14513    def get_summaries_access_object(self):
14514        '''An accessor function that returns an accessor object which allows lazy summary access from a lldb.SBTypeCategory object.'''
14515        return self.formatters_access_class (self,self.__class__.GetNumSummaries,self.__class__.GetSummaryAtIndex,self.__class__.GetSummaryForType)
14516
14517    def get_summaries_array(self):
14518        '''An accessor function that returns a list() that contains all summaries in a lldb.SBCategory object.'''
14519        summaries = []
14520        for idx in range(self.GetNumSummaries()):
14521            summaries.append(self.GetSummaryAtIndex(idx))
14522        return summaries
14523
14524    def get_synthetics_access_object(self):
14525        '''An accessor function that returns an accessor object which allows lazy synthetic children provider access from a lldb.SBTypeCategory object.'''
14526        return self.formatters_access_class (self,self.__class__.GetNumSynthetics,self.__class__.GetSyntheticAtIndex,self.__class__.GetSyntheticForType)
14527
14528    def get_synthetics_array(self):
14529        '''An accessor function that returns a list() that contains all synthetic children providers in a lldb.SBCategory object.'''
14530        synthetics = []
14531        for idx in range(self.GetNumSynthetics()):
14532            synthetics.append(self.GetSyntheticAtIndex(idx))
14533        return synthetics
14534
14535    def get_filters_access_object(self):
14536        '''An accessor function that returns an accessor object which allows lazy filter access from a lldb.SBTypeCategory object.'''
14537        return self.formatters_access_class (self,self.__class__.GetNumFilters,self.__class__.GetFilterAtIndex,self.__class__.GetFilterForType)
14538
14539    def get_filters_array(self):
14540        '''An accessor function that returns a list() that contains all filters in a lldb.SBCategory object.'''
14541        filters = []
14542        for idx in range(self.GetNumFilters()):
14543            filters.append(self.GetFilterAtIndex(idx))
14544        return filters
14545
14546    formats = property(get_formats_array, None, doc='''A read only property that returns a list() of lldb.SBTypeFormat objects contained in this category''')
14547    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.''')
14548    summaries = property(get_summaries_array, None, doc='''A read only property that returns a list() of lldb.SBTypeSummary objects contained in this category''')
14549    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.''')
14550    filters = property(get_filters_array, None, doc='''A read only property that returns a list() of lldb.SBTypeFilter objects contained in this category''')
14551    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.''')
14552    synthetics = property(get_synthetics_array, None, doc='''A read only property that returns a list() of lldb.SBTypeSynthetic objects contained in this category''')
14553    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.''')
14554    num_formats = property(GetNumFormats, None)
14555    num_summaries = property(GetNumSummaries, None)
14556    num_filters = property(GetNumFilters, None)
14557    num_synthetics = property(GetNumSynthetics, None)
14558    name = property(GetName, None)
14559    enabled = property(GetEnabled, SetEnabled)
14560
14561
14562# Register SBTypeCategory in _lldb:
14563_lldb.SBTypeCategory_swigregister(SBTypeCategory)
14564class SBTypeEnumMember(object):
14565    r"""Represents a member of an enum in lldb."""
14566
14567    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14568
14569    def __init__(self, *args):
14570        r"""
14571        __init__(SBTypeEnumMember self) -> SBTypeEnumMember
14572        __init__(SBTypeEnumMember self, SBTypeEnumMember rhs) -> SBTypeEnumMember
14573        """
14574        _lldb.SBTypeEnumMember_swiginit(self, _lldb.new_SBTypeEnumMember(*args))
14575    __swig_destroy__ = _lldb.delete_SBTypeEnumMember
14576
14577    def __nonzero__(self):
14578        return _lldb.SBTypeEnumMember___nonzero__(self)
14579    __bool__ = __nonzero__
14580
14581
14582
14583    def IsValid(self):
14584        r"""IsValid(SBTypeEnumMember self) -> bool"""
14585        return _lldb.SBTypeEnumMember_IsValid(self)
14586
14587    def GetValueAsSigned(self):
14588        r"""GetValueAsSigned(SBTypeEnumMember self) -> int64_t"""
14589        return _lldb.SBTypeEnumMember_GetValueAsSigned(self)
14590
14591    def GetValueAsUnsigned(self):
14592        r"""GetValueAsUnsigned(SBTypeEnumMember self) -> uint64_t"""
14593        return _lldb.SBTypeEnumMember_GetValueAsUnsigned(self)
14594
14595    def GetName(self):
14596        r"""GetName(SBTypeEnumMember self) -> char const *"""
14597        return _lldb.SBTypeEnumMember_GetName(self)
14598
14599    def GetType(self):
14600        r"""GetType(SBTypeEnumMember self) -> SBType"""
14601        return _lldb.SBTypeEnumMember_GetType(self)
14602
14603    def GetDescription(self, description, description_level):
14604        r"""GetDescription(SBTypeEnumMember self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
14605        return _lldb.SBTypeEnumMember_GetDescription(self, description, description_level)
14606
14607    def __repr__(self):
14608        r"""__repr__(SBTypeEnumMember self) -> std::string"""
14609        return _lldb.SBTypeEnumMember___repr__(self)
14610
14611    def __iter__(self):
14612        '''Iterate over all members in a lldb.SBTypeEnumMemberList object.'''
14613        return lldb_iter(self, 'GetSize', 'GetTypeEnumMemberAtIndex')
14614
14615    def __len__(self):
14616        '''Return the number of members in a lldb.SBTypeEnumMemberList object.'''
14617        return self.GetSize()
14618
14619    name = property(GetName, None, doc='''A read only property that returns the name for this enum member as a string.''')
14620    type = property(GetType, None, doc='''A read only property that returns an lldb object that represents the type (lldb.SBType) for this enum member.''')
14621    signed = property(GetValueAsSigned, None, doc='''A read only property that returns the value of this enum member as a signed integer.''')
14622    unsigned = property(GetValueAsUnsigned, None, doc='''A read only property that returns the value of this enum member as a unsigned integer.''')
14623
14624
14625# Register SBTypeEnumMember in _lldb:
14626_lldb.SBTypeEnumMember_swigregister(SBTypeEnumMember)
14627class SBTypeEnumMemberList(object):
14628    r"""
14629    Represents a list of SBTypeEnumMembers.
14630
14631    SBTypeEnumMemberList supports SBTypeEnumMember iteration.
14632    It also supports [] access either by index, or by enum
14633    element name by doing: ::
14634
14635      myType = target.FindFirstType('MyEnumWithElementA')
14636      members = myType.GetEnumMembers()
14637      first_elem = members[0]
14638      elem_A = members['A']
14639
14640
14641    """
14642
14643    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14644    __repr__ = _swig_repr
14645
14646    def __init__(self, *args):
14647        r"""
14648        __init__(SBTypeEnumMemberList self) -> SBTypeEnumMemberList
14649        __init__(SBTypeEnumMemberList self, SBTypeEnumMemberList rhs) -> SBTypeEnumMemberList
14650        """
14651        _lldb.SBTypeEnumMemberList_swiginit(self, _lldb.new_SBTypeEnumMemberList(*args))
14652    __swig_destroy__ = _lldb.delete_SBTypeEnumMemberList
14653
14654    def __nonzero__(self):
14655        return _lldb.SBTypeEnumMemberList___nonzero__(self)
14656    __bool__ = __nonzero__
14657
14658
14659
14660    def IsValid(self):
14661        r"""IsValid(SBTypeEnumMemberList self) -> bool"""
14662        return _lldb.SBTypeEnumMemberList_IsValid(self)
14663
14664    def Append(self, entry):
14665        r"""Append(SBTypeEnumMemberList self, SBTypeEnumMember entry)"""
14666        return _lldb.SBTypeEnumMemberList_Append(self, entry)
14667
14668    def GetTypeEnumMemberAtIndex(self, index):
14669        r"""GetTypeEnumMemberAtIndex(SBTypeEnumMemberList self, uint32_t index) -> SBTypeEnumMember"""
14670        return _lldb.SBTypeEnumMemberList_GetTypeEnumMemberAtIndex(self, index)
14671
14672    def GetSize(self):
14673        r"""GetSize(SBTypeEnumMemberList self) -> uint32_t"""
14674        return _lldb.SBTypeEnumMemberList_GetSize(self)
14675
14676    def __iter__(self):
14677        '''Iterate over all members in a lldb.SBTypeEnumMemberList object.'''
14678        return lldb_iter(self, 'GetSize', 'GetTypeEnumMemberAtIndex')
14679
14680    def __len__(self):
14681        '''Return the number of members in a lldb.SBTypeEnumMemberList object.'''
14682        return self.GetSize()
14683
14684    def __getitem__(self, key):
14685      num_elements = self.GetSize()
14686      if type(key) is int:
14687          if -num_elements <= key < num_elements:
14688              key %= num_elements
14689              return self.GetTypeEnumMemberAtIndex(key)
14690      elif type(key) is str:
14691          for idx in range(num_elements):
14692              item = self.GetTypeEnumMemberAtIndex(idx)
14693              if item.name == key:
14694                  return item
14695      return None
14696
14697
14698# Register SBTypeEnumMemberList in _lldb:
14699_lldb.SBTypeEnumMemberList_swigregister(SBTypeEnumMemberList)
14700class SBTypeFilter(object):
14701    r"""Represents a filter that can be associated to one or more types."""
14702
14703    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14704
14705    def __init__(self, *args):
14706        r"""
14707        __init__(SBTypeFilter self) -> SBTypeFilter
14708        __init__(SBTypeFilter self, uint32_t options) -> SBTypeFilter
14709        __init__(SBTypeFilter self, SBTypeFilter rhs) -> SBTypeFilter
14710        """
14711        _lldb.SBTypeFilter_swiginit(self, _lldb.new_SBTypeFilter(*args))
14712    __swig_destroy__ = _lldb.delete_SBTypeFilter
14713
14714    def __nonzero__(self):
14715        return _lldb.SBTypeFilter___nonzero__(self)
14716    __bool__ = __nonzero__
14717
14718
14719
14720    def IsValid(self):
14721        r"""IsValid(SBTypeFilter self) -> bool"""
14722        return _lldb.SBTypeFilter_IsValid(self)
14723
14724    def GetNumberOfExpressionPaths(self):
14725        r"""GetNumberOfExpressionPaths(SBTypeFilter self) -> uint32_t"""
14726        return _lldb.SBTypeFilter_GetNumberOfExpressionPaths(self)
14727
14728    def GetExpressionPathAtIndex(self, i):
14729        r"""GetExpressionPathAtIndex(SBTypeFilter self, uint32_t i) -> char const *"""
14730        return _lldb.SBTypeFilter_GetExpressionPathAtIndex(self, i)
14731
14732    def ReplaceExpressionPathAtIndex(self, i, item):
14733        r"""ReplaceExpressionPathAtIndex(SBTypeFilter self, uint32_t i, char const * item) -> bool"""
14734        return _lldb.SBTypeFilter_ReplaceExpressionPathAtIndex(self, i, item)
14735
14736    def AppendExpressionPath(self, item):
14737        r"""AppendExpressionPath(SBTypeFilter self, char const * item)"""
14738        return _lldb.SBTypeFilter_AppendExpressionPath(self, item)
14739
14740    def Clear(self):
14741        r"""Clear(SBTypeFilter self)"""
14742        return _lldb.SBTypeFilter_Clear(self)
14743
14744    def GetOptions(self):
14745        r"""GetOptions(SBTypeFilter self) -> uint32_t"""
14746        return _lldb.SBTypeFilter_GetOptions(self)
14747
14748    def SetOptions(self, arg2):
14749        r"""SetOptions(SBTypeFilter self, uint32_t arg2)"""
14750        return _lldb.SBTypeFilter_SetOptions(self, arg2)
14751
14752    def GetDescription(self, description, description_level):
14753        r"""GetDescription(SBTypeFilter self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
14754        return _lldb.SBTypeFilter_GetDescription(self, description, description_level)
14755
14756    def IsEqualTo(self, rhs):
14757        r"""IsEqualTo(SBTypeFilter self, SBTypeFilter rhs) -> bool"""
14758        return _lldb.SBTypeFilter_IsEqualTo(self, rhs)
14759
14760    def __eq__(self, rhs):
14761        r"""__eq__(SBTypeFilter self, SBTypeFilter rhs) -> bool"""
14762        return _lldb.SBTypeFilter___eq__(self, rhs)
14763
14764    def __ne__(self, rhs):
14765        r"""__ne__(SBTypeFilter self, SBTypeFilter rhs) -> bool"""
14766        return _lldb.SBTypeFilter___ne__(self, rhs)
14767
14768    def __repr__(self):
14769        r"""__repr__(SBTypeFilter self) -> std::string"""
14770        return _lldb.SBTypeFilter___repr__(self)
14771
14772                # operator== is a free function, which swig does not handle, so we inject
14773                # our own equality operator here
14774    def __eq__(self, other):
14775        return not self.__ne__(other)
14776
14777    options = property(GetOptions, SetOptions)
14778    count = property(GetNumberOfExpressionPaths)
14779
14780
14781    def __eq__(self, rhs):
14782        if not isinstance(rhs, type(self)):
14783            return False
14784
14785        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
14786
14787    def __ne__(self, rhs):
14788        if not isinstance(rhs, type(self)):
14789            return True
14790
14791        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
14792
14793
14794# Register SBTypeFilter in _lldb:
14795_lldb.SBTypeFilter_swigregister(SBTypeFilter)
14796class SBTypeFormat(object):
14797    r"""Represents a format that can be associated to one or more types."""
14798
14799    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14800
14801    def __init__(self, *args):
14802        r"""
14803        __init__(SBTypeFormat self) -> SBTypeFormat
14804        __init__(SBTypeFormat self, lldb::Format format, uint32_t options=0) -> SBTypeFormat
14805        __init__(SBTypeFormat self, char const * type, uint32_t options=0) -> SBTypeFormat
14806        __init__(SBTypeFormat self, SBTypeFormat rhs) -> SBTypeFormat
14807        """
14808        _lldb.SBTypeFormat_swiginit(self, _lldb.new_SBTypeFormat(*args))
14809    __swig_destroy__ = _lldb.delete_SBTypeFormat
14810
14811    def __nonzero__(self):
14812        return _lldb.SBTypeFormat___nonzero__(self)
14813    __bool__ = __nonzero__
14814
14815
14816
14817    def IsValid(self):
14818        r"""IsValid(SBTypeFormat self) -> bool"""
14819        return _lldb.SBTypeFormat_IsValid(self)
14820
14821    def GetFormat(self):
14822        r"""GetFormat(SBTypeFormat self) -> lldb::Format"""
14823        return _lldb.SBTypeFormat_GetFormat(self)
14824
14825    def GetTypeName(self):
14826        r"""GetTypeName(SBTypeFormat self) -> char const *"""
14827        return _lldb.SBTypeFormat_GetTypeName(self)
14828
14829    def GetOptions(self):
14830        r"""GetOptions(SBTypeFormat self) -> uint32_t"""
14831        return _lldb.SBTypeFormat_GetOptions(self)
14832
14833    def SetFormat(self, arg2):
14834        r"""SetFormat(SBTypeFormat self, lldb::Format arg2)"""
14835        return _lldb.SBTypeFormat_SetFormat(self, arg2)
14836
14837    def SetTypeName(self, arg2):
14838        r"""SetTypeName(SBTypeFormat self, char const * arg2)"""
14839        return _lldb.SBTypeFormat_SetTypeName(self, arg2)
14840
14841    def SetOptions(self, arg2):
14842        r"""SetOptions(SBTypeFormat self, uint32_t arg2)"""
14843        return _lldb.SBTypeFormat_SetOptions(self, arg2)
14844
14845    def GetDescription(self, description, description_level):
14846        r"""GetDescription(SBTypeFormat self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
14847        return _lldb.SBTypeFormat_GetDescription(self, description, description_level)
14848
14849    def IsEqualTo(self, rhs):
14850        r"""IsEqualTo(SBTypeFormat self, SBTypeFormat rhs) -> bool"""
14851        return _lldb.SBTypeFormat_IsEqualTo(self, rhs)
14852
14853    def __eq__(self, rhs):
14854        r"""__eq__(SBTypeFormat self, SBTypeFormat rhs) -> bool"""
14855        return _lldb.SBTypeFormat___eq__(self, rhs)
14856
14857    def __ne__(self, rhs):
14858        r"""__ne__(SBTypeFormat self, SBTypeFormat rhs) -> bool"""
14859        return _lldb.SBTypeFormat___ne__(self, rhs)
14860
14861    def __repr__(self):
14862        r"""__repr__(SBTypeFormat self) -> std::string"""
14863        return _lldb.SBTypeFormat___repr__(self)
14864
14865                # operator== is a free function, which swig does not handle, so we inject
14866                # our own equality operator here
14867    def __eq__(self, other):
14868        return not self.__ne__(other)
14869
14870    format = property(GetFormat, SetFormat)
14871    options = property(GetOptions, SetOptions)
14872
14873
14874# Register SBTypeFormat in _lldb:
14875_lldb.SBTypeFormat_swigregister(SBTypeFormat)
14876class SBTypeNameSpecifier(object):
14877    r"""Represents a general way to provide a type name to LLDB APIs."""
14878
14879    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14880
14881    def __init__(self, *args):
14882        r"""
14883        __init__(SBTypeNameSpecifier self) -> SBTypeNameSpecifier
14884        __init__(SBTypeNameSpecifier self, char const * name, bool is_regex=False) -> SBTypeNameSpecifier
14885        __init__(SBTypeNameSpecifier self, char const * name, lldb::FormatterMatchType match_type) -> SBTypeNameSpecifier
14886        __init__(SBTypeNameSpecifier self, SBType type) -> SBTypeNameSpecifier
14887        __init__(SBTypeNameSpecifier self, SBTypeNameSpecifier rhs) -> SBTypeNameSpecifier
14888        """
14889        _lldb.SBTypeNameSpecifier_swiginit(self, _lldb.new_SBTypeNameSpecifier(*args))
14890    __swig_destroy__ = _lldb.delete_SBTypeNameSpecifier
14891
14892    def __nonzero__(self):
14893        return _lldb.SBTypeNameSpecifier___nonzero__(self)
14894    __bool__ = __nonzero__
14895
14896
14897
14898    def IsValid(self):
14899        r"""IsValid(SBTypeNameSpecifier self) -> bool"""
14900        return _lldb.SBTypeNameSpecifier_IsValid(self)
14901
14902    def GetName(self):
14903        r"""GetName(SBTypeNameSpecifier self) -> char const *"""
14904        return _lldb.SBTypeNameSpecifier_GetName(self)
14905
14906    def GetType(self):
14907        r"""GetType(SBTypeNameSpecifier self) -> SBType"""
14908        return _lldb.SBTypeNameSpecifier_GetType(self)
14909
14910    def GetMatchType(self):
14911        r"""GetMatchType(SBTypeNameSpecifier self) -> lldb::FormatterMatchType"""
14912        return _lldb.SBTypeNameSpecifier_GetMatchType(self)
14913
14914    def IsRegex(self):
14915        r"""IsRegex(SBTypeNameSpecifier self) -> bool"""
14916        return _lldb.SBTypeNameSpecifier_IsRegex(self)
14917
14918    def GetDescription(self, description, description_level):
14919        r"""GetDescription(SBTypeNameSpecifier self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
14920        return _lldb.SBTypeNameSpecifier_GetDescription(self, description, description_level)
14921
14922    def IsEqualTo(self, rhs):
14923        r"""IsEqualTo(SBTypeNameSpecifier self, SBTypeNameSpecifier rhs) -> bool"""
14924        return _lldb.SBTypeNameSpecifier_IsEqualTo(self, rhs)
14925
14926    def __eq__(self, rhs):
14927        r"""__eq__(SBTypeNameSpecifier self, SBTypeNameSpecifier rhs) -> bool"""
14928        return _lldb.SBTypeNameSpecifier___eq__(self, rhs)
14929
14930    def __ne__(self, rhs):
14931        r"""__ne__(SBTypeNameSpecifier self, SBTypeNameSpecifier rhs) -> bool"""
14932        return _lldb.SBTypeNameSpecifier___ne__(self, rhs)
14933
14934    def __repr__(self):
14935        r"""__repr__(SBTypeNameSpecifier self) -> std::string"""
14936        return _lldb.SBTypeNameSpecifier___repr__(self)
14937
14938                # operator== is a free function, which swig does not handle, so we inject
14939                # our own equality operator here
14940    def __eq__(self, other):
14941        return not self.__ne__(other)
14942
14943    name = property(GetName)
14944    is_regex = property(IsRegex)
14945
14946
14947    def __eq__(self, rhs):
14948        if not isinstance(rhs, type(self)):
14949            return False
14950
14951        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
14952
14953    def __ne__(self, rhs):
14954        if not isinstance(rhs, type(self)):
14955            return True
14956
14957        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
14958
14959
14960# Register SBTypeNameSpecifier in _lldb:
14961_lldb.SBTypeNameSpecifier_swigregister(SBTypeNameSpecifier)
14962class SBTypeSummaryOptions(object):
14963    r"""Proxy of C++ lldb::SBTypeSummaryOptions class."""
14964
14965    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14966    __repr__ = _swig_repr
14967
14968    def __init__(self, *args):
14969        r"""
14970        __init__(SBTypeSummaryOptions self) -> SBTypeSummaryOptions
14971        __init__(SBTypeSummaryOptions self, SBTypeSummaryOptions rhs) -> SBTypeSummaryOptions
14972        """
14973        _lldb.SBTypeSummaryOptions_swiginit(self, _lldb.new_SBTypeSummaryOptions(*args))
14974    __swig_destroy__ = _lldb.delete_SBTypeSummaryOptions
14975
14976    def __nonzero__(self):
14977        return _lldb.SBTypeSummaryOptions___nonzero__(self)
14978    __bool__ = __nonzero__
14979
14980
14981
14982    def IsValid(self):
14983        r"""IsValid(SBTypeSummaryOptions self) -> bool"""
14984        return _lldb.SBTypeSummaryOptions_IsValid(self)
14985
14986    def GetLanguage(self):
14987        r"""GetLanguage(SBTypeSummaryOptions self) -> lldb::LanguageType"""
14988        return _lldb.SBTypeSummaryOptions_GetLanguage(self)
14989
14990    def GetCapping(self):
14991        r"""GetCapping(SBTypeSummaryOptions self) -> lldb::TypeSummaryCapping"""
14992        return _lldb.SBTypeSummaryOptions_GetCapping(self)
14993
14994    def SetLanguage(self, arg2):
14995        r"""SetLanguage(SBTypeSummaryOptions self, lldb::LanguageType arg2)"""
14996        return _lldb.SBTypeSummaryOptions_SetLanguage(self, arg2)
14997
14998    def SetCapping(self, arg2):
14999        r"""SetCapping(SBTypeSummaryOptions self, lldb::TypeSummaryCapping arg2)"""
15000        return _lldb.SBTypeSummaryOptions_SetCapping(self, arg2)
15001
15002# Register SBTypeSummaryOptions in _lldb:
15003_lldb.SBTypeSummaryOptions_swigregister(SBTypeSummaryOptions)
15004class SBTypeSummary(object):
15005    r"""Represents a summary that can be associated to one or more types."""
15006
15007    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15008
15009    @staticmethod
15010    def CreateWithSummaryString(data, options=0):
15011        r"""CreateWithSummaryString(char const * data, uint32_t options=0) -> SBTypeSummary"""
15012        return _lldb.SBTypeSummary_CreateWithSummaryString(data, options)
15013
15014    @staticmethod
15015    def CreateWithFunctionName(data, options=0):
15016        r"""CreateWithFunctionName(char const * data, uint32_t options=0) -> SBTypeSummary"""
15017        return _lldb.SBTypeSummary_CreateWithFunctionName(data, options)
15018
15019    @staticmethod
15020    def CreateWithScriptCode(data, options=0):
15021        r"""CreateWithScriptCode(char const * data, uint32_t options=0) -> SBTypeSummary"""
15022        return _lldb.SBTypeSummary_CreateWithScriptCode(data, options)
15023
15024    def __init__(self, *args):
15025        r"""
15026        __init__(SBTypeSummary self) -> SBTypeSummary
15027        __init__(SBTypeSummary self, SBTypeSummary rhs) -> SBTypeSummary
15028        """
15029        _lldb.SBTypeSummary_swiginit(self, _lldb.new_SBTypeSummary(*args))
15030    __swig_destroy__ = _lldb.delete_SBTypeSummary
15031
15032    def __nonzero__(self):
15033        return _lldb.SBTypeSummary___nonzero__(self)
15034    __bool__ = __nonzero__
15035
15036
15037
15038    def IsValid(self):
15039        r"""IsValid(SBTypeSummary self) -> bool"""
15040        return _lldb.SBTypeSummary_IsValid(self)
15041
15042    def IsFunctionCode(self):
15043        r"""IsFunctionCode(SBTypeSummary self) -> bool"""
15044        return _lldb.SBTypeSummary_IsFunctionCode(self)
15045
15046    def IsFunctionName(self):
15047        r"""IsFunctionName(SBTypeSummary self) -> bool"""
15048        return _lldb.SBTypeSummary_IsFunctionName(self)
15049
15050    def IsSummaryString(self):
15051        r"""IsSummaryString(SBTypeSummary self) -> bool"""
15052        return _lldb.SBTypeSummary_IsSummaryString(self)
15053
15054    def GetData(self):
15055        r"""GetData(SBTypeSummary self) -> char const *"""
15056        return _lldb.SBTypeSummary_GetData(self)
15057
15058    def SetSummaryString(self, data):
15059        r"""SetSummaryString(SBTypeSummary self, char const * data)"""
15060        return _lldb.SBTypeSummary_SetSummaryString(self, data)
15061
15062    def SetFunctionName(self, data):
15063        r"""SetFunctionName(SBTypeSummary self, char const * data)"""
15064        return _lldb.SBTypeSummary_SetFunctionName(self, data)
15065
15066    def SetFunctionCode(self, data):
15067        r"""SetFunctionCode(SBTypeSummary self, char const * data)"""
15068        return _lldb.SBTypeSummary_SetFunctionCode(self, data)
15069
15070    def GetOptions(self):
15071        r"""GetOptions(SBTypeSummary self) -> uint32_t"""
15072        return _lldb.SBTypeSummary_GetOptions(self)
15073
15074    def SetOptions(self, arg2):
15075        r"""SetOptions(SBTypeSummary self, uint32_t arg2)"""
15076        return _lldb.SBTypeSummary_SetOptions(self, arg2)
15077
15078    def GetDescription(self, description, description_level):
15079        r"""GetDescription(SBTypeSummary self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
15080        return _lldb.SBTypeSummary_GetDescription(self, description, description_level)
15081
15082    def DoesPrintValue(self, value):
15083        r"""DoesPrintValue(SBTypeSummary self, SBValue value) -> bool"""
15084        return _lldb.SBTypeSummary_DoesPrintValue(self, value)
15085
15086    def IsEqualTo(self, rhs):
15087        r"""IsEqualTo(SBTypeSummary self, SBTypeSummary rhs) -> bool"""
15088        return _lldb.SBTypeSummary_IsEqualTo(self, rhs)
15089
15090    def __eq__(self, rhs):
15091        r"""__eq__(SBTypeSummary self, SBTypeSummary rhs) -> bool"""
15092        return _lldb.SBTypeSummary___eq__(self, rhs)
15093
15094    def __ne__(self, rhs):
15095        r"""__ne__(SBTypeSummary self, SBTypeSummary rhs) -> bool"""
15096        return _lldb.SBTypeSummary___ne__(self, rhs)
15097
15098    def __repr__(self):
15099        r"""__repr__(SBTypeSummary self) -> std::string"""
15100        return _lldb.SBTypeSummary___repr__(self)
15101
15102                # operator== is a free function, which swig does not handle, so we inject
15103                # our own equality operator here
15104    def __eq__(self, other):
15105        return not self.__ne__(other)
15106
15107    options = property(GetOptions, SetOptions)
15108    is_summary_string = property(IsSummaryString)
15109    is_function_name = property(IsFunctionName)
15110    is_function_name = property(IsFunctionCode)
15111    summary_data = property(GetData)
15112
15113
15114    def __eq__(self, rhs):
15115        if not isinstance(rhs, type(self)):
15116            return False
15117
15118        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
15119
15120    def __ne__(self, rhs):
15121        if not isinstance(rhs, type(self)):
15122            return True
15123
15124        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
15125
15126
15127# Register SBTypeSummary in _lldb:
15128_lldb.SBTypeSummary_swigregister(SBTypeSummary)
15129class SBTypeSynthetic(object):
15130    r"""Represents a summary that can be associated to one or more types."""
15131
15132    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15133
15134    @staticmethod
15135    def CreateWithClassName(data, options=0):
15136        r"""CreateWithClassName(char const * data, uint32_t options=0) -> SBTypeSynthetic"""
15137        return _lldb.SBTypeSynthetic_CreateWithClassName(data, options)
15138
15139    @staticmethod
15140    def CreateWithScriptCode(data, options=0):
15141        r"""CreateWithScriptCode(char const * data, uint32_t options=0) -> SBTypeSynthetic"""
15142        return _lldb.SBTypeSynthetic_CreateWithScriptCode(data, options)
15143
15144    def __init__(self, *args):
15145        r"""
15146        __init__(SBTypeSynthetic self) -> SBTypeSynthetic
15147        __init__(SBTypeSynthetic self, SBTypeSynthetic rhs) -> SBTypeSynthetic
15148        """
15149        _lldb.SBTypeSynthetic_swiginit(self, _lldb.new_SBTypeSynthetic(*args))
15150    __swig_destroy__ = _lldb.delete_SBTypeSynthetic
15151
15152    def __nonzero__(self):
15153        return _lldb.SBTypeSynthetic___nonzero__(self)
15154    __bool__ = __nonzero__
15155
15156
15157
15158    def IsValid(self):
15159        r"""IsValid(SBTypeSynthetic self) -> bool"""
15160        return _lldb.SBTypeSynthetic_IsValid(self)
15161
15162    def IsClassCode(self):
15163        r"""IsClassCode(SBTypeSynthetic self) -> bool"""
15164        return _lldb.SBTypeSynthetic_IsClassCode(self)
15165
15166    def IsClassName(self):
15167        r"""IsClassName(SBTypeSynthetic self) -> bool"""
15168        return _lldb.SBTypeSynthetic_IsClassName(self)
15169
15170    def GetData(self):
15171        r"""GetData(SBTypeSynthetic self) -> char const *"""
15172        return _lldb.SBTypeSynthetic_GetData(self)
15173
15174    def SetClassName(self, data):
15175        r"""SetClassName(SBTypeSynthetic self, char const * data)"""
15176        return _lldb.SBTypeSynthetic_SetClassName(self, data)
15177
15178    def SetClassCode(self, data):
15179        r"""SetClassCode(SBTypeSynthetic self, char const * data)"""
15180        return _lldb.SBTypeSynthetic_SetClassCode(self, data)
15181
15182    def GetOptions(self):
15183        r"""GetOptions(SBTypeSynthetic self) -> uint32_t"""
15184        return _lldb.SBTypeSynthetic_GetOptions(self)
15185
15186    def SetOptions(self, arg2):
15187        r"""SetOptions(SBTypeSynthetic self, uint32_t arg2)"""
15188        return _lldb.SBTypeSynthetic_SetOptions(self, arg2)
15189
15190    def GetDescription(self, description, description_level):
15191        r"""GetDescription(SBTypeSynthetic self, SBStream description, lldb::DescriptionLevel description_level) -> bool"""
15192        return _lldb.SBTypeSynthetic_GetDescription(self, description, description_level)
15193
15194    def IsEqualTo(self, rhs):
15195        r"""IsEqualTo(SBTypeSynthetic self, SBTypeSynthetic rhs) -> bool"""
15196        return _lldb.SBTypeSynthetic_IsEqualTo(self, rhs)
15197
15198    def __eq__(self, rhs):
15199        r"""__eq__(SBTypeSynthetic self, SBTypeSynthetic rhs) -> bool"""
15200        return _lldb.SBTypeSynthetic___eq__(self, rhs)
15201
15202    def __ne__(self, rhs):
15203        r"""__ne__(SBTypeSynthetic self, SBTypeSynthetic rhs) -> bool"""
15204        return _lldb.SBTypeSynthetic___ne__(self, rhs)
15205
15206    def __repr__(self):
15207        r"""__repr__(SBTypeSynthetic self) -> std::string"""
15208        return _lldb.SBTypeSynthetic___repr__(self)
15209
15210                # operator== is a free function, which swig does not handle, so we inject
15211                # our own equality operator here
15212    def __eq__(self, other):
15213        return not self.__ne__(other)
15214
15215    options = property(GetOptions, SetOptions)
15216    contains_code = property(IsClassCode, None)
15217    synthetic_data = property(GetData, None)
15218
15219
15220    def __eq__(self, rhs):
15221        if not isinstance(rhs, type(self)):
15222            return False
15223
15224        return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
15225
15226    def __ne__(self, rhs):
15227        if not isinstance(rhs, type(self)):
15228            return True
15229
15230        return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
15231
15232
15233# Register SBTypeSynthetic in _lldb:
15234_lldb.SBTypeSynthetic_swigregister(SBTypeSynthetic)
15235class SBUnixSignals(object):
15236    r"""Allows you to manipulate LLDB's signal disposition"""
15237
15238    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15239    __repr__ = _swig_repr
15240
15241    def __init__(self, *args):
15242        r"""
15243        __init__(SBUnixSignals self) -> SBUnixSignals
15244        __init__(SBUnixSignals self, SBUnixSignals rhs) -> SBUnixSignals
15245        """
15246        _lldb.SBUnixSignals_swiginit(self, _lldb.new_SBUnixSignals(*args))
15247    __swig_destroy__ = _lldb.delete_SBUnixSignals
15248
15249    def Clear(self):
15250        r"""Clear(SBUnixSignals self)"""
15251        return _lldb.SBUnixSignals_Clear(self)
15252
15253    def __nonzero__(self):
15254        return _lldb.SBUnixSignals___nonzero__(self)
15255    __bool__ = __nonzero__
15256
15257
15258
15259    def IsValid(self):
15260        r"""IsValid(SBUnixSignals self) -> bool"""
15261        return _lldb.SBUnixSignals_IsValid(self)
15262
15263    def GetSignalAsCString(self, signo):
15264        r"""GetSignalAsCString(SBUnixSignals self, int32_t signo) -> char const *"""
15265        return _lldb.SBUnixSignals_GetSignalAsCString(self, signo)
15266
15267    def GetSignalNumberFromName(self, name):
15268        r"""GetSignalNumberFromName(SBUnixSignals self, char const * name) -> int32_t"""
15269        return _lldb.SBUnixSignals_GetSignalNumberFromName(self, name)
15270
15271    def GetShouldSuppress(self, signo):
15272        r"""GetShouldSuppress(SBUnixSignals self, int32_t signo) -> bool"""
15273        return _lldb.SBUnixSignals_GetShouldSuppress(self, signo)
15274
15275    def SetShouldSuppress(self, signo, value):
15276        r"""SetShouldSuppress(SBUnixSignals self, int32_t signo, bool value) -> bool"""
15277        return _lldb.SBUnixSignals_SetShouldSuppress(self, signo, value)
15278
15279    def GetShouldStop(self, signo):
15280        r"""GetShouldStop(SBUnixSignals self, int32_t signo) -> bool"""
15281        return _lldb.SBUnixSignals_GetShouldStop(self, signo)
15282
15283    def SetShouldStop(self, signo, value):
15284        r"""SetShouldStop(SBUnixSignals self, int32_t signo, bool value) -> bool"""
15285        return _lldb.SBUnixSignals_SetShouldStop(self, signo, value)
15286
15287    def GetShouldNotify(self, signo):
15288        r"""GetShouldNotify(SBUnixSignals self, int32_t signo) -> bool"""
15289        return _lldb.SBUnixSignals_GetShouldNotify(self, signo)
15290
15291    def SetShouldNotify(self, signo, value):
15292        r"""SetShouldNotify(SBUnixSignals self, int32_t signo, bool value) -> bool"""
15293        return _lldb.SBUnixSignals_SetShouldNotify(self, signo, value)
15294
15295    def GetNumSignals(self):
15296        r"""GetNumSignals(SBUnixSignals self) -> int32_t"""
15297        return _lldb.SBUnixSignals_GetNumSignals(self)
15298
15299    def GetSignalAtIndex(self, index):
15300        r"""GetSignalAtIndex(SBUnixSignals self, int32_t index) -> int32_t"""
15301        return _lldb.SBUnixSignals_GetSignalAtIndex(self, index)
15302
15303    def __iter__(self):
15304        '''Iterate over all signals in a lldb.SBUnixSignals object.'''
15305        return lldb_iter(self, 'GetNumSignals', 'GetSignalAtIndex')
15306
15307    def __len__(self):
15308        return self.GetNumSignals()
15309
15310    def get_unix_signals_list(self):
15311        signals = []
15312        for idx in range(0, self.GetNumSignals()):
15313            signals.append(self.GetSignalAtIndex(sig))
15314        return signals
15315
15316    threads = property(get_unix_signals_list, None, doc='''A read only property that returns a list() of valid signal numbers for this platform.''')
15317
15318
15319# Register SBUnixSignals in _lldb:
15320_lldb.SBUnixSignals_swigregister(SBUnixSignals)
15321class SBValue(object):
15322    r"""
15323    Represents the value of a variable, a register, or an expression.
15324
15325    SBValue supports iteration through its child, which in turn is represented
15326    as an SBValue.  For example, we can get the general purpose registers of a
15327    frame as an SBValue, and iterate through all the registers,::
15328
15329        registerSet = frame.registers # Returns an SBValueList.
15330        for regs in registerSet:
15331            if 'general purpose registers' in regs.name.lower():
15332                GPRs = regs
15333                break
15334
15335        print('%s (number of children = %d):' % (GPRs.name, GPRs.num_children))
15336        for reg in GPRs:
15337            print('Name: ', reg.name, ' Value: ', reg.value)
15338
15339    produces the output: ::
15340
15341        General Purpose Registers (number of children = 21):
15342        Name:  rax  Value:  0x0000000100000c5c
15343        Name:  rbx  Value:  0x0000000000000000
15344        Name:  rcx  Value:  0x00007fff5fbffec0
15345        Name:  rdx  Value:  0x00007fff5fbffeb8
15346        Name:  rdi  Value:  0x0000000000000001
15347        Name:  rsi  Value:  0x00007fff5fbffea8
15348        Name:  rbp  Value:  0x00007fff5fbffe80
15349        Name:  rsp  Value:  0x00007fff5fbffe60
15350        Name:  r8  Value:  0x0000000008668682
15351        Name:  r9  Value:  0x0000000000000000
15352        Name:  r10  Value:  0x0000000000001200
15353        Name:  r11  Value:  0x0000000000000206
15354        Name:  r12  Value:  0x0000000000000000
15355        Name:  r13  Value:  0x0000000000000000
15356        Name:  r14  Value:  0x0000000000000000
15357        Name:  r15  Value:  0x0000000000000000
15358        Name:  rip  Value:  0x0000000100000dae
15359        Name:  rflags  Value:  0x0000000000000206
15360        Name:  cs  Value:  0x0000000000000027
15361        Name:  fs  Value:  0x0000000000000010
15362        Name:  gs  Value:  0x0000000000000048
15363
15364    See also linked_list_iter() for another perspective on how to iterate through an
15365    SBValue instance which interprets the value object as representing the head of a
15366    linked list.
15367    """
15368
15369    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15370
15371    def __init__(self, *args):
15372        r"""
15373        __init__(SBValue self) -> SBValue
15374        __init__(SBValue self, SBValue rhs) -> SBValue
15375        """
15376        _lldb.SBValue_swiginit(self, _lldb.new_SBValue(*args))
15377    __swig_destroy__ = _lldb.delete_SBValue
15378
15379    def __nonzero__(self):
15380        return _lldb.SBValue___nonzero__(self)
15381    __bool__ = __nonzero__
15382
15383
15384
15385    def IsValid(self):
15386        r"""IsValid(SBValue self) -> bool"""
15387        return _lldb.SBValue_IsValid(self)
15388
15389    def Clear(self):
15390        r"""Clear(SBValue self)"""
15391        return _lldb.SBValue_Clear(self)
15392
15393    def GetError(self):
15394        r"""GetError(SBValue self) -> SBError"""
15395        return _lldb.SBValue_GetError(self)
15396
15397    def GetID(self):
15398        r"""GetID(SBValue self) -> lldb::user_id_t"""
15399        return _lldb.SBValue_GetID(self)
15400
15401    def GetName(self):
15402        r"""GetName(SBValue self) -> char const *"""
15403        return _lldb.SBValue_GetName(self)
15404
15405    def GetTypeName(self):
15406        r"""GetTypeName(SBValue self) -> char const *"""
15407        return _lldb.SBValue_GetTypeName(self)
15408
15409    def GetDisplayTypeName(self):
15410        r"""GetDisplayTypeName(SBValue self) -> char const *"""
15411        return _lldb.SBValue_GetDisplayTypeName(self)
15412
15413    def GetByteSize(self):
15414        r"""GetByteSize(SBValue self) -> size_t"""
15415        return _lldb.SBValue_GetByteSize(self)
15416
15417    def IsInScope(self):
15418        r"""IsInScope(SBValue self) -> bool"""
15419        return _lldb.SBValue_IsInScope(self)
15420
15421    def GetFormat(self):
15422        r"""GetFormat(SBValue self) -> lldb::Format"""
15423        return _lldb.SBValue_GetFormat(self)
15424
15425    def SetFormat(self, format):
15426        r"""SetFormat(SBValue self, lldb::Format format)"""
15427        return _lldb.SBValue_SetFormat(self, format)
15428
15429    def GetValue(self):
15430        r"""GetValue(SBValue self) -> char const *"""
15431        return _lldb.SBValue_GetValue(self)
15432
15433    def GetValueAsSigned(self, *args):
15434        r"""
15435        GetValueAsSigned(SBValue self, SBError error, int64_t fail_value=0) -> int64_t
15436        GetValueAsSigned(SBValue self, int64_t fail_value=0) -> int64_t
15437        """
15438        return _lldb.SBValue_GetValueAsSigned(self, *args)
15439
15440    def GetValueAsUnsigned(self, *args):
15441        r"""
15442        GetValueAsUnsigned(SBValue self, SBError error, uint64_t fail_value=0) -> uint64_t
15443        GetValueAsUnsigned(SBValue self, uint64_t fail_value=0) -> uint64_t
15444        """
15445        return _lldb.SBValue_GetValueAsUnsigned(self, *args)
15446
15447    def GetValueAsAddress(self):
15448        r"""
15449        GetValueAsAddress(SBValue self) -> lldb::addr_t
15450
15451              Return the value as an address.  On failure, LLDB_INVALID_ADDRESS
15452              will be returned.  On architectures like AArch64, where the
15453              top (unaddressable) bits can be used for authentication,
15454              memory tagging, or top byte ignore,  this method will return
15455              the value with those top bits cleared.
15456
15457              GetValueAsUnsigned returns the actual value, with the
15458              authentication/Top Byte Ignore/Memory Tagging Extension bits.
15459
15460              Calling this on a random value which is not a pointer is
15461              incorrect.  Call GetType().IsPointerType() if in doubt.
15462
15463              An SB API program may want to show both the literal byte value
15464              and the address it refers to in memory.  These two SBValue
15465              methods allow SB API writers to behave appropriately for their
15466              interface.
15467        """
15468        return _lldb.SBValue_GetValueAsAddress(self)
15469
15470    def GetValueType(self):
15471        r"""GetValueType(SBValue self) -> lldb::ValueType"""
15472        return _lldb.SBValue_GetValueType(self)
15473
15474    def GetValueDidChange(self):
15475        r"""GetValueDidChange(SBValue self) -> bool"""
15476        return _lldb.SBValue_GetValueDidChange(self)
15477
15478    def GetSummary(self, *args):
15479        r"""
15480        GetSummary(SBValue self) -> char const
15481        GetSummary(SBValue self, SBStream stream, SBTypeSummaryOptions options) -> char const *
15482        """
15483        return _lldb.SBValue_GetSummary(self, *args)
15484
15485    def GetObjectDescription(self):
15486        r"""GetObjectDescription(SBValue self) -> char const *"""
15487        return _lldb.SBValue_GetObjectDescription(self)
15488
15489    def GetDynamicValue(self, use_dynamic):
15490        r"""GetDynamicValue(SBValue self, lldb::DynamicValueType use_dynamic) -> SBValue"""
15491        return _lldb.SBValue_GetDynamicValue(self, use_dynamic)
15492
15493    def GetStaticValue(self):
15494        r"""GetStaticValue(SBValue self) -> SBValue"""
15495        return _lldb.SBValue_GetStaticValue(self)
15496
15497    def GetNonSyntheticValue(self):
15498        r"""GetNonSyntheticValue(SBValue self) -> SBValue"""
15499        return _lldb.SBValue_GetNonSyntheticValue(self)
15500
15501    def GetSyntheticValue(self):
15502        r"""GetSyntheticValue(SBValue self) -> SBValue"""
15503        return _lldb.SBValue_GetSyntheticValue(self)
15504
15505    def GetPreferDynamicValue(self):
15506        r"""GetPreferDynamicValue(SBValue self) -> lldb::DynamicValueType"""
15507        return _lldb.SBValue_GetPreferDynamicValue(self)
15508
15509    def SetPreferDynamicValue(self, use_dynamic):
15510        r"""SetPreferDynamicValue(SBValue self, lldb::DynamicValueType use_dynamic)"""
15511        return _lldb.SBValue_SetPreferDynamicValue(self, use_dynamic)
15512
15513    def GetPreferSyntheticValue(self):
15514        r"""GetPreferSyntheticValue(SBValue self) -> bool"""
15515        return _lldb.SBValue_GetPreferSyntheticValue(self)
15516
15517    def SetPreferSyntheticValue(self, use_synthetic):
15518        r"""SetPreferSyntheticValue(SBValue self, bool use_synthetic)"""
15519        return _lldb.SBValue_SetPreferSyntheticValue(self, use_synthetic)
15520
15521    def IsDynamic(self):
15522        r"""IsDynamic(SBValue self) -> bool"""
15523        return _lldb.SBValue_IsDynamic(self)
15524
15525    def IsSynthetic(self):
15526        r"""IsSynthetic(SBValue self) -> bool"""
15527        return _lldb.SBValue_IsSynthetic(self)
15528
15529    def IsSyntheticChildrenGenerated(self):
15530        r"""IsSyntheticChildrenGenerated(SBValue self) -> bool"""
15531        return _lldb.SBValue_IsSyntheticChildrenGenerated(self)
15532
15533    def SetSyntheticChildrenGenerated(self, arg2):
15534        r"""SetSyntheticChildrenGenerated(SBValue self, bool arg2)"""
15535        return _lldb.SBValue_SetSyntheticChildrenGenerated(self, arg2)
15536
15537    def GetLocation(self):
15538        r"""GetLocation(SBValue self) -> char const *"""
15539        return _lldb.SBValue_GetLocation(self)
15540
15541    def SetValueFromCString(self, *args):
15542        r"""
15543        SetValueFromCString(SBValue self, char const * value_str) -> bool
15544        SetValueFromCString(SBValue self, char const * value_str, SBError error) -> bool
15545        """
15546        return _lldb.SBValue_SetValueFromCString(self, *args)
15547
15548    def GetTypeFormat(self):
15549        r"""GetTypeFormat(SBValue self) -> SBTypeFormat"""
15550        return _lldb.SBValue_GetTypeFormat(self)
15551
15552    def GetTypeSummary(self):
15553        r"""GetTypeSummary(SBValue self) -> SBTypeSummary"""
15554        return _lldb.SBValue_GetTypeSummary(self)
15555
15556    def GetTypeFilter(self):
15557        r"""GetTypeFilter(SBValue self) -> SBTypeFilter"""
15558        return _lldb.SBValue_GetTypeFilter(self)
15559
15560    def GetTypeSynthetic(self):
15561        r"""GetTypeSynthetic(SBValue self) -> SBTypeSynthetic"""
15562        return _lldb.SBValue_GetTypeSynthetic(self)
15563
15564    def CreateChildAtOffset(self, name, offset, type):
15565        r"""CreateChildAtOffset(SBValue self, char const * name, uint32_t offset, SBType type) -> SBValue"""
15566        return _lldb.SBValue_CreateChildAtOffset(self, name, offset, type)
15567
15568    def Cast(self, type):
15569        r"""Cast(SBValue self, SBType type) -> SBValue"""
15570        return _lldb.SBValue_Cast(self, type)
15571
15572    def CreateValueFromExpression(self, *args):
15573        r"""
15574        CreateValueFromExpression(SBValue self, char const * name, char const * expression) -> SBValue
15575        CreateValueFromExpression(SBValue self, char const * name, char const * expression, SBExpressionOptions options) -> SBValue
15576        """
15577        return _lldb.SBValue_CreateValueFromExpression(self, *args)
15578
15579    def CreateValueFromAddress(self, name, address, type):
15580        r"""CreateValueFromAddress(SBValue self, char const * name, lldb::addr_t address, SBType type) -> SBValue"""
15581        return _lldb.SBValue_CreateValueFromAddress(self, name, address, type)
15582
15583    def CreateValueFromData(self, name, data, type):
15584        r"""CreateValueFromData(SBValue self, char const * name, SBData data, SBType type) -> SBValue"""
15585        return _lldb.SBValue_CreateValueFromData(self, name, data, type)
15586
15587    def GetChildAtIndex(self, *args):
15588        r"""
15589        GetChildAtIndex(SBValue self, uint32_t idx) -> SBValue
15590        GetChildAtIndex(SBValue self, uint32_t idx, lldb::DynamicValueType use_dynamic, bool can_create_synthetic) -> SBValue
15591
15592            Get a child value by index from a value.
15593
15594            Structs, unions, classes, arrays and pointers have child
15595            values that can be access by index.
15596
15597            Structs and unions access child members using a zero based index
15598            for each child member. For
15599
15600            Classes reserve the first indexes for base classes that have
15601            members (empty base classes are omitted), and all members of the
15602            current class will then follow the base classes.
15603
15604            Pointers differ depending on what they point to. If the pointer
15605            points to a simple type, the child at index zero
15606            is the only child value available, unless synthetic_allowed
15607            is true, in which case the pointer will be used as an array
15608            and can create 'synthetic' child values using positive or
15609            negative indexes. If the pointer points to an aggregate type
15610            (an array, class, union, struct), then the pointee is
15611            transparently skipped and any children are going to be the indexes
15612            of the child values within the aggregate type. For example if
15613            we have a 'Point' type and we have a SBValue that contains a
15614            pointer to a 'Point' type, then the child at index zero will be
15615            the 'x' member, and the child at index 1 will be the 'y' member
15616            (the child at index zero won't be a 'Point' instance).
15617
15618            If you actually need an SBValue that represents the type pointed
15619            to by a SBValue for which GetType().IsPointeeType() returns true,
15620            regardless of the pointee type, you can do that with the SBValue.Dereference
15621            method (or the equivalent deref property).
15622
15623            Arrays have a preset number of children that can be accessed by
15624            index and will returns invalid child values for indexes that are
15625            out of bounds unless the synthetic_allowed is true. In this
15626            case the array can create 'synthetic' child values for indexes
15627            that aren't in the array bounds using positive or negative
15628            indexes.
15629
15630            @param[in] idx
15631                The index of the child value to get
15632
15633            @param[in] use_dynamic
15634                An enumeration that specifies whether to get dynamic values,
15635                and also if the target can be run to figure out the dynamic
15636                type of the child value.
15637
15638            @param[in] synthetic_allowed
15639                If true, then allow child values to be created by index
15640                for pointers and arrays for indexes that normally wouldn't
15641                be allowed.
15642
15643            @return
15644                A new SBValue object that represents the child member value.
15645        """
15646        return _lldb.SBValue_GetChildAtIndex(self, *args)
15647
15648    def GetIndexOfChildWithName(self, name):
15649        r"""
15650        GetIndexOfChildWithName(SBValue self, char const * name) -> uint32_t
15651
15652            Returns the child member index.
15653
15654            Matches children of this object only and will match base classes and
15655            member names if this is a clang typed object.
15656
15657            @param[in] name
15658                The name of the child value to get
15659
15660            @return
15661                An index to the child member value.
15662        """
15663        return _lldb.SBValue_GetIndexOfChildWithName(self, name)
15664
15665    def GetChildMemberWithName(self, *args):
15666        r"""
15667        GetChildMemberWithName(SBValue self, char const * name) -> SBValue
15668        GetChildMemberWithName(SBValue self, char const * name, lldb::DynamicValueType use_dynamic) -> SBValue
15669
15670            Returns the child member value.
15671
15672            Matches child members of this object and child members of any base
15673            classes.
15674
15675            @param[in] name
15676                The name of the child value to get
15677
15678            @param[in] use_dynamic
15679                An enumeration that specifies whether to get dynamic values,
15680                and also if the target can be run to figure out the dynamic
15681                type of the child value.
15682
15683            @return
15684                A new SBValue object that represents the child member value.
15685        """
15686        return _lldb.SBValue_GetChildMemberWithName(self, *args)
15687
15688    def GetValueForExpressionPath(self, expr_path):
15689        r"""
15690        GetValueForExpressionPath(SBValue self, char const * expr_path) -> SBValue
15691        Expands nested expressions like .a->b[0].c[1]->d.
15692        """
15693        return _lldb.SBValue_GetValueForExpressionPath(self, expr_path)
15694
15695    def AddressOf(self):
15696        r"""AddressOf(SBValue self) -> SBValue"""
15697        return _lldb.SBValue_AddressOf(self)
15698
15699    def GetLoadAddress(self):
15700        r"""GetLoadAddress(SBValue self) -> lldb::addr_t"""
15701        return _lldb.SBValue_GetLoadAddress(self)
15702
15703    def GetAddress(self):
15704        r"""GetAddress(SBValue self) -> SBAddress"""
15705        return _lldb.SBValue_GetAddress(self)
15706
15707    def GetPointeeData(self, item_idx=0, item_count=1):
15708        r"""
15709        GetPointeeData(SBValue self, uint32_t item_idx=0, uint32_t item_count=1) -> SBData
15710
15711            Get an SBData wrapping what this SBValue points to.
15712
15713            This method will dereference the current SBValue, if its
15714            data type is a ``T\*`` or ``T[]``, and extract ``item_count`` elements
15715            of type ``T`` from it, copying their contents in an :py:class:`SBData`.
15716
15717            :param item_idx: The index of the first item to retrieve. For an array
15718                this is equivalent to array[item_idx], for a pointer
15719                to ``\*(pointer + item_idx)``. In either case, the measurement
15720                unit for item_idx is the ``sizeof(T)`` rather than the byte
15721            :param item_count: How many items should be copied into the output. By default
15722                only one item is copied, but more can be asked for.
15723            :return: The contents of the copied items on success. An empty :py:class:`SBData` otherwise.
15724            :rtype: SBData
15725
15726        """
15727        return _lldb.SBValue_GetPointeeData(self, item_idx, item_count)
15728
15729    def GetData(self):
15730        r"""
15731        GetData(SBValue self) -> SBData
15732
15733            Get an SBData wrapping the contents of this SBValue.
15734
15735            This method will read the contents of this object in memory
15736            and copy them into an SBData for future use.
15737
15738            @return
15739                An SBData with the contents of this SBValue, on success.
15740                An empty SBData otherwise.
15741        """
15742        return _lldb.SBValue_GetData(self)
15743
15744    def SetData(self, data, error):
15745        r"""SetData(SBValue self, SBData data, SBError error) -> bool"""
15746        return _lldb.SBValue_SetData(self, data, error)
15747
15748    def Clone(self, new_name):
15749        r"""Clone(SBValue self, char const * new_name) -> SBValue"""
15750        return _lldb.SBValue_Clone(self, new_name)
15751
15752    def GetDeclaration(self):
15753        r"""GetDeclaration(SBValue self) -> SBDeclaration"""
15754        return _lldb.SBValue_GetDeclaration(self)
15755
15756    def MightHaveChildren(self):
15757        r"""MightHaveChildren(SBValue self) -> bool"""
15758        return _lldb.SBValue_MightHaveChildren(self)
15759
15760    def IsRuntimeSupportValue(self):
15761        r"""IsRuntimeSupportValue(SBValue self) -> bool"""
15762        return _lldb.SBValue_IsRuntimeSupportValue(self)
15763
15764    def GetNumChildren(self, *args):
15765        r"""
15766        GetNumChildren(SBValue self) -> uint32_t
15767        GetNumChildren(SBValue self, uint32_t max) -> uint32_t
15768        """
15769        return _lldb.SBValue_GetNumChildren(self, *args)
15770
15771    def GetOpaqueType(self):
15772        r"""GetOpaqueType(SBValue self) -> void *"""
15773        return _lldb.SBValue_GetOpaqueType(self)
15774
15775    def GetTarget(self):
15776        r"""GetTarget(SBValue self) -> SBTarget"""
15777        return _lldb.SBValue_GetTarget(self)
15778
15779    def GetProcess(self):
15780        r"""GetProcess(SBValue self) -> SBProcess"""
15781        return _lldb.SBValue_GetProcess(self)
15782
15783    def GetThread(self):
15784        r"""GetThread(SBValue self) -> SBThread"""
15785        return _lldb.SBValue_GetThread(self)
15786
15787    def GetFrame(self):
15788        r"""GetFrame(SBValue self) -> SBFrame"""
15789        return _lldb.SBValue_GetFrame(self)
15790
15791    def Dereference(self):
15792        r"""Dereference(SBValue self) -> SBValue"""
15793        return _lldb.SBValue_Dereference(self)
15794
15795    def TypeIsPointerType(self):
15796        r"""TypeIsPointerType(SBValue self) -> bool"""
15797        return _lldb.SBValue_TypeIsPointerType(self)
15798
15799    def GetType(self):
15800        r"""GetType(SBValue self) -> SBType"""
15801        return _lldb.SBValue_GetType(self)
15802
15803    def Persist(self):
15804        r"""Persist(SBValue self) -> SBValue"""
15805        return _lldb.SBValue_Persist(self)
15806
15807    def GetDescription(self, description):
15808        r"""GetDescription(SBValue self, SBStream description) -> bool"""
15809        return _lldb.SBValue_GetDescription(self, description)
15810
15811    def GetExpressionPath(self, *args):
15812        r"""
15813        GetExpressionPath(SBValue self, SBStream description) -> bool
15814        GetExpressionPath(SBValue self, SBStream description, bool qualify_cxx_base_classes) -> bool
15815        Returns an expression path for this value.
15816        """
15817        return _lldb.SBValue_GetExpressionPath(self, *args)
15818
15819    def EvaluateExpression(self, *args):
15820        r"""
15821        EvaluateExpression(SBValue self, char const * expr) -> SBValue
15822        EvaluateExpression(SBValue self, char const * expr, SBExpressionOptions options) -> SBValue
15823        EvaluateExpression(SBValue self, char const * expr, SBExpressionOptions options, char const * name) -> SBValue
15824        """
15825        return _lldb.SBValue_EvaluateExpression(self, *args)
15826
15827    def Watch(self, *args):
15828        r"""
15829        Watch(SBValue self, bool resolve_location, bool read, bool write, SBError error) -> SBWatchpoint
15830        Watch(SBValue self, bool resolve_location, bool read, bool write) -> SBWatchpoint
15831
15832            Find and watch a variable.
15833            It returns an SBWatchpoint, which may be invalid.
15834        """
15835        return _lldb.SBValue_Watch(self, *args)
15836
15837    def WatchPointee(self, resolve_location, read, write, error):
15838        r"""
15839        WatchPointee(SBValue self, bool resolve_location, bool read, bool write, SBError error) -> SBWatchpoint
15840
15841            Find and watch the location pointed to by a variable.
15842            It returns an SBWatchpoint, which may be invalid.
15843        """
15844        return _lldb.SBValue_WatchPointee(self, resolve_location, read, write, error)
15845
15846    def GetVTable(self):
15847        r"""GetVTable(SBValue self) -> SBValue"""
15848        return _lldb.SBValue_GetVTable(self)
15849
15850    def __repr__(self):
15851        r"""__repr__(SBValue self) -> std::string"""
15852        return _lldb.SBValue___repr__(self)
15853
15854    def __get_dynamic__ (self):
15855        '''Helper function for the "SBValue.dynamic" property.'''
15856        return self.GetDynamicValue (eDynamicCanRunTarget)
15857
15858    class children_access(object):
15859        '''A helper object that will lazily hand out thread for a process when supplied an index.'''
15860
15861        def __init__(self, sbvalue):
15862            self.sbvalue = sbvalue
15863
15864        def __len__(self):
15865            if self.sbvalue:
15866                return int(self.sbvalue.GetNumChildren())
15867            return 0
15868
15869        def __getitem__(self, key):
15870            if isinstance(key, int):
15871                count = len(self)
15872                if -count <= key < count:
15873                    key %= count
15874                    return self.sbvalue.GetChildAtIndex(key)
15875            return None
15876
15877    def get_child_access_object(self):
15878        '''An accessor function that returns a children_access() object which allows lazy member variable access from a lldb.SBValue object.'''
15879        return self.children_access (self)
15880
15881    def get_value_child_list(self):
15882        '''An accessor function that returns a list() that contains all children in a lldb.SBValue object.'''
15883        children = []
15884        accessor = self.get_child_access_object()
15885        for idx in range(len(accessor)):
15886            children.append(accessor[idx])
15887        return children
15888
15889    def __hex__(self):
15890        return self.GetAddress()
15891
15892    def __iter__(self):
15893        '''Iterate over all child values of a lldb.SBValue object.'''
15894        return lldb_iter(self, 'GetNumChildren', 'GetChildAtIndex')
15895
15896    def __len__(self):
15897        '''Return the number of child values of a lldb.SBValue object.'''
15898        return self.GetNumChildren()
15899
15900    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.''')
15901    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]).''')
15902    name = property(GetName, None, doc='''A read only property that returns the name of this value as a string.''')
15903    type = property(GetType, None, doc='''A read only property that returns a lldb.SBType object that represents the type for this value.''')
15904    size = property(GetByteSize, None, doc='''A read only property that returns the size in bytes of this value.''')
15905    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.''')
15906    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".''')
15907    value = property(GetValue, SetValueFromCString, doc='''A read/write property that gets/sets value from a string.''')
15908    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.).''')
15909    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.''')
15910    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.''')
15911    load_addr = property(GetLoadAddress, None, doc='''A read only property that returns the load address of this value as an integer.''')
15912    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.''')
15913    deref = property(Dereference, None, doc='''A read only property that returns an lldb.SBValue that is created by dereferencing this value.''')
15914    address_of = property(AddressOf, None, doc='''A read only property that returns an lldb.SBValue that represents the address-of this value.''')
15915    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.''')
15916    summary = property(GetSummary, None, doc='''A read only property that returns the summary for this value as a string''')
15917    description = property(GetObjectDescription, None, doc='''A read only property that returns the language-specific description of this value as a string''')
15918    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.''')
15919    location = property(GetLocation, None, doc='''A read only property that returns the location of this value as a string.''')
15920    target = property(GetTarget, None, doc='''A read only property that returns the lldb.SBTarget that this value is associated with.''')
15921    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.''')
15922    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.''')
15923    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.''')
15924    num_children = property(GetNumChildren, None, doc='''A read only property that returns the number of child lldb.SBValues that this value has.''')
15925    unsigned = property(GetValueAsUnsigned, None, doc='''A read only property that returns the value of this SBValue as an usigned integer.''')
15926    signed = property(GetValueAsSigned, None, doc='''A read only property that returns the value of this SBValue as a signed integer.''')
15927
15928    def get_expr_path(self):
15929        s = SBStream()
15930        self.GetExpressionPath (s)
15931        return s.GetData()
15932
15933    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.''')
15934
15935    def synthetic_child_from_expression(self, name, expr, options=None):
15936        if options is None: options = lldb.SBExpressionOptions()
15937        child = self.CreateValueFromExpression(name, expr, options)
15938        child.SetSyntheticChildrenGenerated(True)
15939        return child
15940
15941    def synthetic_child_from_data(self, name, data, type):
15942        child = self.CreateValueFromData(name, data, type)
15943        child.SetSyntheticChildrenGenerated(True)
15944        return child
15945
15946    def synthetic_child_from_address(self, name, addr, type):
15947        child = self.CreateValueFromAddress(name, addr, type)
15948        child.SetSyntheticChildrenGenerated(True)
15949        return child
15950
15951    def __eol_test(val):
15952        """Default function for end of list test takes an SBValue object.
15953
15954        Return True if val is invalid or it corresponds to a null pointer.
15955        Otherwise, return False.
15956        """
15957        if not val or val.GetValueAsUnsigned() == 0:
15958            return True
15959        else:
15960            return False
15961
15962    # ==================================================
15963    # Iterator for lldb.SBValue treated as a linked list
15964    # ==================================================
15965    def linked_list_iter(self, next_item_name, end_of_list_test=__eol_test):
15966        """Generator adaptor to support iteration for SBValue as a linked list.
15967
15968        linked_list_iter() is a special purpose iterator to treat the SBValue as
15969        the head of a list data structure, where you specify the child member
15970        name which points to the next item on the list and you specify the
15971        end-of-list test function which takes an SBValue for an item and returns
15972        True if EOL is reached and False if not.
15973
15974        linked_list_iter() also detects infinite loop and bails out early.
15975
15976        The end_of_list_test arg, if omitted, defaults to the __eol_test
15977        function above.
15978
15979        For example,
15980
15981    # Get Frame #0.
15982        ...
15983
15984    # Get variable 'task_head'.
15985        task_head = frame0.FindVariable('task_head')
15986        ...
15987
15988        for t in task_head.linked_list_iter('next'):
15989            print t
15990        """
15991        if end_of_list_test(self):
15992            return
15993        item = self
15994        visited = set()
15995        try:
15996            while not end_of_list_test(item) and not item.GetValueAsUnsigned() in visited:
15997                visited.add(item.GetValueAsUnsigned())
15998                yield item
15999    # Prepare for the next iteration.
16000                item = item.GetChildMemberWithName(next_item_name)
16001        except:
16002    # Exception occurred.  Stop the generator.
16003            pass
16004
16005        return
16006
16007
16008# Register SBValue in _lldb:
16009_lldb.SBValue_swigregister(SBValue)
16010class SBValueList(object):
16011    r"""
16012    Represents a collection of SBValues.  Both :py:class:`SBFrame.GetVariables()` and
16013    :py:class:`SBFrame.GetRegisters()` return a SBValueList.
16014
16015    SBValueList supports :py:class:`SBValue` iteration. For example (from test/lldbutil.py),::
16016
16017        def get_registers(frame, kind):
16018            '''Returns the registers given the frame and the kind of registers desired.
16019
16020            Returns None if there's no such kind.
16021            '''
16022            registerSet = frame.GetRegisters() # Return type of SBValueList.
16023            for value in registerSet:
16024                if kind.lower() in value.GetName().lower():
16025                    return value
16026
16027            return None
16028
16029        def get_GPRs(frame):
16030            '''Returns the general purpose registers of the frame as an SBValue.
16031
16032            The returned SBValue object is iterable.  An example:
16033                ...
16034                from lldbutil import get_GPRs
16035                regs = get_GPRs(frame)
16036                for reg in regs:
16037                    print('%s => %s' % (reg.GetName(), reg.GetValue()))
16038                ...
16039            '''
16040            return get_registers(frame, 'general purpose')
16041
16042        def get_FPRs(frame):
16043            '''Returns the floating point registers of the frame as an SBValue.
16044
16045            The returned SBValue object is iterable.  An example:
16046                ...
16047                from lldbutil import get_FPRs
16048                regs = get_FPRs(frame)
16049                for reg in regs:
16050                    print('%s => %s' % (reg.GetName(), reg.GetValue()))
16051                ...
16052            '''
16053            return get_registers(frame, 'floating point')
16054
16055        def get_ESRs(frame):
16056            '''Returns the exception state registers of the frame as an SBValue.
16057
16058            The returned SBValue object is iterable.  An example:
16059                ...
16060                from lldbutil import get_ESRs
16061                regs = get_ESRs(frame)
16062                for reg in regs:
16063                    print('%s => %s' % (reg.GetName(), reg.GetValue()))
16064                ...
16065            '''
16066            return get_registers(frame, 'exception state')
16067
16068    """
16069
16070    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16071    __repr__ = _swig_repr
16072
16073    def __init__(self, *args):
16074        r"""
16075        __init__(SBValueList self) -> SBValueList
16076        __init__(SBValueList self, SBValueList rhs) -> SBValueList
16077        """
16078        _lldb.SBValueList_swiginit(self, _lldb.new_SBValueList(*args))
16079    __swig_destroy__ = _lldb.delete_SBValueList
16080
16081    def __nonzero__(self):
16082        return _lldb.SBValueList___nonzero__(self)
16083    __bool__ = __nonzero__
16084
16085
16086
16087    def IsValid(self):
16088        r"""IsValid(SBValueList self) -> bool"""
16089        return _lldb.SBValueList_IsValid(self)
16090
16091    def Clear(self):
16092        r"""Clear(SBValueList self)"""
16093        return _lldb.SBValueList_Clear(self)
16094
16095    def Append(self, *args):
16096        r"""
16097        Append(SBValueList self, SBValue val_obj)
16098        Append(SBValueList self, SBValueList value_list)
16099        """
16100        return _lldb.SBValueList_Append(self, *args)
16101
16102    def GetSize(self):
16103        r"""GetSize(SBValueList self) -> uint32_t"""
16104        return _lldb.SBValueList_GetSize(self)
16105
16106    def GetValueAtIndex(self, idx):
16107        r"""GetValueAtIndex(SBValueList self, uint32_t idx) -> SBValue"""
16108        return _lldb.SBValueList_GetValueAtIndex(self, idx)
16109
16110    def GetFirstValueByName(self, name):
16111        r"""GetFirstValueByName(SBValueList self, char const * name) -> SBValue"""
16112        return _lldb.SBValueList_GetFirstValueByName(self, name)
16113
16114    def FindValueObjectByUID(self, uid):
16115        r"""FindValueObjectByUID(SBValueList self, lldb::user_id_t uid) -> SBValue"""
16116        return _lldb.SBValueList_FindValueObjectByUID(self, uid)
16117
16118    def GetError(self):
16119        r"""GetError(SBValueList self) -> SBError"""
16120        return _lldb.SBValueList_GetError(self)
16121
16122    def __str__(self):
16123        r"""__str__(SBValueList self) -> std::string"""
16124        return _lldb.SBValueList___str__(self)
16125
16126    def __iter__(self):
16127        '''Iterate over all values in a lldb.SBValueList object.'''
16128        return lldb_iter(self, 'GetSize', 'GetValueAtIndex')
16129
16130    def __len__(self):
16131        return int(self.GetSize())
16132
16133    def __getitem__(self, key):
16134        count = len(self)
16135    #------------------------------------------------------------
16136    # Access with "int" to get Nth item in the list
16137    #------------------------------------------------------------
16138        if type(key) is int:
16139            if -count <= key < count:
16140                key %= count
16141                return self.GetValueAtIndex(key)
16142    #------------------------------------------------------------
16143    # Access with "str" to get values by name
16144    #------------------------------------------------------------
16145        elif type(key) is str:
16146            matches = []
16147            for idx in range(count):
16148                value = self.GetValueAtIndex(idx)
16149                if value.name == key:
16150                    matches.append(value)
16151            return matches
16152    #------------------------------------------------------------
16153    # Match with regex
16154    #------------------------------------------------------------
16155        elif isinstance(key, type(re.compile('.'))):
16156            matches = []
16157            for idx in range(count):
16158                value = self.GetValueAtIndex(idx)
16159                re_match = key.search(value.name)
16160                if re_match:
16161                    matches.append(value)
16162            return matches
16163
16164
16165
16166# Register SBValueList in _lldb:
16167_lldb.SBValueList_swigregister(SBValueList)
16168class SBVariablesOptions(object):
16169    r"""Describes which variables should be returned from :py:class:`SBFrame.GetVariables`."""
16170
16171    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16172    __repr__ = _swig_repr
16173
16174    def __init__(self, *args):
16175        r"""
16176        __init__(SBVariablesOptions self) -> SBVariablesOptions
16177        __init__(SBVariablesOptions self, SBVariablesOptions options) -> SBVariablesOptions
16178        """
16179        _lldb.SBVariablesOptions_swiginit(self, _lldb.new_SBVariablesOptions(*args))
16180    __swig_destroy__ = _lldb.delete_SBVariablesOptions
16181
16182    def __nonzero__(self):
16183        return _lldb.SBVariablesOptions___nonzero__(self)
16184    __bool__ = __nonzero__
16185
16186
16187
16188    def IsValid(self):
16189        r"""IsValid(SBVariablesOptions self) -> bool"""
16190        return _lldb.SBVariablesOptions_IsValid(self)
16191
16192    def GetIncludeArguments(self):
16193        r"""GetIncludeArguments(SBVariablesOptions self) -> bool"""
16194        return _lldb.SBVariablesOptions_GetIncludeArguments(self)
16195
16196    def SetIncludeArguments(self, arg2):
16197        r"""SetIncludeArguments(SBVariablesOptions self, bool arg2)"""
16198        return _lldb.SBVariablesOptions_SetIncludeArguments(self, arg2)
16199
16200    def GetIncludeRecognizedArguments(self, arg2):
16201        r"""GetIncludeRecognizedArguments(SBVariablesOptions self, SBTarget arg2) -> bool"""
16202        return _lldb.SBVariablesOptions_GetIncludeRecognizedArguments(self, arg2)
16203
16204    def SetIncludeRecognizedArguments(self, arg2):
16205        r"""SetIncludeRecognizedArguments(SBVariablesOptions self, bool arg2)"""
16206        return _lldb.SBVariablesOptions_SetIncludeRecognizedArguments(self, arg2)
16207
16208    def GetIncludeLocals(self):
16209        r"""GetIncludeLocals(SBVariablesOptions self) -> bool"""
16210        return _lldb.SBVariablesOptions_GetIncludeLocals(self)
16211
16212    def SetIncludeLocals(self, arg2):
16213        r"""SetIncludeLocals(SBVariablesOptions self, bool arg2)"""
16214        return _lldb.SBVariablesOptions_SetIncludeLocals(self, arg2)
16215
16216    def GetIncludeStatics(self):
16217        r"""GetIncludeStatics(SBVariablesOptions self) -> bool"""
16218        return _lldb.SBVariablesOptions_GetIncludeStatics(self)
16219
16220    def SetIncludeStatics(self, arg2):
16221        r"""SetIncludeStatics(SBVariablesOptions self, bool arg2)"""
16222        return _lldb.SBVariablesOptions_SetIncludeStatics(self, arg2)
16223
16224    def GetInScopeOnly(self):
16225        r"""GetInScopeOnly(SBVariablesOptions self) -> bool"""
16226        return _lldb.SBVariablesOptions_GetInScopeOnly(self)
16227
16228    def SetInScopeOnly(self, arg2):
16229        r"""SetInScopeOnly(SBVariablesOptions self, bool arg2)"""
16230        return _lldb.SBVariablesOptions_SetInScopeOnly(self, arg2)
16231
16232    def GetIncludeRuntimeSupportValues(self):
16233        r"""GetIncludeRuntimeSupportValues(SBVariablesOptions self) -> bool"""
16234        return _lldb.SBVariablesOptions_GetIncludeRuntimeSupportValues(self)
16235
16236    def SetIncludeRuntimeSupportValues(self, arg2):
16237        r"""SetIncludeRuntimeSupportValues(SBVariablesOptions self, bool arg2)"""
16238        return _lldb.SBVariablesOptions_SetIncludeRuntimeSupportValues(self, arg2)
16239
16240    def GetUseDynamic(self):
16241        r"""GetUseDynamic(SBVariablesOptions self) -> lldb::DynamicValueType"""
16242        return _lldb.SBVariablesOptions_GetUseDynamic(self)
16243
16244    def SetUseDynamic(self, arg2):
16245        r"""SetUseDynamic(SBVariablesOptions self, lldb::DynamicValueType arg2)"""
16246        return _lldb.SBVariablesOptions_SetUseDynamic(self, arg2)
16247
16248# Register SBVariablesOptions in _lldb:
16249_lldb.SBVariablesOptions_swigregister(SBVariablesOptions)
16250class SBWatchpoint(object):
16251    r"""
16252    Represents an instance of watchpoint for a specific target program.
16253
16254    A watchpoint is determined by the address and the byte size that resulted in
16255    this particular instantiation.  Each watchpoint has its settable options.
16256
16257    See also :py:class:`SBTarget.watchpoint_iter()` for example usage of iterating through the
16258    watchpoints of the target.
16259    """
16260
16261    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16262
16263    def __init__(self, *args):
16264        r"""
16265        __init__(SBWatchpoint self) -> SBWatchpoint
16266        __init__(SBWatchpoint self, SBWatchpoint rhs) -> SBWatchpoint
16267        """
16268        _lldb.SBWatchpoint_swiginit(self, _lldb.new_SBWatchpoint(*args))
16269    __swig_destroy__ = _lldb.delete_SBWatchpoint
16270
16271    def __nonzero__(self):
16272        return _lldb.SBWatchpoint___nonzero__(self)
16273    __bool__ = __nonzero__
16274
16275
16276
16277    def __eq__(self, rhs):
16278        r"""__eq__(SBWatchpoint self, SBWatchpoint rhs) -> bool"""
16279        return _lldb.SBWatchpoint___eq__(self, rhs)
16280
16281    def __ne__(self, rhs):
16282        r"""__ne__(SBWatchpoint self, SBWatchpoint rhs) -> bool"""
16283        return _lldb.SBWatchpoint___ne__(self, rhs)
16284
16285    def IsValid(self):
16286        r"""IsValid(SBWatchpoint self) -> bool"""
16287        return _lldb.SBWatchpoint_IsValid(self)
16288
16289    def GetError(self):
16290        r"""GetError(SBWatchpoint self) -> SBError"""
16291        return _lldb.SBWatchpoint_GetError(self)
16292
16293    def GetID(self):
16294        r"""GetID(SBWatchpoint self) -> lldb::watch_id_t"""
16295        return _lldb.SBWatchpoint_GetID(self)
16296
16297    def GetHardwareIndex(self):
16298        r"""
16299        GetHardwareIndex(SBWatchpoint self) -> int32_t
16300
16301            Deprecated.  Previously: Return the hardware index of the
16302            watchpoint register.  Now: -1 is always returned.
16303        """
16304        return _lldb.SBWatchpoint_GetHardwareIndex(self)
16305
16306    def GetWatchAddress(self):
16307        r"""GetWatchAddress(SBWatchpoint self) -> lldb::addr_t"""
16308        return _lldb.SBWatchpoint_GetWatchAddress(self)
16309
16310    def GetWatchSize(self):
16311        r"""GetWatchSize(SBWatchpoint self) -> size_t"""
16312        return _lldb.SBWatchpoint_GetWatchSize(self)
16313
16314    def SetEnabled(self, enabled):
16315        r"""SetEnabled(SBWatchpoint self, bool enabled)"""
16316        return _lldb.SBWatchpoint_SetEnabled(self, enabled)
16317
16318    def IsEnabled(self):
16319        r"""IsEnabled(SBWatchpoint self) -> bool"""
16320        return _lldb.SBWatchpoint_IsEnabled(self)
16321
16322    def GetHitCount(self):
16323        r"""GetHitCount(SBWatchpoint self) -> uint32_t"""
16324        return _lldb.SBWatchpoint_GetHitCount(self)
16325
16326    def GetIgnoreCount(self):
16327        r"""GetIgnoreCount(SBWatchpoint self) -> uint32_t"""
16328        return _lldb.SBWatchpoint_GetIgnoreCount(self)
16329
16330    def SetIgnoreCount(self, n):
16331        r"""SetIgnoreCount(SBWatchpoint self, uint32_t n)"""
16332        return _lldb.SBWatchpoint_SetIgnoreCount(self, n)
16333
16334    def GetCondition(self):
16335        r"""
16336        GetCondition(SBWatchpoint self) -> char const *
16337
16338            Get the condition expression for the watchpoint.
16339        """
16340        return _lldb.SBWatchpoint_GetCondition(self)
16341
16342    def SetCondition(self, condition):
16343        r"""
16344        SetCondition(SBWatchpoint self, char const * condition)
16345
16346            The watchpoint stops only if the condition expression evaluates to true.
16347        """
16348        return _lldb.SBWatchpoint_SetCondition(self, condition)
16349
16350    def GetDescription(self, description, level):
16351        r"""GetDescription(SBWatchpoint self, SBStream description, lldb::DescriptionLevel level) -> bool"""
16352        return _lldb.SBWatchpoint_GetDescription(self, description, level)
16353
16354    def Clear(self):
16355        r"""Clear(SBWatchpoint self)"""
16356        return _lldb.SBWatchpoint_Clear(self)
16357
16358    @staticmethod
16359    def EventIsWatchpointEvent(event):
16360        r"""EventIsWatchpointEvent(SBEvent event) -> bool"""
16361        return _lldb.SBWatchpoint_EventIsWatchpointEvent(event)
16362
16363    @staticmethod
16364    def GetWatchpointEventTypeFromEvent(event):
16365        r"""GetWatchpointEventTypeFromEvent(SBEvent event) -> lldb::WatchpointEventType"""
16366        return _lldb.SBWatchpoint_GetWatchpointEventTypeFromEvent(event)
16367
16368    @staticmethod
16369    def GetWatchpointFromEvent(event):
16370        r"""GetWatchpointFromEvent(SBEvent event) -> SBWatchpoint"""
16371        return _lldb.SBWatchpoint_GetWatchpointFromEvent(event)
16372
16373    def GetType(self):
16374        r"""
16375        GetType(SBWatchpoint self) -> SBType
16376
16377            Returns the type recorded when the watchpoint was created. For variable
16378            watchpoints it is the type of the watched variable. For expression
16379            watchpoints it is the type of the provided expression.
16380        """
16381        return _lldb.SBWatchpoint_GetType(self)
16382
16383    def GetWatchValueKind(self):
16384        r"""
16385        GetWatchValueKind(SBWatchpoint self) -> lldb::WatchpointValueKind
16386
16387            Returns the kind of value that was watched when the watchpoint was created.
16388            Returns one of the following eWatchPointValueKindVariable,
16389            eWatchPointValueKindExpression, eWatchPointValueKindInvalid.
16390
16391        """
16392        return _lldb.SBWatchpoint_GetWatchValueKind(self)
16393
16394    def GetWatchSpec(self):
16395        r"""
16396        GetWatchSpec(SBWatchpoint self) -> char const *
16397
16398            Get the spec for the watchpoint. For variable watchpoints this is the name
16399            of the variable. For expression watchpoints it is empty
16400            (may change in the future).
16401        """
16402        return _lldb.SBWatchpoint_GetWatchSpec(self)
16403
16404    def IsWatchingReads(self):
16405        r"""
16406        IsWatchingReads(SBWatchpoint self) -> bool
16407
16408            Returns true if the watchpoint is watching reads. Returns false otherwise.
16409        """
16410        return _lldb.SBWatchpoint_IsWatchingReads(self)
16411
16412    def IsWatchingWrites(self):
16413        r"""
16414        IsWatchingWrites(SBWatchpoint self) -> bool
16415
16416            Returns true if the watchpoint is watching writes. Returns false otherwise.
16417        """
16418        return _lldb.SBWatchpoint_IsWatchingWrites(self)
16419
16420    def __repr__(self):
16421        r"""__repr__(SBWatchpoint self) -> std::string"""
16422        return _lldb.SBWatchpoint___repr__(self)
16423
16424          # operator== is a free function, which swig does not handle, so we inject
16425          # our own equality operator here
16426    def __eq__(self, other):
16427      return not self.__ne__(other)
16428
16429    def __hex__(self):
16430      return self.GetWatchAddress()
16431
16432    def __len__(self):
16433      return self.GetWatchSize()
16434
16435
16436# Register SBWatchpoint in _lldb:
16437_lldb.SBWatchpoint_swigregister(SBWatchpoint)
16438class SBWatchpointOptions(object):
16439    r"""A container for options to use when creating watchpoints."""
16440
16441    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16442    __repr__ = _swig_repr
16443
16444    def __init__(self, *args):
16445        r"""
16446        __init__(SBWatchpointOptions self) -> SBWatchpointOptions
16447        __init__(SBWatchpointOptions self, SBWatchpointOptions rhs) -> SBWatchpointOptions
16448        """
16449        _lldb.SBWatchpointOptions_swiginit(self, _lldb.new_SBWatchpointOptions(*args))
16450    __swig_destroy__ = _lldb.delete_SBWatchpointOptions
16451
16452    def SetWatchpointTypeRead(self, read):
16453        r"""
16454        SetWatchpointTypeRead(SBWatchpointOptions self, bool read)
16455        Sets whether the watchpoint should stop on read accesses.
16456        """
16457        return _lldb.SBWatchpointOptions_SetWatchpointTypeRead(self, read)
16458
16459    def GetWatchpointTypeRead(self):
16460        r"""
16461        GetWatchpointTypeRead(SBWatchpointOptions self) -> bool
16462        Gets whether the watchpoint should stop on read accesses.
16463        """
16464        return _lldb.SBWatchpointOptions_GetWatchpointTypeRead(self)
16465
16466    def SetWatchpointTypeWrite(self, write_type):
16467        r"""
16468        SetWatchpointTypeWrite(SBWatchpointOptions self, lldb::WatchpointWriteType write_type)
16469        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.
16470        """
16471        return _lldb.SBWatchpointOptions_SetWatchpointTypeWrite(self, write_type)
16472
16473    def GetWatchpointTypeWrite(self):
16474        r"""
16475        GetWatchpointTypeWrite(SBWatchpointOptions self) -> lldb::WatchpointWriteType
16476        Gets whether the watchpoint should stop on write accesses, returning WatchpointWriteType to indicate the type of write watching that is enabled, or eWatchpointWriteTypeDisabled.
16477        """
16478        return _lldb.SBWatchpointOptions_GetWatchpointTypeWrite(self)
16479
16480# Register SBWatchpointOptions in _lldb:
16481_lldb.SBWatchpointOptions_swigregister(SBWatchpointOptions)
16482
16483# ==================================
16484# Helper function for SBModule class
16485# ==================================
16486def in_range(symbol, section):
16487    """Test whether a symbol is within the range of a section."""
16488    symSA = symbol.GetStartAddress().GetFileAddress()
16489    symEA = symbol.GetEndAddress().GetFileAddress()
16490    secSA = section.GetFileAddress()
16491    secEA = secSA + section.GetByteSize()
16492
16493    if symEA != LLDB_INVALID_ADDRESS:
16494        if secSA <= symSA and symEA <= secEA:
16495            return True
16496        else:
16497            return False
16498    else:
16499        if secSA <= symSA and symSA < secEA:
16500            return True
16501        else:
16502            return False
16503
16504
16505
16506def command(command_name=None, doc=None):
16507    import lldb
16508    """A decorator function that registers an LLDB command line
16509        command that is bound to the function it is attached to."""
16510    def callable(function):
16511        """Registers an lldb command for the decorated function."""
16512        command = "command script add -f %s.%s %s" % (function.__module__, function.__name__, command_name or function.__name__)
16513        lldb.debugger.HandleCommand(command)
16514        if doc:
16515            function.__doc__ = doc
16516        return function
16517
16518    return callable
16519
16520class declaration(object):
16521    '''A class that represents a source declaration location with file, line and column.'''
16522    def __init__(self, file, line, col):
16523        self.file = file
16524        self.line = line
16525        self.col = col
16526
16527class value_iter(object):
16528    '''Allows iterating over the children of an :py:class:`SBValue`.'''
16529    def __iter__(self):
16530        return self
16531
16532    def __next__(self):
16533        if self.index >= self.length:
16534            raise StopIteration()
16535        child_sbvalue = self.sbvalue.GetChildAtIndex(self.index)
16536        self.index += 1
16537        return value(child_sbvalue)
16538
16539    def next(self):
16540        return self.__next__()
16541
16542    def __eq__(self, other):
16543        return not self.__ne__(other)
16544
16545    def __len__(self):
16546        return self.length
16547
16548    def __init__(self,value):
16549        self.index = 0
16550        self.length = 0
16551        self.sbvalue = value
16552        if type(self.sbvalue) is value:
16553            self.sbvalue = self.sbvalue.sbvalue
16554        self.length = self.sbvalue.GetNumChildren()
16555
16556class value(object):
16557    '''Wraps :py:class:`SBValue` objects so the resulting object can be used as a variable would be in code.
16558
16559    So if you have a Point structure variable in your code in the current frame named "pt",
16560    you can initialize an instance of this class with it: ::
16561
16562        pt = lldb.value(lldb.frame.FindVariable("pt"))
16563        print pt
16564        print pt.x
16565        print pt.y
16566
16567        pt = lldb.value(lldb.frame.FindVariable("rectangle_array"))
16568        print rectangle_array[12]
16569        print rectangle_array[5].origin.x'''
16570    def __init__(self, sbvalue):
16571        self.sbvalue = sbvalue
16572
16573    def __nonzero__(self):
16574        return self.sbvalue.__nonzero__()
16575
16576    def __bool__(self):
16577        return self.sbvalue.__bool__()
16578
16579    def __str__(self):
16580        return self.sbvalue.__str__()
16581
16582    def __getitem__(self, key):
16583# Allow array access if this value has children...
16584        if type(key) is value:
16585            key = int(key)
16586        if type(key) is int:
16587            child_sbvalue = (self.sbvalue.GetValueForExpressionPath("[%i]" % key))
16588            if child_sbvalue and child_sbvalue.IsValid():
16589                return value(child_sbvalue)
16590            raise IndexError("Index '%d' is out of range" % key)
16591        raise TypeError("No array item of type %s" % str(type(key)))
16592
16593    def __iter__(self):
16594        return value_iter(self.sbvalue)
16595
16596    def __getattr__(self, name):
16597        child_sbvalue = self.sbvalue.GetChildMemberWithName (name)
16598        if child_sbvalue and child_sbvalue.IsValid():
16599            return value(child_sbvalue)
16600        raise AttributeError("Attribute '%s' is not defined" % name)
16601
16602    def __add__(self, other):
16603        return int(self) + int(other)
16604
16605    def __sub__(self, other):
16606        return int(self) - int(other)
16607
16608    def __mul__(self, other):
16609        return int(self) * int(other)
16610
16611    def __floordiv__(self, other):
16612        return int(self) // int(other)
16613
16614    def __mod__(self, other):
16615        return int(self) % int(other)
16616
16617    def __divmod__(self, other):
16618        return int(self) % int(other)
16619
16620    def __pow__(self, other):
16621        return int(self) ** int(other)
16622
16623    def __lshift__(self, other):
16624        return int(self) << int(other)
16625
16626    def __rshift__(self, other):
16627        return int(self) >> int(other)
16628
16629    def __and__(self, other):
16630        return int(self) & int(other)
16631
16632    def __xor__(self, other):
16633        return int(self) ^ int(other)
16634
16635    def __or__(self, other):
16636        return int(self) | int(other)
16637
16638    def __div__(self, other):
16639        return int(self) / int(other)
16640
16641    def __truediv__(self, other):
16642        return int(self) / int(other)
16643
16644    def __iadd__(self, other):
16645        result = self.__add__(other)
16646        self.sbvalue.SetValueFromCString (str(result))
16647        return result
16648
16649    def __isub__(self, other):
16650        result = self.__sub__(other)
16651        self.sbvalue.SetValueFromCString (str(result))
16652        return result
16653
16654    def __imul__(self, other):
16655        result = self.__mul__(other)
16656        self.sbvalue.SetValueFromCString (str(result))
16657        return result
16658
16659    def __idiv__(self, other):
16660        result = self.__div__(other)
16661        self.sbvalue.SetValueFromCString (str(result))
16662        return result
16663
16664    def __itruediv__(self, other):
16665        result = self.__truediv__(other)
16666        self.sbvalue.SetValueFromCString (str(result))
16667        return result
16668
16669    def __ifloordiv__(self, other):
16670        result =  self.__floordiv__(self, other)
16671        self.sbvalue.SetValueFromCString (str(result))
16672        return result
16673
16674    def __imod__(self, other):
16675        result =  self.__and__(self, other)
16676        self.sbvalue.SetValueFromCString (str(result))
16677        return result
16678
16679    def __ipow__(self, other):
16680        result = self.__pow__(self, other)
16681        self.sbvalue.SetValueFromCString (str(result))
16682        return result
16683
16684    def __ipow__(self, other, modulo):
16685        result = self.__pow__(self, other, modulo)
16686        self.sbvalue.SetValueFromCString (str(result))
16687        return result
16688
16689    def __ilshift__(self, other):
16690        result = self.__lshift__(other)
16691        self.sbvalue.SetValueFromCString (str(result))
16692        return result
16693
16694    def __irshift__(self, other):
16695        result =  self.__rshift__(other)
16696        self.sbvalue.SetValueFromCString (str(result))
16697        return result
16698
16699    def __iand__(self, other):
16700        result =  self.__and__(self, other)
16701        self.sbvalue.SetValueFromCString (str(result))
16702        return result
16703
16704    def __ixor__(self, other):
16705        result =  self.__xor__(self, other)
16706        self.sbvalue.SetValueFromCString (str(result))
16707        return result
16708
16709    def __ior__(self, other):
16710        result =  self.__ior__(self, other)
16711        self.sbvalue.SetValueFromCString (str(result))
16712        return result
16713
16714    def __neg__(self):
16715        return -int(self)
16716
16717    def __pos__(self):
16718        return +int(self)
16719
16720    def __abs__(self):
16721        return abs(int(self))
16722
16723    def __invert__(self):
16724        return ~int(self)
16725
16726    def __complex__(self):
16727        return complex (int(self))
16728
16729    def __int__(self):
16730        is_num,is_sign = is_numeric_type(self.sbvalue.GetType().GetCanonicalType().GetBasicType())
16731        if is_num and not is_sign: return self.sbvalue.GetValueAsUnsigned()
16732        return self.sbvalue.GetValueAsSigned()
16733
16734    def __long__(self):
16735        return self.__int__()
16736
16737    def __float__(self):
16738        return float (self.sbvalue.GetValueAsSigned())
16739
16740    def __oct__(self):
16741        return '0%o' % self.sbvalue.GetValueAsUnsigned()
16742
16743    def __hex__(self):
16744        return '0x%x' % self.sbvalue.GetValueAsUnsigned()
16745
16746    def __len__(self):
16747        return self.sbvalue.GetNumChildren()
16748
16749    def __eq__(self, other):
16750        if type(other) is int:
16751                return int(self) == other
16752        elif type(other) is str:
16753                return str(self) == other
16754        elif type(other) is value:
16755                self_err = SBError()
16756                other_err = SBError()
16757                self_val = self.sbvalue.GetValueAsUnsigned(self_err)
16758                if self_err.fail:
16759                        raise ValueError("unable to extract value of self")
16760                other_val = other.sbvalue.GetValueAsUnsigned(other_err)
16761                if other_err.fail:
16762                        raise ValueError("unable to extract value of other")
16763                return self_val == other_val
16764        raise TypeError("Unknown type %s, No equality operation defined." % str(type(other)))
16765
16766    def __ne__(self, other):
16767        return not self.__eq__(other)
16768
16769
16770
16771class SBSyntheticValueProvider(object):
16772    def __init__(self,valobj):
16773        pass
16774
16775    def num_children(self):
16776        return 0
16777
16778    def get_child_index(self,name):
16779        return None
16780
16781    def get_child_at_index(self,idx):
16782        return None
16783
16784    def update(self):
16785        pass
16786
16787    def has_children(self):
16788        return False
16789
16790    def __len__(self):
16791      return self.num_children()
16792
16793    def __iter__(self):
16794      '''Iterate over all children in a lldb.SBSyntheticValueProvider object.'''
16795      return lldb_iter(self, 'num_children', 'get_child_at_index')
16796
16797
16798
16799
16800# given an lldb.SBBasicType it returns a tuple
16801# (is_numeric, is_signed)
16802# the value of is_signed is undefined if is_numeric == false
16803def is_numeric_type(basic_type):
16804    if basic_type == eBasicTypeInvalid: return (False,False)
16805    if basic_type == eBasicTypeVoid: return (False,False)
16806    if basic_type == eBasicTypeChar: return (True,False)
16807    if basic_type == eBasicTypeSignedChar: return (True,True)
16808    if basic_type == eBasicTypeUnsignedChar: return (True,False)
16809    if basic_type == eBasicTypeWChar: return (True,False)
16810    if basic_type == eBasicTypeSignedWChar: return (True,True)
16811    if basic_type == eBasicTypeUnsignedWChar: return (True,False)
16812    if basic_type == eBasicTypeChar16: return (True,False)
16813    if basic_type == eBasicTypeChar32: return (True,False)
16814    if basic_type == eBasicTypeChar8: return (True,False)
16815    if basic_type == eBasicTypeShort: return (True,True)
16816    if basic_type == eBasicTypeUnsignedShort: return (True,False)
16817    if basic_type == eBasicTypeInt: return (True,True)
16818    if basic_type == eBasicTypeUnsignedInt: return (True,False)
16819    if basic_type == eBasicTypeLong: return (True,True)
16820    if basic_type == eBasicTypeUnsignedLong: return (True,False)
16821    if basic_type == eBasicTypeLongLong: return (True,True)
16822    if basic_type == eBasicTypeUnsignedLongLong: return (True,False)
16823    if basic_type == eBasicTypeInt128: return (True,True)
16824    if basic_type == eBasicTypeUnsignedInt128: return (True,False)
16825    if basic_type == eBasicTypeBool: return (False,False)
16826    if basic_type == eBasicTypeHalf: return (True,True)
16827    if basic_type == eBasicTypeFloat: return (True,True)
16828    if basic_type == eBasicTypeDouble: return (True,True)
16829    if basic_type == eBasicTypeLongDouble: return (True,True)
16830    if basic_type == eBasicTypeFloatComplex: return (True,True)
16831    if basic_type == eBasicTypeDoubleComplex: return (True,True)
16832    if basic_type == eBasicTypeLongDoubleComplex: return (True,True)
16833    if basic_type == eBasicTypeObjCID: return (False,False)
16834    if basic_type == eBasicTypeObjCClass: return (False,False)
16835    if basic_type == eBasicTypeObjCSel: return (False,False)
16836    if basic_type == eBasicTypeNullPtr: return (False,False)
16837#if basic_type == eBasicTypeOther:
16838    return (False,False)
16839
16840
16841
16842debugger_unique_id = 0
16843SBDebugger.Initialize()
16844debugger = None
16845target = None
16846process = None
16847thread = None
16848frame = None
16849
16850
16851