summaryrefslogtreecommitdiffstats
path: root/lldb/source/DataFormatters
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup to the ObjC runtime to remove the now useless ClassDescriptor_InvalidEnrico Granata2013-03-201-1/+2
| | | | llvm-svn: 177558
* Update source/DataFormatters/CMakeLists.txt to reflect actual source files.Andy Gibbs2013-03-201-0/+4
| | | | llvm-svn: 177511
* The formatters for std::shared_ptr, std::weak_ptr, std::list, std::vector ↵Enrico Granata2013-03-198-837/+1762
| | | | | | | | 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 llvm-svn: 177454
* This checkin removes the last Cocoa formatters that were implemented in ↵Enrico Granata2013-03-192-5/+132
| | | | | | 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 llvm-svn: 177366
* C++ formatters for NSTimeZone and for CFBitVectorEnrico Granata2013-03-162-7/+184
| | | | llvm-svn: 177219
* NS(Mutable)IndexSet formatter moves from Python to C++Enrico Granata2013-03-162-2/+80
| | | | llvm-svn: 177217
* Converting more data formatters to C++ - NSBundle, CFBinaryHeap, NSMachPort ↵Enrico Granata2013-03-162-7/+166
| | | | | | and NSNotification llvm-svn: 177213
* Porting the Objective-C Class data type’s summary from Python to C++Enrico Granata2013-03-152-1/+27
| | | | llvm-svn: 177172
* Moving CFBag and NSBundle summaries from Python to C++Enrico Granata2013-03-154-12/+124
| | | | | | Temporarily disabled non-code-running summaries for CF*Dictionary and NSCountedSet llvm-svn: 177171
* Optimization of the code-running NSDictionary formatter to skip runtime ↵Enrico Granata2013-02-251-4/+2
| | | | | | symbol fetching llvm-svn: 176041
* If we crash while making a Python summary, the crash info will tell us more ↵Enrico Granata2013-02-221-0/+9
| | | | | | about it llvm-svn: 175915
* The summary for const char* was not cascading.Enrico Granata2013-02-221-1/+1
| | | | | | This was preventing us from providing a summary for the result of std::string.c_str() with libc++ llvm-svn: 175841
* Fix clang warnings related to python macro redefinition and printf format ↵Matt Kopec2013-02-2111-0/+22
| | | | | | specifiers. llvm-svn: 175829
* Update CMake lists of sources to include files added in r175787 and r175323Daniel Malea2013-02-211-0/+5
| | | | llvm-svn: 175797
* Adding CMake build system to LLDB. Some known issues remain:Daniel Malea2013-02-211-0/+14
| | | | | | | | | | | | | | - generate-vers.pl has to be called by cmake to generate the version number - parallel builds not yet supported; dependency on clang must be explicitly specified Tested on Linux. - Building on Mac will require code-signing logic to be implemented. - Building on Windows will require OS-detection logic and some selective directory inclusion Thanks to Carlo Kok (who originally prepared these CMakefiles for Windows) and Ben Langmuir who ported them to Linux! llvm-svn: 175795
* Cleanup of the NSString data formatterEnrico Granata2013-02-211-37/+46
| | | | llvm-svn: 175792
* <rdar://problem/4529976>Enrico Granata2013-02-217-324/+689
| | | | | | | 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 llvm-svn: 175787
* Fixing the lack of a space in an expression that was causing sheer unhappiness.Enrico Granata2013-02-191-1/+1
| | | | llvm-svn: 175478
* <rdar://problem/12529957>Enrico Granata2013-02-182-8/+344
| | | | | | Synthetic children provider for NSSet llvm-svn: 175468
* NSSet formatter is now C++ codeEnrico Granata2013-02-155-902/+1055
| | | | | | | | 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 llvm-svn: 175323
* Only enable RTTI for cxa_demangle.cppFilipe Cabecinhas2013-02-151-11/+0
| | | | | | | If testing on Linux+clang proves it needs RTTI, wa can remove the conditionals. llvm-svn: 175242
* <rdar://problem/13204647>Enrico Granata2013-02-152-11/+23
| | | | | | | | 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. llvm-svn: 175227
* Fixing a logic flaw with NSURL summary. This was caught by running the test ↵Enrico Granata2013-02-081-3/+3
| | | | | | suite in 32bit mode llvm-svn: 174778
* Fixed a store to data that isn't needed and that also could end up writing ↵Greg Clayton2013-02-081-2/+1
| | | | | | beyond the end of the buffer. This was found by the address sanitizer. llvm-svn: 174755
* This checkin implements the data formatter for NSURL in C++ codeEnrico Granata2013-02-082-2/+92
| | | | llvm-svn: 174735
* <rdar://problem/12898191>Enrico Granata2013-02-082-2/+36
| | | | | | | Added a summary for NSMutableAttributedString In the process, converted formatters for other NSString-based classes over to C++ code llvm-svn: 174693
* Fix GCC 4.6 build by avoiding delegating ctorsDaniel Malea2013-02-061-3/+7
| | | | | | Patch by Abid Hafiz! llvm-svn: 174519
* <rdar://problem/12953018>Enrico Granata2013-02-042-1/+327
| | | | | | | | 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 llvm-svn: 174333
* Making sure a Pythonless build of LLDB works by #ifdef-ing out formatters code.Enrico Granata2013-01-311-0/+2
| | | | llvm-svn: 174074
* llvm/Basic/ConvertUTF.h now exposes all functions without macro tricksDmitri Gribenko2013-01-301-2/+0
| | | | llvm-svn: 173937
* UTF conversion routines were moved from clang/Basic to llvm/SupportDmitri Gribenko2013-01-301-1/+1
| | | | llvm-svn: 173935
* Fix build problems with libstdc++ 4.6/4.7Daniel Malea2013-01-301-2/+2
| | | | | | - remove nullptr from initialization of shared_ptrs llvm-svn: 173870
* Continuing the fix for the r173732 fix. Now lldb gets built with Makefiles ↵Filipe Cabecinhas2013-01-301-1/+1
| | | | | | (Darwin). llvm-svn: 173864
* Adding a Makefile. Hopefully that will make the Linux buildbot happyEnrico Granata2013-01-291-0/+25
| | | | llvm-svn: 173732
* <rdar://problem/12978143>Enrico Granata2013-01-2810-0/+4378
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. llvm-svn: 173728
OpenPOWER on IntegriCloud