summaryrefslogtreecommitdiffstats
path: root/lldb/source/DataFormatters/FormatCache.cpp
Commit message (Collapse)AuthorAgeFilesLines
* remove use of Mutex in favour of std::{,recursive_}mutexSaleem Abdulrasool2016-05-181-13/+15
| | | | | | | | | | This is a pretty straightforward first pass over removing a number of uses of Mutex in favor of std::mutex or std::recursive_mutex. The problem is that there are interfaces which take Mutex::Locker & to lock internal locks. This patch cleans up most of the easy cases. The only non-trivial change is in CommandObjectTarget.cpp where a Mutex::Locker was split into two. llvm-svn: 269877
* Fix a typo in FormatCache.cpp such that the cache would potentially return ↵Enrico Granata2016-02-181-1/+1
| | | | | | an invalid format in some cases llvm-svn: 261246
* 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
* Introduce the notion of a "type validator" formatterEnrico Granata2014-09-051-5/+71
| | | | | | | | | | Type Validators have the purpose of looking at a ValueObject, and making sure that there is nothing semantically wrong about the object's contents For instance, if you have a class that represents a speed, the validator might trigger if the speed value is greater than the speed of light This first patch hooks up the moving parts in the formatters subsystem, but does not link ValueObjects to TypeValidators, nor lets the SB API be exposed to validators It also lacks the notion of Python validators llvm-svn: 217277
* This is the last piece of work for "formats in categories": we now cache ↵Enrico Granata2013-10-171-1/+63
| | | | | | formats as well as summaries and synthetics llvm-svn: 192928
* Fix clang warnings related to python macro redefinition and printf format ↵Matt Kopec2013-02-211-0/+2
| | | | | | specifiers. llvm-svn: 175829
* Fix GCC 4.6 build by avoiding delegating ctorsDaniel Malea2013-02-061-3/+7
| | | | | | Patch by Abid Hafiz! llvm-svn: 174519
* Fix build problems with libstdc++ 4.6/4.7Daniel Malea2013-01-301-2/+2
| | | | | | - remove nullptr from initialization of shared_ptrs llvm-svn: 173870
* <rdar://problem/12978143>Enrico Granata2013-01-281-0/+163
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