fooSynthProvider.py   [plain text]


import lldb
class fooSynthProvider:
     def __init__(self, valobj, dict):
         self.valobj = valobj;
         self.int_type = valobj.GetType().GetBasicType(lldb.eBasicTypeInt)
     def num_children(self):
         return 3;
     def get_child_at_index(self, index):
         if index == 0:
             child = self.valobj.GetChildMemberWithName('a');
         if index == 1:
             child = self.valobj.CreateChildAtOffset ('fake_a', 1, self.int_type);
         if index == 2:
             child = self.valobj.GetChildMemberWithName('r');
         return child;
     def get_child_index(self, name):
         if name == 'a':
             return 0;
         if name == 'fake_a':
             return 1;
    	 return 2;