llvm-project/lldb/source/Interpreter
Enrico Granata 4d93b8cdf3 <rdar://problem/14393032>
DumpValueObject() 2.0

This checkin restores pre-Xcode5 functionality to the "po" (expr -O) command:
- expr now has a new --description-verbosity (-v) argument, which takes either compact or full as a value (-v is the same as -vfull)
 When the full mode is on, "po" will show the extended output with type name, persistent variable name and value, as in
(lldb) expr -O -v -- foo
(id) $0 = 0x000000010010baf0 {
    1 = 2;
    2 = 3;
}

 When -v is omitted, or -vcompact is passed, the Xcode5-style output will be shown, as in
(lldb) expr -O -- foo
{
    1 = 2;
    2 = 3;
}

- for a non-ObjectiveC object, LLDB will still try to retrieve a summary and/or value to display
(lldb) po 5
5
-v also works in this mode
(lldb) expr -O -vfull -- 5
(int) $4 = 5 

On top of that, this is a major refactoring of the ValueObject printing code. The functionality is now factored into a ValueObjectPrinter class for easier maintenance in the future
DumpValueObject() was turned into an instance method ValueObject::Dump() which simply calls through to the printer code, Dump_Impl has been removed

Test case to follow

llvm-svn: 191694
2013-09-30 19:11:51 +00:00
..
Args.cpp Add OptionParser.h 2013-09-05 16:42:23 +00:00
CMakeLists.txt Convert to UNIX line endings. 2013-09-25 10:37:32 +00:00
CommandHistory.cpp <rdar://problem/14134716> 2013-06-17 22:51:50 +00:00
CommandInterpreter.cpp Fix the command name in the syntax text for _regexp-list 2013-09-26 20:00:01 +00:00
CommandObject.cpp <rdar://problem/14393032> 2013-09-30 19:11:51 +00:00
CommandObjectRegexCommand.cpp <rdar://problem/13384801> 2013-04-03 21:37:16 +00:00
CommandObjectScript.cpp *ahem* Enrico. 2013-02-20 23:51:13 +00:00
CommandObjectScript.h Fix a few more clang (3.2) warnings on Linux: 2012-12-07 22:21:08 +00:00
CommandReturnObject.cpp Second attempt at getting the PyCallable changes in trunk 2013-07-09 20:14:26 +00:00
Makefile MingW compilation (windows). Includes various refactoring to improve portability. 2013-08-23 12:44:05 +00:00
OptionGroupArchitecture.cpp Add OptionParser.h 2013-09-05 16:42:23 +00:00
OptionGroupBoolean.cpp Add OptionParser.h 2013-09-05 16:42:23 +00:00
OptionGroupFile.cpp Add OptionParser.h 2013-09-05 16:42:23 +00:00
OptionGroupFormat.cpp Add OptionParser.h 2013-09-05 16:42:23 +00:00
OptionGroupOutputFile.cpp Add OptionParser.h 2013-09-05 16:42:23 +00:00
OptionGroupPlatform.cpp Add OptionParser.h 2013-09-05 16:42:23 +00:00
OptionGroupString.cpp Add OptionParser.h 2013-09-05 16:42:23 +00:00
OptionGroupUInt64.cpp Add OptionParser.h 2013-09-05 16:42:23 +00:00
OptionGroupUUID.cpp Add OptionParser.h 2013-09-05 16:42:23 +00:00
OptionGroupValueObjectDisplay.cpp <rdar://problem/14393032> 2013-09-30 19:11:51 +00:00
OptionGroupVariable.cpp Add OptionParser.h 2013-09-05 16:42:23 +00:00
OptionGroupWatchpoint.cpp Add OptionParser.h 2013-09-05 16:42:23 +00:00
OptionValue.cpp <rdar://problem/11757916> 2012-08-29 21:13:06 +00:00
OptionValueArch.cpp <rdar://problem/12978143> 2013-01-28 23:47:25 +00:00
OptionValueArgs.cpp Reimplemented the code that backed the "settings" in lldb. There were many issues with the previous implementation: 2012-08-22 17:17:09 +00:00
OptionValueArray.cpp Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
OptionValueBoolean.cpp <rdar://problem/12022079> 2012-08-23 00:22:02 +00:00
OptionValueDictionary.cpp <rdar://problem/12978143> 2013-01-28 23:47:25 +00:00
OptionValueEnumeration.cpp Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
OptionValueFileSpec.cpp Change OptionValueFileSpec::SetValueFromCString to strip off whitespace, 2013-09-13 02:33:15 +00:00
OptionValueFileSpecLIst.cpp Sort out a number of mismatched integer types in order to cut down the number of compiler warnings. 2013-06-19 19:04:53 +00:00
OptionValueFormat.cpp <rdar://problem/12978143> 2013-01-28 23:47:25 +00:00
OptionValuePathMappings.cpp Sort out a number of mismatched integer types in order to cut down the number of compiler warnings. 2013-06-19 19:04:53 +00:00
OptionValueProperties.cpp OptionValueProperties::DeepCopy (): return empty value to avoid compilation error on MSVC (even if assert). 2013-09-05 16:57:48 +00:00
OptionValueRegex.cpp Reimplemented the code that backed the "settings" in lldb. There were many issues with the previous implementation: 2012-08-22 17:17:09 +00:00
OptionValueSInt64.cpp Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
OptionValueString.cpp Now that "settings set" will strip leading and trailing spaces, we need a way to be able to specify string values that contain spaces. So now settings setting <property> <value>" can have a <value> that is quoted: 2013-03-06 02:19:38 +00:00
OptionValueUInt64.cpp Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
OptionValueUUID.cpp Remove the UUID::GetAsCString() method which required a buffer to save the 2013-05-03 23:56:12 +00:00
Options.cpp Add OptionParser.h 2013-09-05 16:42:23 +00:00
Property.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
PythonDataObjects.cpp Added Repr() and Str() member functions to our PythonObject class to allow easy conversion to-string of every PythonObject 2013-07-12 21:11:02 +00:00
ScriptInterpreter.cpp After discussing with Chris Lattner, we require C++11, so lets get rid of the macros and just use C++11. 2013-04-18 22:45:39 +00:00
ScriptInterpreterNone.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
ScriptInterpreterPython.cpp merge lldb-platform-work branch (and assorted fixes) into trunk 2013-08-26 23:57:52 +00:00
embedded_interpreter.py Split up the Python script interpreter code to allow multiple script interpreter objects to 2011-01-14 00:29:16 +00:00