41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
| import lldb
 | |
| 
 | |
| counter = 0
 | |
| 
 | |
| 
 | |
| class ftsp:
 | |
| 
 | |
|     def __init__(self, valobj, dict):
 | |
|         self.valobj = valobj
 | |
| 
 | |
|     def num_children(self):
 | |
|         if self.char.IsValid():
 | |
|             return 5
 | |
|         return 0
 | |
| 
 | |
|     def get_child_index(self, name):
 | |
|         return 0
 | |
| 
 | |
|     def get_child_at_index(self, index):
 | |
|         if index == 0:
 | |
|             return self.x.Cast(self.char)
 | |
|         if index == 4:
 | |
|             return self.valobj.CreateValueFromExpression(
 | |
|                 str(index), '(char)(' + str(self.count) + ')')
 | |
|         return self.x.CreateChildAtOffset(str(index),
 | |
|                                           index,
 | |
|                                           self.char)
 | |
| 
 | |
|     def update(self):
 | |
|         self.x = self.valobj.GetChildMemberWithName('x')
 | |
|         self.char = self.valobj.GetType().GetBasicType(lldb.eBasicTypeChar)
 | |
|         global counter
 | |
|         self.count = counter
 | |
|         counter = counter + 1
 | |
|         return True  # important: if we return False here, or fail to return, the test will fail
 | |
| 
 | |
| 
 | |
| def __lldb_init_module(debugger, dict):
 | |
|     global counter
 | |
|     counter = 0
 |