summaryrefslogtreecommitdiffstats
path: root/lldb/source/DataFormatters/LibCxxList.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move the C++ data formatters to the C++ language pluginEnrico Granata2015-09-041-370/+0
| | | | llvm-svn: 246873
* 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
* Purge a few places where *LanguageRuntime.h was being used when it Jim Ingham2015-09-031-1/+0
| | | | | | wasn't needed. llvm-svn: 246744
* Final bit of type system cleanup that abstracts declaration contexts into ↵Greg Clayton2015-08-241-1/+1
| | | | | | | | | | | | | | | | | | | | lldb_private::CompilerDeclContext and renames ClangType to CompilerType in many accessors and functions. Create a new "lldb_private::CompilerDeclContext" class that will replace all direct uses of "clang::DeclContext" when used in compiler agnostic code, yet still allow for conversion to clang::DeclContext subclasses by clang specific code. This completes the abstraction of type parsing by removing all "clang::" references from the SymbolFileDWARF. The new "lldb_private::CompilerDeclContext" class abstracts decl contexts found in compiler type systems so they can be used in internal API calls. The TypeSystem is required to support CompilerDeclContexts with new pure virtual functions that start with "DeclContext" in the member function names. Converted all code that used lldb_private::ClangNamespaceDecl over to use the new CompilerDeclContext class and removed the ClangNamespaceDecl.cpp and ClangNamespaceDecl.h files. Removed direct use of clang APIs from SBType and now use the abstract type systems to correctly explore types. Bulk renames for things that used to return a ClangASTType which is now CompilerType: "Type::GetClangFullType()" to "Type::GetFullCompilerType()" "Type::GetClangLayoutType()" to "Type::GetLayoutCompilerType()" "Type::GetClangForwardType()" to "Type::GetForwardCompilerType()" "Value::GetClangType()" to "Value::GetCompilerType()" "Value::SetClangType (const CompilerType &)" to "Value::SetCompilerType (const CompilerType &)" "ValueObject::GetClangType ()" to "ValueObject::GetCompilerType()" many more renames that are similar. llvm-svn: 245905
* Convert GetNumTemplateArguments() and GetTemplateArgument() to be instance ↵Enrico Granata2015-08-131-2/+2
| | | | | | functions on the CompilerType and the TypeSystem llvm-svn: 244846
* ClangASTType is now CompilerType.Greg Clayton2015-08-111-2/+2
| | | | | | 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-2/+2
| | | | | | | | 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
* Fix a bug where the std::list synthetic child provider would not clean its ↵Enrico Granata2015-07-281-0/+1
| | | | | | | | cache correctly on update, causing stale children to be returned in some circumstances Fixes rdar://20560680 llvm-svn: 243472
* Revert "Introduce a TypeSystem interface to support adding non-clang languages."Pavel Labath2015-06-081-2/+2
| | | | | | 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-2/+2
| | | | | | | | | | | | | 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-1/+1
| | | | | | | | | | - 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 was meant to be count, not m_countEnrico Granata2014-11-071-1/+1
| | | | llvm-svn: 221541
* Reorganize some of the data formatters code to simplify ↵Enrico Granata2014-10-221-0/+41
| | | | | | CXXFormattersFunction.h. Also, add a synthetic child provider for libc++'s version of std::initializer_list<T> llvm-svn: 220421
* Enhance the libc++ list data formatter so that it does not start looking for ↵Enrico Granata2014-10-091-7/+11
| | | | | | loops until asked to actually fetch children. Also, if you're going to read child X, only look for a loop in the first X nodes. Loops further down the road won't really matter. This should speed things up for large lists and fix rdar://18583790 llvm-svn: 219447
* Fix Windows build using portable types for formatting the log outputsDeepak Panickal2014-03-031-1/+1
| | | | llvm-svn: 202723
* Better error reporting when a variable can't beSean Callanan2014-02-281-1/+5
| | | | | | | | | | | read during materialization. First of all, report if we can't read the data for some reason. Second, consult the ValueObject's error and report that if there's some problem. <rdar://problem/16074201> llvm-svn: 202552
* <rdar://problem/15593026>Enrico Granata2014-02-251-18/+30
| | | | | | Fix the algorithm used to detect a loop in a std::list llvm-svn: 202205
* Huge change to clean up types.Greg Clayton2013-07-111-8/+6
| | | | | | | | 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-0/+2
| | | | llvm-svn: 183140
* Much better way to get at the size of an std::listEnrico Granata2013-04-221-18/+36
| | | | llvm-svn: 180071
* Data formatters cleanup:Enrico Granata2013-03-261-3/+7
| | | | | | | | | | - 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
* The formatters for std::shared_ptr, std::weak_ptr, std::list, std::vector ↵Enrico Granata2013-03-191-0/+288
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