1*99451b44SJordan Rupprechtimport lldb 2*99451b44SJordan Rupprecht 3*99451b44SJordan Rupprechtcounter = 0 4*99451b44SJordan Rupprecht 5*99451b44SJordan Rupprecht 6*99451b44SJordan Rupprechtclass ftsp: 7*99451b44SJordan Rupprecht 8*99451b44SJordan Rupprecht def __init__(self, valobj, dict): 9*99451b44SJordan Rupprecht self.valobj = valobj 10*99451b44SJordan Rupprecht 11*99451b44SJordan Rupprecht def num_children(self): 12*99451b44SJordan Rupprecht if self.char.IsValid(): 13*99451b44SJordan Rupprecht return 5 14*99451b44SJordan Rupprecht return 0 15*99451b44SJordan Rupprecht 16*99451b44SJordan Rupprecht def get_child_index(self, name): 17*99451b44SJordan Rupprecht return 0 18*99451b44SJordan Rupprecht 19*99451b44SJordan Rupprecht def get_child_at_index(self, index): 20*99451b44SJordan Rupprecht if index == 0: 21*99451b44SJordan Rupprecht return self.x.Cast(self.char) 22*99451b44SJordan Rupprecht if index == 4: 23*99451b44SJordan Rupprecht return self.valobj.CreateValueFromExpression( 24*99451b44SJordan Rupprecht str(index), '(char)(' + str(self.count) + ')') 25*99451b44SJordan Rupprecht return self.x.CreateChildAtOffset(str(index), 26*99451b44SJordan Rupprecht index, 27*99451b44SJordan Rupprecht self.char) 28*99451b44SJordan Rupprecht 29*99451b44SJordan Rupprecht def update(self): 30*99451b44SJordan Rupprecht self.x = self.valobj.GetChildMemberWithName('x') 31*99451b44SJordan Rupprecht self.char = self.valobj.GetType().GetBasicType(lldb.eBasicTypeChar) 32*99451b44SJordan Rupprecht global counter 33*99451b44SJordan Rupprecht self.count = counter 34*99451b44SJordan Rupprecht counter = counter + 1 35*99451b44SJordan Rupprecht return True # important: if we return False here, or fail to return, the test will fail 36*99451b44SJordan Rupprecht 37*99451b44SJordan Rupprecht 38*99451b44SJordan Rupprechtdef __lldb_init_module(debugger, dict): 39*99451b44SJordan Rupprecht global counter 40*99451b44SJordan Rupprecht counter = 0 41