Add cross references between the docstrings for regular SBValue iteration:

for child in value:
        # do something with the child value

and SBValue.linked_list_iter():

    for task in task_head.linked_list_iter('next', eol_test):
        # visit each item in the linked list

llvm-svn: 136015
This commit is contained in:
Johnny Chen 2011-07-25 23:41:08 +00:00
parent 9becc53e32
commit a4bc3a7091
2 changed files with 16 additions and 6 deletions

View File

@ -49,7 +49,11 @@ Name: rip Value: 0x0000000100000dae
Name: rflags Value: 0x0000000000000206
Name: cs Value: 0x0000000000000027
Name: fs Value: 0x0000000000000010
Name: gs Value: 0x0000000000000048"
Name: gs Value: 0x0000000000000048
See also linked_list_iter() for another perspective on how to iterate through an
SBValue instance which interprets the value object as representing the head of a
linked list."
) SBValue;
class SBValue
{

View File

@ -83,17 +83,23 @@ def lldb_iter(obj, getsize, getelem):
'''
#
# linked_list_iter() is a special purpose iterator to treat the SBValue as a
# list data structure, where you specify the child member name which points to
# the next item on the list and you specify the end-of-list function which takes
# an SBValue and returns True if EOL is reached and False if not.
# linked_list_iter() is a special purpose iterator to treat the SBValue as the
# head of a list data structure, where you specify the child member name which
# points to the next item on the list and you specify the end-of-list function
# which takes an SBValue and returns True if EOL is reached and False if not.
#
linked_list_iter_def = '''
# ==================================================
# Iterator for lldb.SBValue treated as a linked list
# ==================================================
def linked_list_iter(self, next_item_name, end_of_list):
"""A generator adaptor to support iteration for SBValue as a linked list.
"""Generator adaptor to support iteration for SBValue as a linked list.
linked_list_iter() is a special purpose iterator to treat the SBValue as
the head of a list data structure, where you specify the child member
name which points to the next item on the list and you specify the
end-of-list test function which takes an SBValue for an item and returns
True if EOL is reached and False if not.
For example,