Skip to content

Commit b0ee1eb

Browse files
committed
fix pretty printers to handle new Vec
1 parent bfa0e1f commit b0ee1eb

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

src/etc/debugger_pretty_printers_common.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,10 @@
5555
SLICE_FIELD_NAMES = [SLICE_FIELD_NAME_DATA_PTR, SLICE_FIELD_NAME_LENGTH]
5656

5757
# std::Vec<> related constants
58-
STD_VEC_FIELD_NAME_DATA_PTR = "ptr"
5958
STD_VEC_FIELD_NAME_LENGTH = "len"
60-
STD_VEC_FIELD_NAME_CAPACITY = "cap"
61-
STD_VEC_FIELD_NAMES = [STD_VEC_FIELD_NAME_DATA_PTR,
62-
STD_VEC_FIELD_NAME_LENGTH,
63-
STD_VEC_FIELD_NAME_CAPACITY]
59+
STD_VEC_FIELD_NAME_BUF = "buf"
60+
STD_VEC_FIELD_NAMES = [STD_VEC_FIELD_NAME_BUF,
61+
STD_VEC_FIELD_NAME_LENGTH]
6462

6563
# std::String related constants
6664
STD_STRING_FIELD_NAMES = ["vec"]
@@ -302,13 +300,13 @@ def get_discriminant_value_as_integer(enum_val):
302300
def extract_length_ptr_and_cap_from_std_vec(vec_val):
303301
assert vec_val.type.get_type_kind() == TYPE_KIND_STD_VEC
304302
length_field_index = STD_VEC_FIELD_NAMES.index(STD_VEC_FIELD_NAME_LENGTH)
305-
ptr_field_index = STD_VEC_FIELD_NAMES.index(STD_VEC_FIELD_NAME_DATA_PTR)
306-
cap_field_index = STD_VEC_FIELD_NAMES.index(STD_VEC_FIELD_NAME_CAPACITY)
303+
buf_field_index = STD_VEC_FIELD_NAMES.index(STD_VEC_FIELD_NAME_BUF)
307304

308305
length = vec_val.get_child_at_index(length_field_index).as_integer()
309-
vec_ptr_val = vec_val.get_child_at_index(ptr_field_index)
310-
capacity = vec_val.get_child_at_index(cap_field_index).as_integer()
306+
buf = vec_val.get_child_at_index(buf_field_index)
311307

308+
vec_ptr_val = buf.get_child_at_index(0)
309+
capacity = buf.get_child_at_index(1).as_integer()
312310
unique_ptr_val = vec_ptr_val.get_child_at_index(0)
313311
data_ptr = unique_ptr_val.get_child_at_index(0)
314312
assert data_ptr.type.get_dwarf_type_kind() == DWARF_TYPE_CODE_PTR

0 commit comments

Comments
 (0)