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;
	def update(self):
		return True