hanchenye-llvm-project/lldb/source/Core
Jim Ingham 78a685aa2d Add support for "dynamic values" for C++ classes. This currently only works for "frame var" and for the
expressions that are simple enough to get passed to the "frame var" underpinnings.  The parser code will
have to be changed to also query for the dynamic types & offsets as it is looking up variables.

The behavior of "frame var" is controlled in two ways.  You can pass "-d {true/false} to the frame var
command to get the dynamic or static value of the variables you are printing.

There's also a general setting:

target.prefer-dynamic-value (boolean) = 'true'

which is consulted if you call "frame var" without supplying a value for the -d option.

llvm-svn: 129623
2011-04-16 00:01:13 +00:00
..
Address.cpp Fixed the LLDB build so that we can have private types, private enums and 2011-03-24 21:19:54 +00:00
AddressRange.cpp Made lldb_private::ArchSpec contain much more than just an architecture. It 2011-02-15 21:59:32 +00:00
AddressResolver.cpp
AddressResolverFileLine.cpp Modified all logging calls to hand out shared pointers to make sure we 2010-11-06 01:53:30 +00:00
AddressResolverName.cpp Changed the SymbolFile::FindFunction() function calls to only return 2011-01-27 06:44:37 +00:00
ArchSpec.cpp Added auto completion for architecture names and for platforms. 2011-04-13 22:47:15 +00:00
Baton.cpp
Broadcaster.cpp Fixed a crasher when enabling logging that is due to the new hijack listener stack changes. 2011-02-10 06:51:22 +00:00
Communication.cpp Added the ability to get a broadcaster event name for a given broadcaster 2011-04-01 00:29:43 +00:00
Connection.cpp
ConnectionFileDescriptor.cpp Moved the execution context that was in the Debugger into 2011-04-12 05:54:46 +00:00
ConnectionMachPort.cpp Added a speed test to the GDBRemoteCommunicationClient and 2011-04-04 18:18:57 +00:00
ConnectionSharedMemory.cpp Added a speed test to the GDBRemoteCommunicationClient and 2011-04-04 18:18:57 +00:00
ConstString.cpp Made many ConstString functions inlined in the header file. 2010-10-15 22:48:33 +00:00
DataBufferHeap.cpp
DataBufferMemoryMap.cpp Add missing headers. 2011-04-08 13:36:44 +00:00
DataExtractor.cpp Get rid of LONG_LONG_MAX and ULONG_LONG_MAX, and use LLONG_MAX and ULLONG_MAX 2011-04-01 18:14:08 +00:00
Debugger.cpp Moved the execution context that was in the Debugger into 2011-04-12 05:54:46 +00:00
Disassembler.cpp Fix various things in the instruction emulation code: 2011-04-08 23:33:06 +00:00
DynamicLoader.cpp The DynamicLoader plug-in instance now lives up in lldb_private::Process where 2011-02-16 04:46:07 +00:00
EmulateInstruction.cpp Order of initialization lists. 2011-04-11 19:41:40 +00:00
Error.cpp LLDB now has "Platform" plug-ins. Platform plug-ins are plug-ins that provide 2011-03-08 22:40:15 +00:00
Event.cpp Endian patch from Kirk Beitz that allows better cross platform building. 2011-02-01 01:31:41 +00:00
FileSpecList.cpp
InputReader.cpp Use Host::File in lldb_private::StreamFile and other places to cleanup host 2011-02-09 01:08:52 +00:00
Language.cpp Created lldb::LanguageType by moving an enumeration from the 2010-07-28 02:04:09 +00:00
Listener.cpp Modified all logging calls to hand out shared pointers to make sure we 2010-11-06 01:53:30 +00:00
Log.cpp Added auto completion for architecture names and for platforms. 2011-04-13 22:47:15 +00:00
Makefile Merged Eli Friedman's linux build changes where he added Makefile files that 2010-07-09 20:39:50 +00:00
Mangled.cpp Move the demangle-failed indication out a bit so other failing cases 2010-12-15 04:27:04 +00:00
Module.cpp Moved the execution context that was in the Debugger into 2011-04-12 05:54:46 +00:00
ModuleChild.cpp
ModuleList.cpp Moved the execution context that was in the Debugger into 2011-04-12 05:54:46 +00:00
Opcode.cpp Added the ability to get the min and max instruction byte size for 2011-03-26 19:14:58 +00:00
PluginManager.cpp Added auto completion for architecture names and for platforms. 2011-04-13 22:47:15 +00:00
RegularExpression.cpp Improved our argument parsing abilities to be able to handle stuff more like 2010-12-19 03:41:24 +00:00
Scalar.cpp Endian patch from Kirk Beitz that allows better cross platform building. 2011-02-01 01:31:41 +00:00
SearchFilter.cpp Merged Eli Friedman's linux build changes where he added Makefile files that 2010-07-09 20:39:50 +00:00
Section.cpp Fixed the LLDB build so that we can have private types, private enums and 2011-03-24 21:19:54 +00:00
SourceManager.cpp Many improvements to the Platform base class and subclasses. The base Platform 2011-03-30 18:16:51 +00:00
State.cpp Added support for attaching to a remote debug server with the new command: 2011-02-04 01:58:07 +00:00
Stream.cpp Use Host::File in lldb_private::StreamFile and other places to cleanup host 2011-02-09 01:08:52 +00:00
StreamFile.cpp Use Host::File in lldb_private::StreamFile and other places to cleanup host 2011-02-09 01:08:52 +00:00
StreamString.cpp
StringList.cpp Declare some const functions as const. 2011-03-11 01:48:52 +00:00
Timer.cpp Added a setting to "log timer" so you can see the incremental timings as well: 2010-11-04 23:19:21 +00:00
UUID.cpp Header patch, virtual dtor patch and missed UUID patch from Kirk Beitz. 2011-02-05 02:56:16 +00:00
UserID.cpp Move trivial parts of UserID into the header. 2010-06-22 10:44:12 +00:00
UserSettingsController.cpp - Changed all the places where CommandObjectReturn was exporting a StreamString to just exporting 2011-02-19 02:53:09 +00:00
VMRange.cpp Added support for inlined stack frames being represented as real stack frames 2010-08-24 00:45:41 +00:00
Value.cpp Fixed the LLDB build so that we can have private types, private enums and 2011-03-24 21:19:54 +00:00
ValueObject.cpp Add support for "dynamic values" for C++ classes. This currently only works for "frame var" and for the 2011-04-16 00:01:13 +00:00
ValueObjectChild.cpp Add support for "dynamic values" for C++ classes. This currently only works for "frame var" and for the 2011-04-16 00:01:13 +00:00
ValueObjectConstResult.cpp Convert ValueObject to explicitly maintain the Execution Context in which they were created, and then use that when they update themselves. That means all the ValueObject evaluate me type functions that used to require a Frame object now do not. I didn't remove the SBValue API's that take this now useless frame, but I added ones that don't require the frame, and marked the SBFrame taking ones as deprecated. 2011-03-31 00:19:25 +00:00
ValueObjectDynamicValue.cpp Add support for "dynamic values" for C++ classes. This currently only works for "frame var" and for the 2011-04-16 00:01:13 +00:00
ValueObjectList.cpp StackFrame objects now own ValueObjects for any frame variables (locals, args, 2010-09-02 02:59:18 +00:00
ValueObjectMemory.cpp Add support for "dynamic values" for C++ classes. This currently only works for "frame var" and for the 2011-04-16 00:01:13 +00:00
ValueObjectRegister.cpp Convert ValueObject to explicitly maintain the Execution Context in which they were created, and then use that when they update themselves. That means all the ValueObject evaluate me type functions that used to require a Frame object now do not. I didn't remove the SBValue API's that take this now useless frame, but I added ones that don't require the frame, and marked the SBFrame taking ones as deprecated. 2011-03-31 00:19:25 +00:00
ValueObjectVariable.cpp Convert ValueObject to explicitly maintain the Execution Context in which they were created, and then use that when they update themselves. That means all the ValueObject evaluate me type functions that used to require a Frame object now do not. I didn't remove the SBValue API's that take this now useless frame, but I added ones that don't require the frame, and marked the SBFrame taking ones as deprecated. 2011-03-31 00:19:25 +00:00