hanchenye-llvm-project/lldb/source
Greg Clayton f660248238 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
2011-07-15 19:31:49 +00:00
..
API Added the ability to get synthetic child values from SBValue objects that 2011-07-15 19:31:49 +00:00
Breakpoint Added the ability to _not_ skip the prologue when settings breakpoints 2011-07-12 17:06:17 +00:00
Commands Python summary strings: 2011-07-15 02:26:42 +00:00
Core Added the ability to connect using "tcp://<host>:<port>" which is the 2011-07-15 16:31:38 +00:00
Expression Added the ability to see block variables when looking up addresses 2011-07-11 05:12:02 +00:00
Host Switch from USEC_PER_SEC/NSEC_PER_SEC/NSEC_PER_USEC to TimeValue constants 2011-06-18 23:52:14 +00:00
Interpreter Python summary strings: 2011-07-15 02:26:42 +00:00
Plugins Fixed the comment lines in the file comment headers. 2011-07-15 18:02:58 +00:00
Symbol Added the ability to _not_ skip the prologue when settings breakpoints 2011-07-12 17:06:17 +00:00
Target Added the ability to _not_ skip the prologue when settings breakpoints 2011-07-12 17:06:17 +00:00
Utility fixing missing RefCounter class 2011-07-13 00:00:57 +00:00
Makefile Patch from Jean-Daniel Dupas: 2010-07-12 23:14:00 +00:00
lldb-log.cpp Deleted one too many characters... 2011-05-07 01:03:33 +00:00
lldb.cpp LLDB now has a Kernel dynamic linker that can detect where kexts are 2011-07-08 04:11:42 +00:00