summaryrefslogtreecommitdiffstats
path: root/lldb/source/DataFormatters/NSDictionary.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move Objective-C data formatters to the Objective-C language plugin where ↵Enrico Granata2015-09-141-703/+0
| | | | | | they belong llvm-svn: 247627
* Nuke CXXFormatterFunctions.cpp - split the contents of it across different ↵Enrico Granata2015-09-041-1/+2
| | | | | | | | files, so that things are better organized along the C++/ObjC line This is preparatory work for moving these formatters into language categories llvm-svn: 246827
* ClangASTType is now CompilerType.Greg Clayton2015-08-111-5/+5
| | | | | | This is more preparation for multiple different kinds of types from different compilers (clang, Pascal, Go, RenderScript, Swift, etc). llvm-svn: 244689
* First step in getting LLDB ready to support multiple different type systems.Greg Clayton2015-08-111-4/+4
| | | | | | | | This is the work done by Ryan Brown from http://reviews.llvm.org/D8712 that makes a TypeSystem class and abstracts types to be able to use a type system. All tests pass on MacOSX and passed on linux the last time this was submitted. llvm-svn: 244679
* Revert "Introduce a TypeSystem interface to support adding non-clang languages."Pavel Labath2015-06-081-4/+4
| | | | | | This seems to break expression evaluation on the linux build. llvm-svn: 239366
* Introduce a TypeSystem interface to support adding non-clang languages.Pavel Labath2015-06-081-4/+4
| | | | | | | | | | | | | Reviewers: clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8712 Original Author: Ryan Brown <ribrdb@google.com> llvm-svn: 239360
* Don't #include "lldb-python.h" from anywhere.Zachary Turner2015-05-291-2/+0
| | | | | | | | | | | | | Since interaction with the python interpreter is moving towards being more isolated, we won't be able to include this header from normal files anymore, all includes of it should be localized to the python library which will live under source/bindings/API/Python after a future patch. None of the files that were including this header actually depended on it anyway, so it was just a dead include in every single instance. llvm-svn: 238581
* This patch does a few things:Enrico Granata2014-12-091-2/+8
| | | | | | | | | | - adds a new flag to mark ValueObjects as "synthetic children generated" - vends new Create functions as part of the SyntheticChildrenFrontEnd that set the flag automatically - moves synthetic child providers over to using these new functions No visible feature change, but preparatory work for feature change llvm-svn: 223819
* This is a large, but clearical, commit that enables the C++ formatters to ↵Enrico Granata2014-11-061-3/+3
| | | | | | take on the additional TypeSummaryOptions argument. It is still not used for anything, but it is now there. Adding support for this extra argument to Python formatters will follow suit llvm-svn: 221486
* More cleanup of the CXXFormatterFunctions headerEnrico Granata2014-10-221-0/+137
| | | | llvm-svn: 220433
* Make a general helper function on the AST context to retrieve a type by ↵Enrico Granata2014-10-171-27/+11
| | | | | | identifier in the fashion needed by data formatters llvm-svn: 220059
* Rework this code so that it does not trigger a compiler warning. NFCEnrico Granata2014-10-161-9/+3
| | | | llvm-svn: 219964
* Improve the way the ObjC data formatters fetch a valid frame to use for ↵Enrico Granata2014-07-301-1/+3
| | | | | | | | | | running expressions against This is not bullet-proof, as you might end up running in a thread where you shouldn't, but the previous policy had the same drawback Also, in cases where code-running formatters were being recursively applied, the previous policy caused deeper levels to fail, whereas this will at least get such scenarios to function We might eventually want to consider disqualifying certain threads/frames for "viability", but I'd rather keep it simple until complexity is proven to be necessary llvm-svn: 214337
* Fix Windows build using portable types for formatting the log outputsDeepak Panickal2014-03-031-4/+4
| | | | llvm-svn: 202723
* This patch does a couple of things. Jim Ingham2013-11-071-1/+3
| | | | | | | | | | | | | | | | | | | | | | It completes the job of using EvaluateExpressionOptions consistently throughout the inferior function calling mechanism in lldb begun in Greg's patch r194009. It removes a handful of alternate calls into the ClangUserExpression/ClangFunction/ThreadPlanCallFunction which were there for convenience. Using the EvaluateExpressionOptions removes the need for them. Using that it gets the --debug option from Greg's patch to work cleanly. It also adds another EvaluateExpressionOption to not trap exceptions when running expressions. You shouldn't use this option unless you KNOW your expression can't throw beyond itself. This is: <rdar://problem/15374885> At present this is only available through the SB API's or python. It fixes a bug where function calls would unset the ObjC & C++ exception breakpoints without checking whether they were set by somebody else already. llvm-svn: 194182
* Huge change to clean up types.Greg Clayton2013-07-111-39/+39
| | | | | | | | 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
* <rdar://problem/13437949>Enrico Granata2013-04-231-22/+2
| | | | | | Making sure that CF*{Array|Dictionary}Ref provide synthetic children correctly. llvm-svn: 180074
* #include clang's AST/DeclCXX.h to pick up CXXRecordDecl definition,Jason Molenda2013-04-031-0/+2
| | | | | | needed for some versions of clang. llvm-svn: 178692
* <rdar://problem/13563403>Enrico Granata2013-04-031-10/+114
| | | | | | | | Reimplemented the NSDictionary synthetic children provider for added performance. Instead of generating pairs by running an expression, we now create a pair type using clang-level APIs and fill in a buffer with the pointers to key and value This strategy takes the time required to dump a 10k items __NSDictionaryM from ~45s to <4s llvm-svn: 178601
* Moving CFBag and NSBundle summaries from Python to C++Enrico Granata2013-03-151-3/+3
| | | | | | 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
* Fix clang warnings related to python macro redefinition and printf format ↵Matt Kopec2013-02-211-0/+2
| | | | | | specifiers. llvm-svn: 175829
* <rdar://problem/4529976>Enrico Granata2013-02-211-8/+0
| | | | | | | 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
* NSSet formatter is now C++ codeEnrico Granata2013-02-151-0/+501
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
OpenPOWER on IntegriCloud