@@ -18,6 +18,8 @@ def __lldb_init_module(debugger, _):
18
18
"""Installs a new debugger handle for formatting hermes values"""
19
19
debugger .HandleCommand (
20
20
"type summary add "
21
+ '"hermes::vm::HermesValueBase" '
22
+ '"hermes::vm::SHLegacyValue" '
21
23
'"hermes::vm::HermesValue" '
22
24
'"hermes::vm::PinnedHermesValue" '
23
25
'"hermes::vm::GCHermesValue" '
@@ -33,10 +35,10 @@ class Tag:
33
35
LAST_TAG = 0xFFFF
34
36
EMPTY_INVALID_TAG = FIRST_TAG
35
37
UNDEFINED_NULL_TAG = FIRST_TAG + 1
36
- BOOL_TAG = FIRST_TAG + 2
37
- SYMBOL_TAG = FIRST_TAG + 3
38
- NATIVE_VALUE_TAG = FIRST_TAG + 4
39
- STR_TAG = FIRST_TAG + 5
38
+ BOOL_SYMBOL_TAG = FIRST_TAG + 2
39
+ NATIVE_VALUE_TAG = FIRST_TAG + 3
40
+ STR_TAG = FIRST_TAG + 4
41
+ BIGINT_TAG = FIRST_TAG + 5
40
42
OBJECT_TAG = FIRST_TAG + 6
41
43
42
44
@@ -45,12 +47,14 @@ class ExtendedTag:
45
47
INVALID = Tag .EMPTY_INVALID_TAG * 2 + 1
46
48
UNDEFINED = Tag .UNDEFINED_NULL_TAG * 2
47
49
NULL = Tag .UNDEFINED_NULL_TAG * 2 + 1
48
- BOOL = Tag .BOOL_TAG * 2
49
- SYMBOL = Tag .SYMBOL_TAG * 2
50
+ BOOL = Tag .BOOL_SYMBOL_TAG * 2
51
+ SYMBOL = Tag .BOOL_SYMBOL_TAG * 2 + 1
50
52
NATIVE1 = Tag .NATIVE_VALUE_TAG * 2
51
53
NATIVE2 = Tag .NATIVE_VALUE_TAG * 2 + 1
52
54
STR1 = Tag .STR_TAG * 2
53
55
STR2 = Tag .STR_TAG * 2 + 1
56
+ BIGINT1 = Tag .BIGINT_TAG * 2
57
+ BIGINT2 = Tag .BIGINT_TAG * 2 + 1
54
58
OBJECT1 = Tag .OBJECT_TAG * 2
55
59
OBJECT2 = Tag .OBJECT_TAG * 2 + 1
56
60
@@ -66,6 +70,8 @@ class ExtendedTag:
66
70
NATIVE2 : "NativeValue" ,
67
71
STR1 : "String" ,
68
72
STR2 : "String" ,
73
+ BIGINT1 : "BigInt" ,
74
+ BIGINT2 : "BigInt" ,
69
75
OBJECT1 : "Object" ,
70
76
OBJECT2 : "Object" ,
71
77
}
@@ -146,7 +152,10 @@ def hv_type_format(valobj, _):
146
152
"""This formats a HermesValue based on the same encoding API used by
147
153
HermesValues. It should be kept up to date with any changes to that
148
154
encoding."""
149
- raw_val = valobj .GetChildMemberWithName ("raw_" )
155
+ # Use have to descend through GetChildAtIndex multiple times due to
156
+ # the union. LLDB doesn't appear to lookup through unions when using
157
+ # GetChildMemberWithName.
158
+ raw_val = valobj .GetChildAtIndex (0 ).GetChildAtIndex (0 ).GetChildMemberWithName ("raw" )
150
159
return str (HermesValue (raw_val .GetValueAsUnsigned ()))
151
160
152
161
0 commit comments