34 lines · python
1import lldb2 3 4class myArraySynthProvider:5 def __init__(self, valobj, dict):6 self.valobj = valobj7 8 def num_children(self):9 size_valobj = self.valobj.GetChildMemberWithName("m_arr_size")10 if size_valobj:11 return size_valobj.GetValueAsUnsigned(0)12 return 013 14 def get_child_at_index(self, index):15 size_valobj = self.valobj.GetChildMemberWithName("m_arr_size")16 arr = self.valobj.GetChildMemberWithName("m_array")17 if not size_valobj or not arr:18 return None19 max_idx = size_valobj.GetValueAsUnsigned(0)20 if index >= max_idx:21 return None22 return arr.GetChildAtIndex(index)23 24 def get_child_index(self, name):25 if name == "[0]":26 return 027 if name == "[1]":28 return29 if name == "[2]":30 return 231 if name == "[3]":32 return 333 return -134