1979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granataimport lldb
29ae7cef26612773c6b3422834cec83f0fbb2cf8cEnrico Granataclass fooSynthProvider:
3cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata	def __init__(self, valobj, dict):
4cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata		self.valobj = valobj;
5cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata		self.int_type = valobj.GetType().GetBasicType(lldb.eBasicTypeInt)
6cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata	def num_children(self):
7cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata		return 3;
8cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata	def get_child_at_index(self, index):
9cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata		if index == 0:
10cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata			child = self.valobj.GetChildMemberWithName('a');
11cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata		if index == 1:
12cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata			child = self.valobj.CreateChildAtOffset ('fake_a', 1, self.int_type);
13cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata		if index == 2:
14cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata			child = self.valobj.GetChildMemberWithName('r');
15cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata		return child;
16cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata	def get_child_index(self, name):
17cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata		if name == 'a':
18cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata			return 0;
19cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata		if name == 'fake_a':
20cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata			return 1;
21cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata		return 2;
22cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata	def update(self):
23cf09f885c201becf51acc4a5cfac00b3df53f2a8Enrico Granata		return True