45
45
PY3 = sys .version_info [0 ] == 3
46
46
47
47
48
+ class LLDBOpaque :
49
+ """
50
+ A type used by LLDB internally. Values of this type should never be used except when passing as
51
+ an argument to an LLDB function.
52
+ """
53
+
54
+ pass
55
+
56
+
48
57
class ValueBuilder :
49
58
def __init__ (self , valobj : SBValue ):
50
59
self .valobj = valobj
@@ -77,7 +86,7 @@ def unwrap_unique_or_non_null(unique_or_nonnull: SBValue) -> SBValue:
77
86
78
87
79
88
class DefaultSyntheticProvider :
80
- def __init__ (self , valobj : SBValue , _dict ):
89
+ def __init__ (self , valobj : SBValue , _dict : LLDBOpaque ):
81
90
# logger = Logger.Logger()
82
91
# logger >> "Default synthetic provider for " + str(valobj.GetName())
83
92
self .valobj = valobj
@@ -99,7 +108,7 @@ def has_children(self) -> bool:
99
108
100
109
101
110
class EmptySyntheticProvider :
102
- def __init__ (self , valobj : SBValue , _dict ):
111
+ def __init__ (self , valobj : SBValue , _dict : LLDBOpaque ):
103
112
# logger = Logger.Logger()
104
113
# logger >> "[EmptySyntheticProvider] for " + str(valobj.GetName())
105
114
self .valobj = valobj
@@ -120,7 +129,7 @@ def has_children(self) -> bool:
120
129
return False
121
130
122
131
123
- def SizeSummaryProvider (valobj : SBValue , _dict ) -> str :
132
+ def SizeSummaryProvider (valobj : SBValue , _dict : LLDBOpaque ) -> str :
124
133
return "size=" + str (valobj .GetNumChildren ())
125
134
126
135
@@ -134,14 +143,14 @@ def vec_to_string(vec: SBValue) -> str:
134
143
)
135
144
136
145
137
- def StdStringSummaryProvider (valobj : SBValue , _dict ) -> str :
146
+ def StdStringSummaryProvider (valobj : SBValue , _dict : LLDBOpaque ) -> str :
138
147
# logger = Logger.Logger()
139
148
# logger >> "[StdStringSummaryProvider] for " + str(valobj.GetName())
140
149
vec = valobj .GetChildAtIndex (0 )
141
150
return '"%s"' % vec_to_string (vec )
142
151
143
152
144
- def StdOsStringSummaryProvider (valobj : SBValue , _dict ) -> str :
153
+ def StdOsStringSummaryProvider (valobj : SBValue , _dict : LLDBOpaque ) -> str :
145
154
# logger = Logger.Logger()
146
155
# logger >> "[StdOsStringSummaryProvider] for " + str(valobj.GetName())
147
156
buf = valobj .GetChildAtIndex (0 ).GetChildAtIndex (0 )
@@ -150,7 +159,7 @@ def StdOsStringSummaryProvider(valobj: SBValue, _dict) -> str:
150
159
return '"%s"' % vec_to_string (vec )
151
160
152
161
153
- def StdStrSummaryProvider (valobj : SBValue , _dict ) -> str :
162
+ def StdStrSummaryProvider (valobj : SBValue , _dict : LLDBOpaque ) -> str :
154
163
# logger = Logger.Logger()
155
164
# logger >> "[StdStrSummaryProvider] for " + str(valobj.GetName())
156
165
@@ -171,13 +180,13 @@ def StdStrSummaryProvider(valobj: SBValue, _dict) -> str:
171
180
return '"%s"' % data
172
181
173
182
174
- def StdPathBufSummaryProvider (valobj : SBValue , _dict ) -> str :
183
+ def StdPathBufSummaryProvider (valobj : SBValue , _dict : LLDBOpaque ) -> str :
175
184
# logger = Logger.Logger()
176
185
# logger >> "[StdPathBufSummaryProvider] for " + str(valobj.GetName())
177
186
return StdOsStringSummaryProvider (valobj .GetChildMemberWithName ("inner" ), _dict )
178
187
179
188
180
- def StdPathSummaryProvider (valobj : SBValue , _dict ) -> str :
189
+ def StdPathSummaryProvider (valobj : SBValue , _dict : LLDBOpaque ) -> str :
181
190
# logger = Logger.Logger()
182
191
# logger >> "[StdPathSummaryProvider] for " + str(valobj.GetName())
183
192
length = valobj .GetChildMemberWithName ("length" ).GetValueAsUnsigned ()
@@ -201,7 +210,7 @@ def StdPathSummaryProvider(valobj: SBValue, _dict) -> str:
201
210
class StructSyntheticProvider :
202
211
"""Pretty-printer for structs and struct enum variants"""
203
212
204
- def __init__ (self , valobj : SBValue , _dict , is_variant : bool = False ):
213
+ def __init__ (self , valobj : SBValue , _dict : LLDBOpaque , is_variant : bool = False ):
205
214
# logger = Logger.Logger()
206
215
self .valobj = valobj
207
216
self .is_variant = is_variant
@@ -245,7 +254,7 @@ class ClangEncodedEnumProvider:
245
254
DISCRIMINANT_MEMBER_NAME = "$discr$"
246
255
VALUE_MEMBER_NAME = "value"
247
256
248
- def __init__ (self , valobj : SBValue , _dict ):
257
+ def __init__ (self , valobj : SBValue , _dict : LLDBOpaque ):
249
258
self .valobj = valobj
250
259
self .update ()
251
260
@@ -304,7 +313,7 @@ def _getCurrentVariantIndex(self, all_variants: SBValue) -> int:
304
313
class TupleSyntheticProvider :
305
314
"""Pretty-printer for tuples and tuple enum variants"""
306
315
307
- def __init__ (self , valobj : SBValue , _dict , is_variant : bool = False ):
316
+ def __init__ (self , valobj : SBValue , _dict : LLDBOpaque , is_variant : bool = False ):
308
317
# logger = Logger.Logger()
309
318
self .valobj = valobj
310
319
self .is_variant = is_variant
@@ -354,7 +363,7 @@ class StdVecSyntheticProvider:
354
363
struct NonNull<T> { pointer: *const T }
355
364
"""
356
365
357
- def __init__ (self , valobj : SBValue , _dict ):
366
+ def __init__ (self , valobj : SBValue , _dict : LLDBOpaque ):
358
367
# logger = Logger.Logger()
359
368
# logger >> "[StdVecSyntheticProvider] for " + str(valobj.GetName())
360
369
self .valobj = valobj
@@ -396,7 +405,7 @@ def has_children(self) -> bool:
396
405
397
406
398
407
class StdSliceSyntheticProvider :
399
- def __init__ (self , valobj : SBValue , _dict ):
408
+ def __init__ (self , valobj : SBValue , _dict : LLDBOpaque ):
400
409
self .valobj = valobj
401
410
self .update ()
402
411
@@ -435,7 +444,7 @@ class StdVecDequeSyntheticProvider:
435
444
struct VecDeque<T> { head: usize, len: usize, buf: RawVec<T> }
436
445
"""
437
446
438
- def __init__ (self , valobj : SBValue , _dict ):
447
+ def __init__ (self , valobj : SBValue , _dict : LLDBOpaque ):
439
448
# logger = Logger.Logger()
440
449
# logger >> "[StdVecDequeSyntheticProvider] for " + str(valobj.GetName())
441
450
self .valobj = valobj
@@ -489,7 +498,7 @@ class StdOldHashMapSyntheticProvider:
489
498
struct RawTable<K, V> { capacity_mask: usize, size: usize, hashes: TaggedHashUintPtr, ... }
490
499
"""
491
500
492
- def __init__ (self , valobj : SBValue , _dict , show_values : bool = True ):
501
+ def __init__ (self , valobj : SBValue , _dict : LLDBOpaque , show_values : bool = True ):
493
502
self .valobj = valobj
494
503
self .show_values = show_values
495
504
self .update ()
@@ -578,7 +587,7 @@ def has_children(self) -> bool:
578
587
class StdHashMapSyntheticProvider :
579
588
"""Pretty-printer for hashbrown's HashMap"""
580
589
581
- def __init__ (self , valobj : SBValue , _dict , show_values : bool = True ):
590
+ def __init__ (self , valobj : SBValue , _dict : LLDBOpaque , show_values : bool = True ):
582
591
self .valobj = valobj
583
592
self .show_values = show_values
584
593
self .update ()
@@ -662,7 +671,7 @@ def has_children(self) -> bool:
662
671
return True
663
672
664
673
665
- def StdRcSummaryProvider (valobj : SBValue , _dict ) -> str :
674
+ def StdRcSummaryProvider (valobj : SBValue , _dict : LLDBOpaque ) -> str :
666
675
strong = valobj .GetChildMemberWithName ("strong" ).GetValueAsUnsigned ()
667
676
weak = valobj .GetChildMemberWithName ("weak" ).GetValueAsUnsigned ()
668
677
return "strong={}, weak={}" .format (strong , weak )
@@ -684,7 +693,7 @@ class StdRcSyntheticProvider:
684
693
struct AtomicUsize { v: UnsafeCell<usize> }
685
694
"""
686
695
687
- def __init__ (self , valobj : SBValue , _dict , is_atomic : bool = False ):
696
+ def __init__ (self , valobj : SBValue , _dict : LLDBOpaque , is_atomic : bool = False ):
688
697
self .valobj = valobj
689
698
690
699
self .ptr = unwrap_unique_or_non_null (self .valobj .GetChildMemberWithName ("ptr" ))
@@ -740,7 +749,7 @@ def has_children(self) -> bool:
740
749
class StdCellSyntheticProvider :
741
750
"""Pretty-printer for std::cell::Cell"""
742
751
743
- def __init__ (self , valobj : SBValue , _dict ):
752
+ def __init__ (self , valobj : SBValue , _dict : LLDBOpaque ):
744
753
self .valobj = valobj
745
754
self .value = valobj .GetChildMemberWithName ("value" ).GetChildAtIndex (0 )
746
755
@@ -764,7 +773,7 @@ def has_children(self) -> bool:
764
773
return True
765
774
766
775
767
- def StdRefSummaryProvider (valobj : SBValue , _dict ) -> str :
776
+ def StdRefSummaryProvider (valobj : SBValue , _dict : LLDBOpaque ) -> str :
768
777
borrow = valobj .GetChildMemberWithName ("borrow" ).GetValueAsSigned ()
769
778
return (
770
779
"borrow={}" .format (borrow ) if borrow >= 0 else "borrow_mut={}" .format (- borrow )
@@ -774,7 +783,7 @@ def StdRefSummaryProvider(valobj: SBValue, _dict) -> str:
774
783
class StdRefSyntheticProvider :
775
784
"""Pretty-printer for std::cell::Ref, std::cell::RefMut, and std::cell::RefCell"""
776
785
777
- def __init__ (self , valobj : SBValue , _dict , is_cell : bool = False ):
786
+ def __init__ (self , valobj : SBValue , _dict : LLDBOpaque , is_cell : bool = False ):
778
787
self .valobj = valobj
779
788
780
789
borrow = valobj .GetChildMemberWithName ("borrow" )
@@ -821,7 +830,7 @@ def has_children(self) -> bool:
821
830
return True
822
831
823
832
824
- def StdNonZeroNumberSummaryProvider (valobj : SBValue , _dict ) -> str :
833
+ def StdNonZeroNumberSummaryProvider (valobj : SBValue , _dict : LLDBOpaque ) -> str :
825
834
inner = valobj .GetChildAtIndex (0 )
826
835
inner_inner = inner .GetChildAtIndex (0 )
827
836
0 commit comments