History log of /external/lldb/source/DataFormatters/FormatManager.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3160832f026e60e832da55f90993a40ad132e360 07-Aug-2013 Michael Sartain <mikesart@valvesoftware.com> clean up about 22 warnings messages

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
4bb4232b60650d39ef66cb600cef8399342b7d16 10-Jul-2013 Enrico Granata <egranata@apple.com> Adding a summary for ObjC blocks

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
a227fcd20fb7479e43b3890ed35a4c5cc0671dd0 26-Jun-2013 Enrico Granata <egranata@apple.com> Remove the #define USE_CACHE since the formatters cache has been operational for a while now and has not caused issues that warrant disabling it
Also, print the cache hits statistics if the log is in debugging mode vs. LLDB being a debug build - this should make it easier to gather useful metrics on cache success rate for real users

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
b6a4c565732b3a7b546ba2aa0e7aec3a4bb359a4 18-Jun-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12717717>

Modifying our data formatters matching algorithm to ensure that "const X*" is treated as equivalent to "X*"
Also, a couple improvements to the "lldb types" logging



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184215 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
6fb3f2c45c87de47d5058310b4ef14cc3a26727c 11-Jun-2013 Greg Clayton <gclayton@apple.com> Remove eFormatHalfFloat as it isn't needed. eFormatFloat should be used and the byte size will tell us how to display it.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
01c3be1218c47f2e3aed499afa0b3a7e2d9dfd3a 11-Jun-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12783351>

Add support for half-floats, as specified by IEEE-754-2008
With this checkin, you can now say:
(lldb) x/7hf foo

to read 7 half-floats at address foo



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
3990c278c5f4f6ce1373ee3e6d5b984883cf4318 05-Jun-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13125225>

Adding data formatters for std::set, std::multiset and std::multimap for libc++
The underlying data structure is the same as std::map, so this change is very minimal and mostly consists of test cases



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
0c9166c1234dbe6906cd9e4df3132269e35d4b8f 04-Jun-2013 Enrico Granata <egranata@apple.com> <rdar://problem/14003462>

Formatters for unsigned char* and const variant

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
8f0f4751e12a4f8d2b6bf359ee4e0853b0d6cd23 06-May-2013 Enrico Granata <egranata@apple.com> <rdar://problem/11669154>

Make a summary format for libc++ STL containers that shows the number of items as before, but also shows the pointer value for pointer-to-container



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181236 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
5c2cd1f89c48df277a07f73822187317ac4cbae0 27-Apr-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12529989>

Synthetic children provider for NSOrderedSet

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180655 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
39ebb982b3f9de4a15744078e9c6ba231187b5dc 26-Apr-2013 Enrico Granata <egranata@apple.com> Make a synthetic children provider for the ObjC Class type



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
98b449f489fb521f2e03287bd5515b3502481089 24-Apr-2013 Enrico Granata <egranata@apple.com> See: http://stackoverflow.com/questions/16166897/c-how-to-obtain-address-of-stdvector-object-in-lldb-xcode
The user was trying to obtain the address-of an std::vector and the experience was more painful than necessary because data formatters were kicking in for vector* objects
We got this right for libc++ - we should get it right for libstdc++ too

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
fe26a2333298602bac55decfee87bc6d33b79d54 23-Apr-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13437949>

Making sure that CF*{Array|Dictionary}Ref provide synthetic children correctly.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
1ce700057562ef0a71724050f1d1675f29f646b6 28-Mar-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12410225>

By default, omit the children for a char[] and just show the string contents
Can be overridden by appropriate command-line flags

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
952e9dc874944fcdbbb224f3ec4fc2c859376f64 28-Mar-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13521159>

LLDB is crashing when logging is enabled from lldb-perf-clang. This has to do with the global destructor chain as the process and its threads are being torn down.

