brintos

brintos / llvm-project-archived public Read only

0
0
Text · 928 B · 167899b Raw
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