summaryrefslogtreecommitdiffstats
path: root/lldb/source/DataFormatters/Cocoa.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Huge change to clean up types.Greg Clayton2013-07-111-7/+4
| | | | | | | | A long time ago we start with clang types that were created by the symbol files and there were many functions in lldb_private::ClangASTContext that helped. Later we create ClangASTType which contains a clang::ASTContext and an opauque QualType, but we didn't switch over to fully using it. There were a lot of places where we would pass around a raw clang_type_t and also pass along a clang::ASTContext separately. This left room for error. This checkin change all type code over to use ClangASTType everywhere and I cleaned up the interfaces quite a bit. Any code that was in ClangASTContext that was type related, was moved over into ClangASTType. All code that used these types was switched over to use all of the new goodness. llvm-svn: 186130
* Fix various build warnings.Matt Kopec2013-06-031-1/+3
| | | | llvm-svn: 183140
* Fixed a few obvious errors pointed out by the static analyzer.Jim Ingham2013-05-151-1/+1
| | | | llvm-svn: 181911
* Changes to the ObjC runtimeEnrico Granata2013-04-241-1/+4
| | | | llvm-svn: 180199
* Closing parentheses is good - doing it while respecting printf format ↵Enrico Granata2013-04-231-1/+1
| | | | | | specifiers is even better llvm-svn: 180156
* Closing parentheses once they are open is a good ideaEnrico Granata2013-04-231-1/+1
| | | | llvm-svn: 180142
* <rdar://problem/13563628>Enrico Granata2013-04-051-8/+5
| | | | | | | | | | Introducing a negative cache for ObjCLanguageRuntime::LookupInCompleteClassCache() This helps speed up the (common) case of us looking for classes that are hidden deep within Cocoa internals and repeatedly failing at finding type information for them. In order for this to work, we need to clean this cache whenever debug information is added. A new symbols loaded event is added that is triggered with add-dsym (before modules loaded would be triggered for both adding modules and adding symbols). Interested parties can register for this event. Internally, we make sure to clean the negative cache whenever symbols are added. Lastly, ClassDescriptor::IsTagged() has been refactored to GetTaggedPointerInfo() that also (optionally) returns info and value bits. In this way, data formatters can share tagged pointer code instead of duplicating the required arithmetic. llvm-svn: 178897
* Data formatters cleanup:Enrico Granata2013-03-261-1/+1
| | | | | | | | | | - Making an error message more consistent - Ensuring the element size is not zero before using it in a modulus - Properly using target settings to cap the std::list element count - Removing spurious element size calculations that were unused - Removing spurious capping in std::map llvm-svn: 178057
* Cleanup to the ObjC runtime to remove the now useless ClassDescriptor_InvalidEnrico Granata2013-03-201-1/+2
| | | | llvm-svn: 177558
* The formatters for std::shared_ptr, std::weak_ptr, std::list, std::vector ↵Enrico Granata2013-03-191-0/+565
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
OpenPOWER on IntegriCloud