All logging channels now make one and only one instance that is kept in a global pointer which is never freed. This guarantees that logging can correctly continue as the process tears itself down.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
cc5d27417b9f958d596a438290a9adb17674b487 19-Mar-2013 Enrico Granata <egranata@apple.com> The formatters for std::shared_ptr, std::weak_ptr, std::list, std::vector and std::map as provided by libc++ are now written in C++ instead of Python
std::deque is still in Python but is much less commonly used



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
cba09f60618744e2155bc97c9049fa9c797698ad 19-Mar-2013 Enrico Granata <egranata@apple.com> This checkin removes the last Cocoa formatters that were implemented in Python and reimplements them in C++. The Python Cocoa formatters are not shipped as part of LLDB anymore, but still exist in the source repository for user reference. Python formatters still exist for STL classes and users can still define their own Python formatters

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
5782daebac56f3d5b8effdc4e6db7de93630b3c5 16-Mar-2013 Enrico Granata <egranata@apple.com> C++ formatters for NSTimeZone and for CFBitVector

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
3818e6ac2211921db522abedd43746c1de3e82b5 16-Mar-2013 Enrico Granata <egranata@apple.com> NS(Mutable)IndexSet formatter moves from Python to C++

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177217 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
dc1df6b2fd7d359753b2bcfcf2decb114f465a1d 16-Mar-2013 Enrico Granata <egranata@apple.com> Converting more data formatters to C++ - NSBundle, CFBinaryHeap, NSMachPort and NSNotification

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
280b30f0315211c54ce1c34366b586e9700629f4 15-Mar-2013 Enrico Granata <egranata@apple.com> Porting the Objective-C Class data type’s summary from Python to C++

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
b70c6ef20cd49bd7b33736e7534db717ae75e96f 15-Mar-2013 Enrico Granata <egranata@apple.com> Moving CFBag and NSBundle summaries from Python to C++

Temporarily disabled non-code-running summaries for CF*Dictionary and NSCountedSet

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
b7031126eee2dd7ecbce4567ece0601b680fb582 22-Feb-2013 Enrico Granata <egranata@apple.com> The summary for const char* was not cascading.
This was preventing us from providing a summary for the result of std::string.c_str() with libc++



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
32d7ee3d2969211e104a27fcfcd636f249b26559 21-Feb-2013 Enrico Granata <egranata@apple.com> <rdar://problem/4529976>

Adding data formatters for iterators for std::map and std::vector (both libc++ and libstdcpp)
This does not include reverse iterators since they are both trickier (due to requirements the standard imposes on them) and much less useful



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
fa3a6706b42bddfece6f5ba96d82042c6494a912 19-Feb-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12529957>

Synthetic children provider for NSSet



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
ea68753ef4b8cca81cf3f5aef7bbf1ebb152a832 16-Feb-2013 Enrico Granata <egranata@apple.com> NSSet formatter is now C++ code
Split some NS* formatters in their own source files
Refactored a utility function for the C++ formatters to use
Fixed the skip-summary test case to be explicit about requiring libstdc++ for operation



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
1f9df7804f59193fdfbba3d73bb81f99c689f486 15-Feb-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13204647>

The SEL data formatter was working hard to ensure that pointers-to-selectors could be formatted by the same block of code. In that effort, we were taking the address-of a SEL.
This operation fails when the SEL lives in a register, and was causing problems.
The formatter has been fixed to work correctly without assuming &selector will be a valid object.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
979c4b526eb31cbed5475ec62ef10fe53cbf8c45 08-Feb-2013 Enrico Granata <egranata@apple.com> This checkin implements the data formatter for NSURL in C++ code



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
dcffc1a667665936b3dd33a9861a3de9d1d35636 08-Feb-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12898191>

Added a summary for NSMutableAttributedString
In the process, converted formatters for other NSString-based classes over to C++ code



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
689696c19cbf0fa8a09e2461f0aaa37409782e3b 04-Feb-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12953018>

Synthetic children and summary for std::vector<bool> (for both libcxx and libstdcpp).
std::vector<bool> is a special case and is custom-implemented to be a vector of bits, which means we failed to handle it with the standard std::vector<T> formatter.
This checkin provides custom formatters that work correctly



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp
f509c5ec066599a3399fced39ea36996184939e8 29-Jan-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12978143>

Data formatters now cache themselves.
This commit provides a new formatter cache mechanism. Upon resolving a formatter (summary or synthetic), LLDB remembers the resolution for later faster retrieval.
Also moved the data formatters subsystem from the core to its own group and folder for easier management, and done some code reorganization.
The ObjC runtime v1 now returns a class name if asked for the dynamic type of an object. This is required for formatters caching to work with the v1 runtime.
Lastly, this commit disposes of the old hack where ValueObjects had to remember whether they were queried for formatters with their static or dynamic type.
Now the ValueObjectDynamicValue class works well enough that we can use its dynamic value setting for the same purpose.




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/DataFormatters/FormatManager.cpp