|
55 | 55 | SLICE_FIELD_NAMES = [SLICE_FIELD_NAME_DATA_PTR, SLICE_FIELD_NAME_LENGTH]
|
56 | 56 |
|
57 | 57 | # std::Vec<> related constants
|
58 |
| -STD_VEC_FIELD_NAME_DATA_PTR = "ptr" |
59 | 58 | 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] |
64 | 62 |
|
65 | 63 | # std::String related constants
|
66 | 64 | STD_STRING_FIELD_NAMES = ["vec"]
|
@@ -302,13 +300,13 @@ def get_discriminant_value_as_integer(enum_val):
|
302 | 300 | def extract_length_ptr_and_cap_from_std_vec(vec_val):
|
303 | 301 | assert vec_val.type.get_type_kind() == TYPE_KIND_STD_VEC
|
304 | 302 | 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) |
307 | 304 |
|
308 | 305 | 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) |
311 | 307 |
|
| 308 | + vec_ptr_val = buf.get_child_at_index(0) |
| 309 | + capacity = buf.get_child_at_index(1).as_integer() |
312 | 310 | unique_ptr_val = vec_ptr_val.get_child_at_index(0)
|
313 | 311 | data_ptr = unique_ptr_val.get_child_at_index(0)
|
314 | 312 | assert data_ptr.type.get_dwarf_type_kind() == DWARF_TYPE_CODE_PTR
|
|
0 commit comments