1.1
|
(patrick 03-Aug-20)
| 1
|
: %extend lldb::SBBreakpoint {
|
1.1
|
(patrick 03-Aug-20)
| 2
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 3
|
: def __eq__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 4
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 5
|
: return False
|
1.1
|
(patrick 03-Aug-20)
| 6
|
:
|
1.1
|
(patrick 03-Aug-20)
| 7
|
: return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 8
|
:
|
1.1
|
(patrick 03-Aug-20)
| 9
|
: def __ne__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 10
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 11
|
: return True
|
1.1
|
(patrick 03-Aug-20)
| 12
|
:
|
1.1
|
(patrick 03-Aug-20)
| 13
|
: return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 14
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 15
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 16
|
:
|
1.1
|
(patrick 03-Aug-20)
| 17
|
: %extend lldb::SBBroadcaster {
|
1.1
|
(patrick 03-Aug-20)
| 18
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 19
|
: def __eq__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 20
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 21
|
: return False
|
1.1
|
(patrick 03-Aug-20)
| 22
|
:
|
1.1
|
(patrick 03-Aug-20)
| 23
|
: return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 24
|
:
|
1.1
|
(patrick 03-Aug-20)
| 25
|
: def __ne__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 26
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 27
|
: return True
|
1.1
|
(patrick 03-Aug-20)
| 28
|
:
|
1.1
|
(patrick 03-Aug-20)
| 29
|
: return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 30
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 31
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 32
|
:
|
1.1
|
(patrick 03-Aug-20)
| 33
|
: %extend lldb::SBCommandReturnObject {
|
1.1
|
(patrick 03-Aug-20)
| 34
|
: /* the write() and flush() calls are not part of the SB API proper, and are solely for Python usage
|
1.1
|
(patrick 03-Aug-20)
| 35
|
: they are meant to make an SBCommandReturnObject into a file-like object so that instructions of the sort
|
1.1
|
(patrick 03-Aug-20)
| 36
|
: print >>sb_command_return_object, "something"
|
1.1
|
(patrick 03-Aug-20)
| 37
|
: will work correctly */
|
1.1
|
(patrick 03-Aug-20)
| 38
|
:
|
1.1
|
(patrick 03-Aug-20)
| 39
|
: void lldb::SBCommandReturnObject::write (const char* str)
|
1.1
|
(patrick 03-Aug-20)
| 40
|
: {
|
1.1
|
(patrick 03-Aug-20)
| 41
|
: if (str)
|
1.1
|
(patrick 03-Aug-20)
| 42
|
: $self->Printf("%s",str);
|
1.1
|
(patrick 03-Aug-20)
| 43
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 44
|
: void lldb::SBCommandReturnObject::flush ()
|
1.1
|
(patrick 03-Aug-20)
| 45
|
: {}
|
1.1
|
(patrick 03-Aug-20)
| 46
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 47
|
:
|
1.1
|
(patrick 03-Aug-20)
| 48
|
: %extend lldb::SBCompileUnit {
|
1.1
|
(patrick 03-Aug-20)
| 49
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 50
|
: def __eq__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 51
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 52
|
: return False
|
1.1
|
(patrick 03-Aug-20)
| 53
|
:
|
1.1
|
(patrick 03-Aug-20)
| 54
|
: return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 55
|
:
|
1.1
|
(patrick 03-Aug-20)
| 56
|
: def __ne__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 57
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 58
|
: return True
|
1.1
|
(patrick 03-Aug-20)
| 59
|
:
|
1.1
|
(patrick 03-Aug-20)
| 60
|
: return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 61
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 62
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 63
|
:
|
1.1
|
(patrick 03-Aug-20)
| 64
|
: %extend lldb::SBDeclaration {
|
1.1
|
(patrick 03-Aug-20)
| 65
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 66
|
: def __eq__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 67
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 68
|
: return False
|
1.1
|
(patrick 03-Aug-20)
| 69
|
:
|
1.1
|
(patrick 03-Aug-20)
| 70
|
: return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 71
|
:
|
1.1
|
(patrick 03-Aug-20)
| 72
|
: def __ne__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 73
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 74
|
: return True
|
1.1
|
(patrick 03-Aug-20)
| 75
|
:
|
1.1
|
(patrick 03-Aug-20)
| 76
|
: return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 77
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 78
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 79
|
:
|
1.1
|
(patrick 03-Aug-20)
| 80
|
: %extend lldb::SBFunction {
|
1.1
|
(patrick 03-Aug-20)
| 81
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 82
|
: def __eq__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 83
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 84
|
: return False
|
1.1
|
(patrick 03-Aug-20)
| 85
|
:
|
1.1
|
(patrick 03-Aug-20)
| 86
|
: return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 87
|
:
|
1.1
|
(patrick 03-Aug-20)
| 88
|
: def __ne__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 89
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 90
|
: return True
|
1.1
|
(patrick 03-Aug-20)
| 91
|
:
|
1.1
|
(patrick 03-Aug-20)
| 92
|
: return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 93
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 94
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 95
|
:
|
1.1
|
(patrick 03-Aug-20)
| 96
|
: %extend lldb::SBLineEntry {
|
1.1
|
(patrick 03-Aug-20)
| 97
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 98
|
: def __eq__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 99
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 100
|
: return False
|
1.1
|
(patrick 03-Aug-20)
| 101
|
:
|
1.1
|
(patrick 03-Aug-20)
| 102
|
: return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 103
|
:
|
1.1
|
(patrick 03-Aug-20)
| 104
|
: def __ne__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 105
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 106
|
: return True
|
1.1
|
(patrick 03-Aug-20)
| 107
|
:
|
1.1
|
(patrick 03-Aug-20)
| 108
|
: return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 109
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 110
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 111
|
:
|
1.1
|
(patrick 03-Aug-20)
| 112
|
: %extend lldb::SBModule {
|
1.1
|
(patrick 03-Aug-20)
| 113
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 114
|
: def __eq__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 115
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 116
|
: return False
|
1.1
|
(patrick 03-Aug-20)
| 117
|
:
|
1.1
|
(patrick 03-Aug-20)
| 118
|
: return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 119
|
:
|
1.1
|
(patrick 03-Aug-20)
| 120
|
: def __ne__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 121
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 122
|
: return True
|
1.1
|
(patrick 03-Aug-20)
| 123
|
:
|
1.1
|
(patrick 03-Aug-20)
| 124
|
: return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 125
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 126
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 127
|
:
|
1.1
|
(patrick 03-Aug-20)
| 128
|
: %extend lldb::SBSection {
|
1.1
|
(patrick 03-Aug-20)
| 129
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 130
|
: def __eq__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 131
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 132
|
: return False
|
1.1
|
(patrick 03-Aug-20)
| 133
|
:
|
1.1
|
(patrick 03-Aug-20)
| 134
|
: return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 135
|
:
|
1.1
|
(patrick 03-Aug-20)
| 136
|
: def __ne__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 137
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 138
|
: return True
|
1.1
|
(patrick 03-Aug-20)
| 139
|
:
|
1.1
|
(patrick 03-Aug-20)
| 140
|
: return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 141
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 142
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 143
|
: %extend lldb::SBStream {
|
1.1
|
(patrick 03-Aug-20)
| 144
|
: /* the write() and flush() calls are not part of the SB API proper, and are solely for Python usage
|
1.1
|
(patrick 03-Aug-20)
| 145
|
: they are meant to make an SBStream into a file-like object so that instructions of the sort
|
1.1
|
(patrick 03-Aug-20)
| 146
|
: print >>sb_stream, "something"
|
1.1
|
(patrick 03-Aug-20)
| 147
|
: will work correctly */
|
1.1
|
(patrick 03-Aug-20)
| 148
|
:
|
1.1
|
(patrick 03-Aug-20)
| 149
|
: void lldb::SBStream::write (const char* str)
|
1.1
|
(patrick 03-Aug-20)
| 150
|
: {
|
1.1
|
(patrick 03-Aug-20)
| 151
|
: if (str)
|
1.1
|
(patrick 03-Aug-20)
| 152
|
: $self->Printf("%s",str);
|
1.1
|
(patrick 03-Aug-20)
| 153
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 154
|
: void lldb::SBStream::flush ()
|
1.1
|
(patrick 03-Aug-20)
| 155
|
: {}
|
1.1
|
(patrick 03-Aug-20)
| 156
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 157
|
: %extend lldb::SBSymbol {
|
1.1
|
(patrick 03-Aug-20)
| 158
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 159
|
: def __eq__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 160
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 161
|
: return False
|
1.1
|
(patrick 03-Aug-20)
| 162
|
:
|
1.1
|
(patrick 03-Aug-20)
| 163
|
: return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 164
|
:
|
1.1
|
(patrick 03-Aug-20)
| 165
|
: def __ne__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 166
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 167
|
: return True
|
1.1
|
(patrick 03-Aug-20)
| 168
|
:
|
1.1
|
(patrick 03-Aug-20)
| 169
|
: return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 170
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 171
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 172
|
:
|
1.1
|
(patrick 03-Aug-20)
| 173
|
: %extend lldb::SBTarget {
|
1.1
|
(patrick 03-Aug-20)
| 174
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 175
|
: def __eq__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 176
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 177
|
: return False
|
1.1
|
(patrick 03-Aug-20)
| 178
|
:
|
1.1
|
(patrick 03-Aug-20)
| 179
|
: return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 180
|
:
|
1.1
|
(patrick 03-Aug-20)
| 181
|
: def __ne__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 182
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 183
|
: return True
|
1.1
|
(patrick 03-Aug-20)
| 184
|
:
|
1.1
|
(patrick 03-Aug-20)
| 185
|
: return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 186
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 187
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 188
|
:
|
1.1
|
(patrick 03-Aug-20)
| 189
|
: %extend lldb::SBTypeFilter {
|
1.1
|
(patrick 03-Aug-20)
| 190
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 191
|
: def __eq__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 192
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 193
|
: return False
|
1.1
|
(patrick 03-Aug-20)
| 194
|
:
|
1.1
|
(patrick 03-Aug-20)
| 195
|
: return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 196
|
:
|
1.1
|
(patrick 03-Aug-20)
| 197
|
: def __ne__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 198
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 199
|
: return True
|
1.1
|
(patrick 03-Aug-20)
| 200
|
:
|
1.1
|
(patrick 03-Aug-20)
| 201
|
: return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 202
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 203
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 204
|
:
|
1.1
|
(patrick 03-Aug-20)
| 205
|
: %extend lldb::SBTypeNameSpecifier {
|
1.1
|
(patrick 03-Aug-20)
| 206
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 207
|
: def __eq__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 208
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 209
|
: return False
|
1.1
|
(patrick 03-Aug-20)
| 210
|
:
|
1.1
|
(patrick 03-Aug-20)
| 211
|
: return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 212
|
:
|
1.1
|
(patrick 03-Aug-20)
| 213
|
: def __ne__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 214
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 215
|
: return True
|
1.1
|
(patrick 03-Aug-20)
| 216
|
:
|
1.1
|
(patrick 03-Aug-20)
| 217
|
: return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 218
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 219
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 220
|
:
|
1.1
|
(patrick 03-Aug-20)
| 221
|
: %extend lldb::SBTypeSummary {
|
1.1
|
(patrick 03-Aug-20)
| 222
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 223
|
: def __eq__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 224
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 225
|
: return False
|
1.1
|
(patrick 03-Aug-20)
| 226
|
:
|
1.1
|
(patrick 03-Aug-20)
| 227
|
: return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 228
|
:
|
1.1
|
(patrick 03-Aug-20)
| 229
|
: def __ne__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 230
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 231
|
: return True
|
1.1
|
(patrick 03-Aug-20)
| 232
|
:
|
1.1
|
(patrick 03-Aug-20)
| 233
|
: return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 234
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 235
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 236
|
:
|
1.1
|
(patrick 03-Aug-20)
| 237
|
: %extend lldb::SBTypeSynthetic {
|
1.1
|
(patrick 03-Aug-20)
| 238
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 239
|
: def __eq__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 240
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 241
|
: return False
|
1.1
|
(patrick 03-Aug-20)
| 242
|
:
|
1.1
|
(patrick 03-Aug-20)
| 243
|
: return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 244
|
:
|
1.1
|
(patrick 03-Aug-20)
| 245
|
: def __ne__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 246
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 247
|
: return True
|
1.1
|
(patrick 03-Aug-20)
| 248
|
:
|
1.1
|
(patrick 03-Aug-20)
| 249
|
: return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 250
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 251
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 252
|
:
|
1.1
|
(patrick 03-Aug-20)
| 253
|
: %extend lldb::SBThread {
|
1.1
|
(patrick 03-Aug-20)
| 254
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 255
|
: def __eq__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 256
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 257
|
: return False
|
1.1
|
(patrick 03-Aug-20)
| 258
|
:
|
1.1
|
(patrick 03-Aug-20)
| 259
|
: return getattr(_lldb,self.__class__.__name__+"___eq__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 260
|
:
|
1.1
|
(patrick 03-Aug-20)
| 261
|
: def __ne__(self, rhs):
|
1.1
|
(patrick 03-Aug-20)
| 262
|
: if not isinstance(rhs, type(self)):
|
1.1
|
(patrick 03-Aug-20)
| 263
|
: return True
|
1.1
|
(patrick 03-Aug-20)
| 264
|
:
|
1.1
|
(patrick 03-Aug-20)
| 265
|
: return getattr(_lldb,self.__class__.__name__+"___ne__")(self, rhs)
|
1.1
|
(patrick 03-Aug-20)
| 266
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 267
|
: }
|
1.1
|
(patrick 03-Aug-20)
| 268
|
:
|
1.1
|
(patrick 03-Aug-20)
| 269
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 270
|
:
|
1.1
|
(patrick 03-Aug-20)
| 271
|
: def command(command_name=None, doc=None):
|
1.1
|
(patrick 03-Aug-20)
| 272
|
: import lldb
|
1.1
|
(patrick 03-Aug-20)
| 273
|
: """A decorator function that registers an LLDB command line
|
1.1
|
(patrick 03-Aug-20)
| 274
|
: command that is bound to the function it is attached to."""
|
1.1
|
(patrick 03-Aug-20)
| 275
|
: def callable(function):
|
1.1
|
(patrick 03-Aug-20)
| 276
|
: """Registers an lldb command for the decorated function."""
|
1.1
|
(patrick 03-Aug-20)
| 277
|
: command = "command script add -f %s.%s %s" % (function.__module__, function.__name__, command_name or function.__name__)
|
1.1
|
(patrick 03-Aug-20)
| 278
|
: lldb.debugger.HandleCommand(command)
|
1.1
|
(patrick 03-Aug-20)
| 279
|
: if doc:
|
1.1
|
(patrick 03-Aug-20)
| 280
|
: function.__doc__ = doc
|
1.1
|
(patrick 03-Aug-20)
| 281
|
: return function
|
1.1
|
(patrick 03-Aug-20)
| 282
|
:
|
1.1
|
(patrick 03-Aug-20)
| 283
|
: return callable
|
1.1
|
(patrick 03-Aug-20)
| 284
|
:
|
1.1
|
(patrick 03-Aug-20)
| 285
|
: class declaration(object):
|
1.1
|
(patrick 03-Aug-20)
| 286
|
: '''A class that represents a source declaration location with file, line and column.'''
|
1.1
|
(patrick 03-Aug-20)
| 287
|
: def __init__(self, file, line, col):
|
1.1
|
(patrick 03-Aug-20)
| 288
|
: self.file = file
|
1.1
|
(patrick 03-Aug-20)
| 289
|
: self.line = line
|
1.1
|
(patrick 03-Aug-20)
| 290
|
: self.col = col
|
1.1
|
(patrick 03-Aug-20)
| 291
|
:
|
1.1
|
(patrick 03-Aug-20)
| 292
|
: class value_iter(object):
|
1.1.1.2
|
(patrick 17-Dec-21)
| 293
|
: '''Allows iterating over the children of an :py:class:`SBValue`.'''
|
1.1
|
(patrick 03-Aug-20)
| 294
|
: def __iter__(self):
|
1.1
|
(patrick 03-Aug-20)
| 295
|
: return self
|
1.1
|
(patrick 03-Aug-20)
| 296
|
:
|
1.1
|
(patrick 03-Aug-20)
| 297
|
: def __next__(self):
|
1.1
|
(patrick 03-Aug-20)
| 298
|
: if self.index >= self.length:
|
1.1
|
(patrick 03-Aug-20)
| 299
|
: raise StopIteration()
|
1.1
|
(patrick 03-Aug-20)
| 300
|
: child_sbvalue = self.sbvalue.GetChildAtIndex(self.index)
|
1.1
|
(patrick 03-Aug-20)
| 301
|
: self.index += 1
|
1.1
|
(patrick 03-Aug-20)
| 302
|
: return value(child_sbvalue)
|
1.1
|
(patrick 03-Aug-20)
| 303
|
:
|
1.1
|
(patrick 03-Aug-20)
| 304
|
: def next(self):
|
1.1
|
(patrick 03-Aug-20)
| 305
|
: return self.__next__()
|
1.1
|
(patrick 03-Aug-20)
| 306
|
:
|
1.1.1.4
|
(robert 11-Jun-25)
| 307
|
: def __eq__(self, other):
|
1.1.1.4
|
(robert 11-Jun-25)
| 308
|
: return not self.__ne__(other)
|
1.1.1.4
|
(robert 11-Jun-25)
| 309
|
:
|
1.1.1.4
|
(robert 11-Jun-25)
| 310
|
: def __len__(self):
|
1.1.1.4
|
(robert 11-Jun-25)
| 311
|
: return self.length
|
1.1.1.4
|
(robert 11-Jun-25)
| 312
|
:
|
1.1
|
(patrick 03-Aug-20)
| 313
|
: def __init__(self,value):
|
1.1
|
(patrick 03-Aug-20)
| 314
|
: self.index = 0
|
1.1.1.4
|
(robert 11-Jun-25)
| 315
|
: self.length = 0
|
1.1
|
(patrick 03-Aug-20)
| 316
|
: self.sbvalue = value
|
1.1
|
(patrick 03-Aug-20)
| 317
|
: if type(self.sbvalue) is value:
|
1.1
|
(patrick 03-Aug-20)
| 318
|
: self.sbvalue = self.sbvalue.sbvalue
|
1.1
|
(patrick 03-Aug-20)
| 319
|
: self.length = self.sbvalue.GetNumChildren()
|
1.1
|
(patrick 03-Aug-20)
| 320
|
:
|
1.1
|
(patrick 03-Aug-20)
| 321
|
: class value(object):
|
1.1.1.2
|
(patrick 17-Dec-21)
| 322
|
: '''Wraps :py:class:`SBValue` objects so the resulting object can be used as a variable would be in code.
|
1.1.1.2
|
(patrick 17-Dec-21)
| 323
|
:
|
1.1.1.2
|
(patrick 17-Dec-21)
| 324
|
: So if you have a Point structure variable in your code in the current frame named "pt",
|
1.1.1.2
|
(patrick 17-Dec-21)
| 325
|
: you can initialize an instance of this class with it: ::
|
1.1.1.2
|
(patrick 17-Dec-21)
| 326
|
:
|
1.1.1.2
|
(patrick 17-Dec-21)
| 327
|
: pt = lldb.value(lldb.frame.FindVariable("pt"))
|
1.1.1.2
|
(patrick 17-Dec-21)
| 328
|
: print pt
|
1.1.1.2
|
(patrick 17-Dec-21)
| 329
|
: print pt.x
|
1.1.1.2
|
(patrick 17-Dec-21)
| 330
|
: print pt.y
|
1.1.1.2
|
(patrick 17-Dec-21)
| 331
|
:
|
1.1.1.2
|
(patrick 17-Dec-21)
| 332
|
: pt = lldb.value(lldb.frame.FindVariable("rectangle_array"))
|
1.1.1.2
|
(patrick 17-Dec-21)
| 333
|
: print rectangle_array[12]
|
1.1.1.2
|
(patrick 17-Dec-21)
| 334
|
: print rectangle_array[5].origin.x'''
|
1.1
|
(patrick 03-Aug-20)
| 335
|
: def __init__(self, sbvalue):
|
1.1
|
(patrick 03-Aug-20)
| 336
|
: self.sbvalue = sbvalue
|
1.1
|
(patrick 03-Aug-20)
| 337
|
:
|
1.1
|
(patrick 03-Aug-20)
| 338
|
: def __nonzero__(self):
|
1.1
|
(patrick 03-Aug-20)
| 339
|
: return self.sbvalue.__nonzero__()
|
1.1
|
(patrick 03-Aug-20)
| 340
|
:
|
1.1
|
(patrick 03-Aug-20)
| 341
|
: def __bool__(self):
|
1.1
|
(patrick 03-Aug-20)
| 342
|
: return self.sbvalue.__bool__()
|
1.1
|
(patrick 03-Aug-20)
| 343
|
:
|
1.1
|
(patrick 03-Aug-20)
| 344
|
: def __str__(self):
|
1.1
|
(patrick 03-Aug-20)
| 345
|
: return self.sbvalue.__str__()
|
1.1
|
(patrick 03-Aug-20)
| 346
|
:
|
1.1
|
(patrick 03-Aug-20)
| 347
|
: def __getitem__(self, key):
|
1.1
|
(patrick 03-Aug-20)
| 348
|
: # Allow array access if this value has children...
|
1.1
|
(patrick 03-Aug-20)
| 349
|
: if type(key) is value:
|
1.1
|
(patrick 03-Aug-20)
| 350
|
: key = int(key)
|
1.1
|
(patrick 03-Aug-20)
| 351
|
: if type(key) is int:
|
1.1
|
(patrick 03-Aug-20)
| 352
|
: child_sbvalue = (self.sbvalue.GetValueForExpressionPath("[%i]" % key))
|
1.1
|
(patrick 03-Aug-20)
| 353
|
: if child_sbvalue and child_sbvalue.IsValid():
|
1.1
|
(patrick 03-Aug-20)
| 354
|
: return value(child_sbvalue)
|
1.1
|
(patrick 03-Aug-20)
| 355
|
: raise IndexError("Index '%d' is out of range" % key)
|
1.1
|
(patrick 03-Aug-20)
| 356
|
: raise TypeError("No array item of type %s" % str(type(key)))
|
1.1
|
(patrick 03-Aug-20)
| 357
|
:
|
1.1
|
(patrick 03-Aug-20)
| 358
|
: def __iter__(self):
|
1.1
|
(patrick 03-Aug-20)
| 359
|
: return value_iter(self.sbvalue)
|
1.1
|
(patrick 03-Aug-20)
| 360
|
:
|
1.1
|
(patrick 03-Aug-20)
| 361
|
: def __getattr__(self, name):
|
1.1
|
(patrick 03-Aug-20)
| 362
|
: child_sbvalue = self.sbvalue.GetChildMemberWithName (name)
|
1.1
|
(patrick 03-Aug-20)
| 363
|
: if child_sbvalue and child_sbvalue.IsValid():
|
1.1
|
(patrick 03-Aug-20)
| 364
|
: return value(child_sbvalue)
|
1.1
|
(patrick 03-Aug-20)
| 365
|
: raise AttributeError("Attribute '%s' is not defined" % name)
|
1.1
|
(patrick 03-Aug-20)
| 366
|
:
|
1.1
|
(patrick 03-Aug-20)
| 367
|
: def __add__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 368
|
: return int(self) + int(other)
|
1.1
|
(patrick 03-Aug-20)
| 369
|
:
|
1.1
|
(patrick 03-Aug-20)
| 370
|
: def __sub__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 371
|
: return int(self) - int(other)
|
1.1
|
(patrick 03-Aug-20)
| 372
|
:
|
1.1
|
(patrick 03-Aug-20)
| 373
|
: def __mul__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 374
|
: return int(self) * int(other)
|
1.1
|
(patrick 03-Aug-20)
| 375
|
:
|
1.1
|
(patrick 03-Aug-20)
| 376
|
: def __floordiv__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 377
|
: return int(self) // int(other)
|
1.1
|
(patrick 03-Aug-20)
| 378
|
:
|
1.1
|
(patrick 03-Aug-20)
| 379
|
: def __mod__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 380
|
: return int(self) % int(other)
|
1.1
|
(patrick 03-Aug-20)
| 381
|
:
|
1.1
|
(patrick 03-Aug-20)
| 382
|
: def __divmod__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 383
|
: return int(self) % int(other)
|
1.1
|
(patrick 03-Aug-20)
| 384
|
:
|
1.1
|
(patrick 03-Aug-20)
| 385
|
: def __pow__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 386
|
: return int(self) ** int(other)
|
1.1
|
(patrick 03-Aug-20)
| 387
|
:
|
1.1
|
(patrick 03-Aug-20)
| 388
|
: def __lshift__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 389
|
: return int(self) << int(other)
|
1.1
|
(patrick 03-Aug-20)
| 390
|
:
|
1.1
|
(patrick 03-Aug-20)
| 391
|
: def __rshift__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 392
|
: return int(self) >> int(other)
|
1.1
|
(patrick 03-Aug-20)
| 393
|
:
|
1.1
|
(patrick 03-Aug-20)
| 394
|
: def __and__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 395
|
: return int(self) & int(other)
|
1.1
|
(patrick 03-Aug-20)
| 396
|
:
|
1.1
|
(patrick 03-Aug-20)
| 397
|
: def __xor__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 398
|
: return int(self) ^ int(other)
|
1.1
|
(patrick 03-Aug-20)
| 399
|
:
|
1.1
|
(patrick 03-Aug-20)
| 400
|
: def __or__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 401
|
: return int(self) | int(other)
|
1.1
|
(patrick 03-Aug-20)
| 402
|
:
|
1.1
|
(patrick 03-Aug-20)
| 403
|
: def __div__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 404
|
: return int(self) / int(other)
|
1.1
|
(patrick 03-Aug-20)
| 405
|
:
|
1.1
|
(patrick 03-Aug-20)
| 406
|
: def __truediv__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 407
|
: return int(self) / int(other)
|
1.1
|
(patrick 03-Aug-20)
| 408
|
:
|
1.1
|
(patrick 03-Aug-20)
| 409
|
: def __iadd__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 410
|
: result = self.__add__(other)
|
1.1
|
(patrick 03-Aug-20)
| 411
|
: self.sbvalue.SetValueFromCString (str(result))
|
1.1
|
(patrick 03-Aug-20)
| 412
|
: return result
|
1.1
|
(patrick 03-Aug-20)
| 413
|
:
|
1.1
|
(patrick 03-Aug-20)
| 414
|
: def __isub__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 415
|
: result = self.__sub__(other)
|
1.1
|
(patrick 03-Aug-20)
| 416
|
: self.sbvalue.SetValueFromCString (str(result))
|
1.1
|
(patrick 03-Aug-20)
| 417
|
: return result
|
1.1
|
(patrick 03-Aug-20)
| 418
|
:
|
1.1
|
(patrick 03-Aug-20)
| 419
|
: def __imul__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 420
|
: result = self.__mul__(other)
|
1.1
|
(patrick 03-Aug-20)
| 421
|
: self.sbvalue.SetValueFromCString (str(result))
|
1.1
|
(patrick 03-Aug-20)
| 422
|
: return result
|
1.1
|
(patrick 03-Aug-20)
| 423
|
:
|
1.1
|
(patrick 03-Aug-20)
| 424
|
: def __idiv__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 425
|
: result = self.__div__(other)
|
1.1
|
(patrick 03-Aug-20)
| 426
|
: self.sbvalue.SetValueFromCString (str(result))
|
1.1
|
(patrick 03-Aug-20)
| 427
|
: return result
|
1.1
|
(patrick 03-Aug-20)
| 428
|
:
|
1.1
|
(patrick 03-Aug-20)
| 429
|
: def __itruediv__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 430
|
: result = self.__truediv__(other)
|
1.1
|
(patrick 03-Aug-20)
| 431
|
: self.sbvalue.SetValueFromCString (str(result))
|
1.1
|
(patrick 03-Aug-20)
| 432
|
: return result
|
1.1
|
(patrick 03-Aug-20)
| 433
|
:
|
1.1
|
(patrick 03-Aug-20)
| 434
|
: def __ifloordiv__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 435
|
: result = self.__floordiv__(self, other)
|
1.1
|
(patrick 03-Aug-20)
| 436
|
: self.sbvalue.SetValueFromCString (str(result))
|
1.1
|
(patrick 03-Aug-20)
| 437
|
: return result
|
1.1
|
(patrick 03-Aug-20)
| 438
|
:
|
1.1
|
(patrick 03-Aug-20)
| 439
|
: def __imod__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 440
|
: result = self.__and__(self, other)
|
1.1
|
(patrick 03-Aug-20)
| 441
|
: self.sbvalue.SetValueFromCString (str(result))
|
1.1
|
(patrick 03-Aug-20)
| 442
|
: return result
|
1.1
|
(patrick 03-Aug-20)
| 443
|
:
|
1.1
|
(patrick 03-Aug-20)
| 444
|
: def __ipow__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 445
|
: result = self.__pow__(self, other)
|
1.1
|
(patrick 03-Aug-20)
| 446
|
: self.sbvalue.SetValueFromCString (str(result))
|
1.1
|
(patrick 03-Aug-20)
| 447
|
: return result
|
1.1
|
(patrick 03-Aug-20)
| 448
|
:
|
1.1
|
(patrick 03-Aug-20)
| 449
|
: def __ipow__(self, other, modulo):
|
1.1
|
(patrick 03-Aug-20)
| 450
|
: result = self.__pow__(self, other, modulo)
|
1.1
|
(patrick 03-Aug-20)
| 451
|
: self.sbvalue.SetValueFromCString (str(result))
|
1.1
|
(patrick 03-Aug-20)
| 452
|
: return result
|
1.1
|
(patrick 03-Aug-20)
| 453
|
:
|
1.1
|
(patrick 03-Aug-20)
| 454
|
: def __ilshift__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 455
|
: result = self.__lshift__(other)
|
1.1
|
(patrick 03-Aug-20)
| 456
|
: self.sbvalue.SetValueFromCString (str(result))
|
1.1
|
(patrick 03-Aug-20)
| 457
|
: return result
|
1.1
|
(patrick 03-Aug-20)
| 458
|
:
|
1.1
|
(patrick 03-Aug-20)
| 459
|
: def __irshift__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 460
|
: result = self.__rshift__(other)
|
1.1
|
(patrick 03-Aug-20)
| 461
|
: self.sbvalue.SetValueFromCString (str(result))
|
1.1
|
(patrick 03-Aug-20)
| 462
|
: return result
|
1.1
|
(patrick 03-Aug-20)
| 463
|
:
|
1.1
|
(patrick 03-Aug-20)
| 464
|
: def __iand__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 465
|
: result = self.__and__(self, other)
|
1.1
|
(patrick 03-Aug-20)
| 466
|
: self.sbvalue.SetValueFromCString (str(result))
|
1.1
|
(patrick 03-Aug-20)
| 467
|
: return result
|
1.1
|
(patrick 03-Aug-20)
| 468
|
:
|
1.1
|
(patrick 03-Aug-20)
| 469
|
: def __ixor__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 470
|
: result = self.__xor__(self, other)
|
1.1
|
(patrick 03-Aug-20)
| 471
|
: self.sbvalue.SetValueFromCString (str(result))
|
1.1
|
(patrick 03-Aug-20)
| 472
|
: return result
|
1.1
|
(patrick 03-Aug-20)
| 473
|
:
|
1.1
|
(patrick 03-Aug-20)
| 474
|
: def __ior__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 475
|
: result = self.__ior__(self, other)
|
1.1
|
(patrick 03-Aug-20)
| 476
|
: self.sbvalue.SetValueFromCString (str(result))
|
1.1
|
(patrick 03-Aug-20)
| 477
|
: return result
|
1.1
|
(patrick 03-Aug-20)
| 478
|
:
|
1.1
|
(patrick 03-Aug-20)
| 479
|
: def __neg__(self):
|
1.1
|
(patrick 03-Aug-20)
| 480
|
: return -int(self)
|
1.1
|
(patrick 03-Aug-20)
| 481
|
:
|
1.1
|
(patrick 03-Aug-20)
| 482
|
: def __pos__(self):
|
1.1
|
(patrick 03-Aug-20)
| 483
|
: return +int(self)
|
1.1
|
(patrick 03-Aug-20)
| 484
|
:
|
1.1
|
(patrick 03-Aug-20)
| 485
|
: def __abs__(self):
|
1.1
|
(patrick 03-Aug-20)
| 486
|
: return abs(int(self))
|
1.1
|
(patrick 03-Aug-20)
| 487
|
:
|
1.1
|
(patrick 03-Aug-20)
| 488
|
: def __invert__(self):
|
1.1
|
(patrick 03-Aug-20)
| 489
|
: return ~int(self)
|
1.1
|
(patrick 03-Aug-20)
| 490
|
:
|
1.1
|
(patrick 03-Aug-20)
| 491
|
: def __complex__(self):
|
1.1
|
(patrick 03-Aug-20)
| 492
|
: return complex (int(self))
|
1.1
|
(patrick 03-Aug-20)
| 493
|
:
|
1.1
|
(patrick 03-Aug-20)
| 494
|
: def __int__(self):
|
1.1
|
(patrick 03-Aug-20)
| 495
|
: is_num,is_sign = is_numeric_type(self.sbvalue.GetType().GetCanonicalType().GetBasicType())
|
1.1
|
(patrick 03-Aug-20)
| 496
|
: if is_num and not is_sign: return self.sbvalue.GetValueAsUnsigned()
|
1.1
|
(patrick 03-Aug-20)
| 497
|
: return self.sbvalue.GetValueAsSigned()
|
1.1
|
(patrick 03-Aug-20)
| 498
|
:
|
1.1
|
(patrick 03-Aug-20)
| 499
|
: def __long__(self):
|
1.1
|
(patrick 03-Aug-20)
| 500
|
: return self.__int__()
|
1.1
|
(patrick 03-Aug-20)
| 501
|
:
|
1.1
|
(patrick 03-Aug-20)
| 502
|
: def __float__(self):
|
1.1
|
(patrick 03-Aug-20)
| 503
|
: return float (self.sbvalue.GetValueAsSigned())
|
1.1
|
(patrick 03-Aug-20)
| 504
|
:
|
1.1
|
(patrick 03-Aug-20)
| 505
|
: def __oct__(self):
|
1.1
|
(patrick 03-Aug-20)
| 506
|
: return '0%o' % self.sbvalue.GetValueAsUnsigned()
|
1.1
|
(patrick 03-Aug-20)
| 507
|
:
|
1.1
|
(patrick 03-Aug-20)
| 508
|
: def __hex__(self):
|
1.1
|
(patrick 03-Aug-20)
| 509
|
: return '0x%x' % self.sbvalue.GetValueAsUnsigned()
|
1.1
|
(patrick 03-Aug-20)
| 510
|
:
|
1.1
|
(patrick 03-Aug-20)
| 511
|
: def __len__(self):
|
1.1
|
(patrick 03-Aug-20)
| 512
|
: return self.sbvalue.GetNumChildren()
|
1.1
|
(patrick 03-Aug-20)
| 513
|
:
|
1.1
|
(patrick 03-Aug-20)
| 514
|
: def __eq__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 515
|
: if type(other) is int:
|
1.1
|
(patrick 03-Aug-20)
| 516
|
: return int(self) == other
|
1.1
|
(patrick 03-Aug-20)
| 517
|
: elif type(other) is str:
|
1.1
|
(patrick 03-Aug-20)
| 518
|
: return str(self) == other
|
1.1
|
(patrick 03-Aug-20)
| 519
|
: elif type(other) is value:
|
1.1
|
(patrick 03-Aug-20)
| 520
|
: self_err = SBError()
|
1.1
|
(patrick 03-Aug-20)
| 521
|
: other_err = SBError()
|
1.1
|
(patrick 03-Aug-20)
| 522
|
: self_val = self.sbvalue.GetValueAsUnsigned(self_err)
|
1.1
|
(patrick 03-Aug-20)
| 523
|
: if self_err.fail:
|
1.1
|
(patrick 03-Aug-20)
| 524
|
: raise ValueError("unable to extract value of self")
|
1.1
|
(patrick 03-Aug-20)
| 525
|
: other_val = other.sbvalue.GetValueAsUnsigned(other_err)
|
1.1
|
(patrick 03-Aug-20)
| 526
|
: if other_err.fail:
|
1.1
|
(patrick 03-Aug-20)
| 527
|
: raise ValueError("unable to extract value of other")
|
1.1
|
(patrick 03-Aug-20)
| 528
|
: return self_val == other_val
|
1.1
|
(patrick 03-Aug-20)
| 529
|
: raise TypeError("Unknown type %s, No equality operation defined." % str(type(other)))
|
1.1
|
(patrick 03-Aug-20)
| 530
|
:
|
1.1
|
(patrick 03-Aug-20)
| 531
|
: def __ne__(self, other):
|
1.1
|
(patrick 03-Aug-20)
| 532
|
: return not self.__eq__(other)
|
1.1
|
(patrick 03-Aug-20)
| 533
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 534
|
:
|
1.1
|
(patrick 03-Aug-20)
| 535
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 536
|
:
|
1.1
|
(patrick 03-Aug-20)
| 537
|
: class SBSyntheticValueProvider(object):
|
1.1
|
(patrick 03-Aug-20)
| 538
|
: def __init__(self,valobj):
|
1.1
|
(patrick 03-Aug-20)
| 539
|
: pass
|
1.1
|
(patrick 03-Aug-20)
| 540
|
:
|
1.1
|
(patrick 03-Aug-20)
| 541
|
: def num_children(self):
|
1.1
|
(patrick 03-Aug-20)
| 542
|
: return 0
|
1.1
|
(patrick 03-Aug-20)
| 543
|
:
|
1.1
|
(patrick 03-Aug-20)
| 544
|
: def get_child_index(self,name):
|
1.1
|
(patrick 03-Aug-20)
| 545
|
: return None
|
1.1
|
(patrick 03-Aug-20)
| 546
|
:
|
1.1
|
(patrick 03-Aug-20)
| 547
|
: def get_child_at_index(self,idx):
|
1.1
|
(patrick 03-Aug-20)
| 548
|
: return None
|
1.1
|
(patrick 03-Aug-20)
| 549
|
:
|
1.1
|
(patrick 03-Aug-20)
| 550
|
: def update(self):
|
1.1
|
(patrick 03-Aug-20)
| 551
|
: pass
|
1.1
|
(patrick 03-Aug-20)
| 552
|
:
|
1.1
|
(patrick 03-Aug-20)
| 553
|
: def has_children(self):
|
1.1
|
(patrick 03-Aug-20)
| 554
|
: return False
|
1.1
|
(patrick 03-Aug-20)
| 555
|
:
|
1.1.1.4
|
(robert 11-Jun-25)
| 556
|
: def __len__(self):
|
1.1.1.4
|
(robert 11-Jun-25)
| 557
|
: return self.num_children()
|
1.1.1.4
|
(robert 11-Jun-25)
| 558
|
:
|
1.1.1.4
|
(robert 11-Jun-25)
| 559
|
: def __iter__(self):
|
1.1.1.4
|
(robert 11-Jun-25)
| 560
|
: '''Iterate over all children in a lldb.SBSyntheticValueProvider object.'''
|
1.1.1.4
|
(robert 11-Jun-25)
| 561
|
: return lldb_iter(self, 'num_children', 'get_child_at_index')
|
1.1
|
(patrick 03-Aug-20)
| 562
|
:
|
1.1
|
(patrick 03-Aug-20)
| 563
|
: %}
|
1.1
|
(patrick 03-Aug-20)
| 564
|
:
|
1.1
|
(patrick 03-Aug-20)
| 565
|
: %pythoncode %{
|
1.1
|
(patrick 03-Aug-20)
| 566
|
:
|
1.1
|
(patrick 03-Aug-20)
| 567
|
: # given an lldb.SBBasicType it returns a tuple
|
1.1
|
(patrick 03-Aug-20)
| 568
|
: # (is_numeric, is_signed)
|
1.1
|
(patrick 03-Aug-20)
| 569
|
: # the value of is_signed is undefined if is_numeric == false
|
1.1
|
(patrick 03-Aug-20)
| 570
|
: def is_numeric_type(basic_type):
|
1.1
|
(patrick 03-Aug-20)
| 571
|
: if basic_type == eBasicTypeInvalid: return (False,False)
|
1.1
|
(patrick 03-Aug-20)
| 572
|
: if basic_type == eBasicTypeVoid: return (False,False)
|
1.1
|
(patrick 03-Aug-20)
| 573
|
: if basic_type == eBasicTypeChar: return (True,False)
|
1.1
|
(patrick 03-Aug-20)
| 574
|
: if basic_type == eBasicTypeSignedChar: return (True,True)
|
1.1
|
(patrick 03-Aug-20)
| 575
|
: if basic_type == eBasicTypeUnsignedChar: return (True,False)
|
1.1
|
(patrick 03-Aug-20)
| 576
|
: if basic_type == eBasicTypeWChar: return (True,False)
|
1.1
|
(patrick 03-Aug-20)
| 577
|
: if basic_type == eBasicTypeSignedWChar: return (True,True)
|
1.1
|
(patrick 03-Aug-20)
| 578
|
: if basic_type == eBasicTypeUnsignedWChar: return (True,False)
|
1.1
|
(patrick 03-Aug-20)
| 579
|
: if basic_type == eBasicTypeChar16: return (True,False)
|
1.1
|
(patrick 03-Aug-20)
| 580
|
: if basic_type == eBasicTypeChar32: return (True,False)
|
1.1.1.3
|
(robert 11-Nov-23)
| 581
|
: if basic_type == eBasicTypeChar8: return (True,False)
|
1.1
|
(patrick 03-Aug-20)
| 582
|
: if basic_type == eBasicTypeShort: return (True,True)
|
1.1
|
(patrick 03-Aug-20)
| 583
|
: if basic_type == eBasicTypeUnsignedShort: return (True,False)
|
1.1
|
(patrick 03-Aug-20)
| 584
|
: if basic_type == eBasicTypeInt: return (True,True)
|
1.1
|
(patrick 03-Aug-20)
| 585
|
: if basic_type == eBasicTypeUnsignedInt: return (True,False)
|
1.1
|
(patrick 03-Aug-20)
| 586
|
: if basic_type == eBasicTypeLong: return (True,True)
|
1.1
|
(patrick 03-Aug-20)
| 587
|
: if basic_type == eBasicTypeUnsignedLong: return (True,False)
|
1.1
|
(patrick 03-Aug-20)
| 588
|
: if basic_type == eBasicTypeLongLong: return (True,True)
|
1.1
|
(patrick 03-Aug-20)
| 589
|
: if basic_type == eBasicTypeUnsignedLongLong: return (True,False)
|
1.1
|
(patrick 03-Aug-20)
| 590
|
: if basic_type == eBasicTypeInt128: return (True,True)
|
1.1
|
(patrick 03-Aug-20)
| 591
|
: if basic_type == eBasicTypeUnsignedInt128: return (True,False)
|
1.1
|
(patrick 03-Aug-20)
| 592
|
: if basic_type == eBasicTypeBool: return (False,False)
|
1.1
|
(patrick 03-Aug-20)
| 593
|
: if basic_type == eBasicTypeHalf: return (True,True)
|
1.1
|
(patrick 03-Aug-20)
| 594
|
: if basic_type == eBasicTypeFloat: return (True,True)
|
1.1
|
(patrick 03-Aug-20)
| 595
|
: if basic_type == eBasicTypeDouble: return (True,True)
|
1.1
|
(patrick 03-Aug-20)
| 596
|
: if basic_type == eBasicTypeLongDouble: return (True,True)
|
1.1.1.5
|
(robert 29-May-26)
| 597
|
: if basic_type == eBasicTypeFloat128: return (True,True)
|
1.1
|
(patrick 03-Aug-20)
| 598
|
: if basic_type == eBasicTypeFloatComplex: return (True,True)
|
1.1
|
(patrick 03-Aug-20)
| 599
|
: if basic_type == eBasicTypeDoubleComplex: return (True,True)
|
1.1
|
(patrick 03-Aug-20)
| 600
|
: if basic_type == eBasicTypeLongDoubleComplex: return (True,True)
|
1.1
|
(patrick 03-Aug-20)
| 601
|
: if basic_type == eBasicTypeObjCID: return (False,False)
|
1.1
|
(patrick 03-Aug-20)
| 602
|
: if basic_type == eBasicTypeObjCClass: return (False,False)
|
1.1
|
(patrick 03-Aug-20)
| 603
|
: if basic_type == eBasicTypeObjCSel: return (False,False)
|
1.1
|
(patrick 03-Aug-20)
| 604
|
: if basic_type == eBasicTypeNullPtr: return (False,False)
|
1.1
|
(patrick 03-Aug-20)
| 605
|
: #if basic_type == eBasicTypeOther:
|
1.1
|
(patrick 03-Aug-20)
| 606
|
: return (False,False)
|
1.1
|
(patrick 03-Aug-20)
| 607
|
:
|
1.1
|
(patrick 03-Aug-20)
| 608
|
: %}
|