The test function to determine whether we have reached the end of the list was
too complex in the test case. We can just simply test that the SBValue object
is a valid object and it does not correspond to a null pointer in order to say
that EOL has not been reached.
Modify the test case and the lldb.py docstring to have a more compact test
function.
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136123 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/scripts/Python/modify-python-lldb.py b/scripts/Python/modify-python-lldb.py
index 6f211b2..3a784a6 100644
--- a/scripts/Python/modify-python-lldb.py
+++ b/scripts/Python/modify-python-lldb.py
@@ -103,22 +103,15 @@
For example,
- # Test function to determine end of list.
def eol(val):
- if not val:
+ \'\'\'Test function to determine end of list.\'\'\'
+ # End of list is reached if either the value object is invalid
+ # or it corresponds to a null pointer.
+ if not val or int(val.GetValue(), 16) == 0:
return True
- try:
- # Test the semantics of the item we got.
- id = val.GetChildMemberWithName("id")
- if int(id.GetValue()) > 0:
- return False
- except:
- pass
- # If we fall through to here. It could be that exception
- # occurred or the "id" child member does not qualify as a
- # valid item. Return True for EOL.
- return True
+ # Otherwise, return False.
+ return False
# Get Frame #0.
...