Change the SBValue.linked_list_iter() to treat the value object as a homogeneous linked list data structure

where an empty linked list is represented as a value object with a NULL value, instead of a special value
object which 'points' to NULL.

Also modifies the test case to comply.

rdar://problem/9933692

llvm-svn: 137289
This commit is contained in:
Johnny Chen
2011-08-11 00:49:03 +00:00
parent 3c24a17c7c
commit 9c1b703ac4
2 changed files with 7 additions and 5 deletions

View File

@@ -95,7 +95,7 @@ linked_list_iter_def = '''
Return True if val is invalid or it corresponds to a null pointer.
Otherwise, return False.
"""
if not val or int(val.GetValue(), 0) == 0:
if not val or val.GetValueAsUnsigned() == 0:
return True
else:
return False
@@ -127,8 +127,10 @@ linked_list_iter_def = '''
for t in task_head.linked_list_iter('next'):
print t
"""
if end_of_list_test(self):
return
item = self
try:
item = self.GetChildMemberWithName(next_item_name)
while not end_of_list_test(item):
yield item
# Prepare for the next iteration.