summaryrefslogtreecommitdiffstats
path: root/lldb/test/python_api
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2011-07-15 19:31:49 +0000
committerGreg Clayton <gclayton@apple.com>2011-07-15 19:31:49 +0000
commitf660248238023bbb44deed53068d9f56e74fd1c6 (patch)
treeeeb6d2606b47d3fc8bb8d163e3f7fb759683db9d /lldb/test/python_api
parentb45111556da27c93a2d515167150ca14292707dc (diff)
downloadbcm5719-llvm-f660248238023bbb44deed53068d9f56e74fd1c6.tar.gz
bcm5719-llvm-f660248238023bbb44deed53068d9f56e74fd1c6.zip
Added the ability to get synthetic child values from SBValue objects that
represent pointers and arrays by adding an extra parameter to the SBValue SBValue::GetChildAtIndex (uint32_t idx, DynamicValueType use_dynamic, bool can_create_synthetic); The new "can_create_synthetic" will allow you to create child values that aren't actually a part of the original type. So if you code like: int *foo_ptr = ... And you have a SBValue that contains the value for "foo_ptr": SBValue foo_value = ... You can now get the "foo_ptr[12]" item by doing this: v = foo_value.GetChiltAtIndex (12, lldb.eNoDynamicValues, True); Normall the "foo_value" would only have one child value (an integer), but we can create "synthetic" child values by treating the pointer as an array. Likewise if you have code like: int array[2]; array_value = .... v = array_value.GetChiltAtIndex (0); // Success, v will be valid v = array_value.GetChiltAtIndex (1); // Success, v will be valid v = array_value.GetChiltAtIndex (2); // Fail, v won't be valid, "2" is not a valid zero based index in "array" But if you use the ability to create synthetic children: v = array_value.GetChiltAtIndex (0, lldb.eNoDynamicValues, True); // Success, v will be valid v = array_value.GetChiltAtIndex (1, lldb.eNoDynamicValues, True); // Success, v will be valid v = array_value.GetChiltAtIndex (2, lldb.eNoDynamicValues, True); // Success, v will be valid llvm-svn: 135292
Diffstat (limited to 'lldb/test/python_api')
-rw-r--r--lldb/test/python_api/default-constructor/sb_value.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/lldb/test/python_api/default-constructor/sb_value.py b/lldb/test/python_api/default-constructor/sb_value.py
index f3929a6cb29..c2b90e59f39 100644
--- a/lldb/test/python_api/default-constructor/sb_value.py
+++ b/lldb/test/python_api/default-constructor/sb_value.py
@@ -21,7 +21,7 @@ def fuzz_obj(obj):
obj.GetLocation()
obj.SetValueFromCString("my_new_value")
obj.GetChildAtIndex(1)
- obj.GetChildAtIndex(2, lldb.eNoDynamicValues)
+ obj.GetChildAtIndex(2, lldb.eNoDynamicValues, False)
obj.GetIndexOfChildWithName("my_first_child")
obj.GetChildMemberWithName("my_first_child")
obj.GetChildMemberWithName("my_first_child", lldb.eNoDynamicValues)
OpenPOWER on IntegriCloud