llvm-project/lldb/source/DataFormatters
Enrico Granata 1cd5e921e1 Preparatory infrastructural work to support dynamically determining sizes of ObjC types via the runtime
This is necessary because the byte size of an ObjC class type is not reliably statically knowable (e.g. because superclasses sit deep in frameworks that we have no debug info for)
The lack of reliable size info is a problem when trying to freeze-dry an ObjC instance (not the pointer, the pointee)

This commit lays the foundation for having language runtimes help in figuring out byte sizes, and having ClangASTType ask for runtime help
No feature change as no runtime actually implements the logic, and nowhere is an ExecutionContext passed in yet

llvm-svn: 227274
2015-01-28 00:07:51 +00:00
..
CF.cpp This is a large, but clearical, commit that enables the C++ formatters to 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 2014-11-06 21:55:30 +00:00
CMakeLists.txt Fix CMake build, adding StringPrinter.cpp from r220894 2014-10-30 14:50:42 +00:00
CXXFormatterFunctions.cpp Preparatory infrastructural work to support dynamically determining sizes of ObjC types via the runtime 2015-01-28 00:07:51 +00:00
Cocoa.cpp This is a large, but clearical, commit that enables the C++ formatters to 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 2014-11-06 21:55:30 +00:00
DataVisualization.cpp Issuing a "type category disable *" command followed by a "type category enable *" command does not honor the order in which categories were previously enabled 2014-10-03 01:48:32 +00:00
FormatCache.cpp Introduce the notion of a "type validator" formatter 2014-09-05 20:45:07 +00:00
FormatClasses.cpp <rdar://problem/15530080> 2013-11-22 00:02:13 +00:00
FormatManager.cpp Remove the last vestige of the world before data formatters :-) 2014-12-10 02:00:45 +00:00
LibCxx.cpp Preparatory infrastructural work to support dynamically determining sizes of ObjC types via the runtime 2015-01-28 00:07:51 +00:00
LibCxxInitializerList.cpp Preparatory infrastructural work to support dynamically determining sizes of ObjC types via the runtime 2015-01-28 00:07:51 +00:00
LibCxxList.cpp This patch does a few things: 2014-12-09 19:51:20 +00:00
LibCxxMap.cpp Improve the performance of the libc++ std::map formatter. This is not the full solution to the slowness of this formatter, but it's a 5% improvement in our testcase performance, which I am not going to complain too hard about. 2014-12-16 21:28:16 +00:00
LibCxxUnorderedMap.cpp Reorganize some of the data formatters code to simplify CXXFormattersFunction.h. Also, add a synthetic child provider for libc++'s version of std::initializer_list<T> 2014-10-22 20:34:38 +00:00
LibCxxVector.cpp Preparatory infrastructural work to support dynamically determining sizes of ObjC types via the runtime 2015-01-28 00:07:51 +00:00
LibStdcpp.cpp This patch does a few things: 2014-12-09 19:51:20 +00:00
Makefile Only enable RTTI for cxa_demangle.cpp 2013-02-15 02:36:40 +00:00
NSArray.cpp This patch does a few things: 2014-12-09 19:51:20 +00:00
NSDictionary.cpp This patch does a few things: 2014-12-09 19:51:20 +00:00
NSIndexPath.cpp Change auto to size_t to fix warning. 2015-01-09 20:15:03 +00:00
NSSet.cpp This patch does a few things: 2014-12-09 19:51:20 +00:00
StringPrinter.cpp Fix trivial signed/unsigned comparison warnings 2014-12-29 13:03:19 +00:00
TypeCategory.cpp Issuing a "type category disable *" command followed by a "type category enable *" command does not honor the order in which categories were previously enabled 2014-10-03 01:48:32 +00:00
TypeCategoryMap.cpp The type category enable * was implemented assuming a previous disable * had happened. While that will most likely be true in practice, the consequences of this not being the case will be a crash. I fix the crash by doing two things: 1) don't let already-enabled categories be enabled anyway; 2) if a category were disabled but with a bogus last-enabled position - highly highly unlikely - just put it in the first empty slot. I am not so sure 2) is bulletproof perfect, but I also don't think 2) will practically ever happen 2014-10-07 22:15:27 +00:00
TypeFormat.cpp Expose the type-info flags at the public API layer. These flags provide much more informational content to consumers of the LLDB API than the existing TypeClass. Part of the fix for rdar://18517593 2014-10-21 20:52:14 +00:00
TypeSummary.cpp Enable Python summaries to use custom SBTypeSummaryOptions if the user is so inclined. Updates to the webdoc will follow 2014-11-22 00:02:47 +00:00
TypeSynthetic.cpp Commit fix for a static analyzer issue where a string pointer could theoretically be NULL.. 2015-01-17 02:46:20 +00:00
TypeValidator.cpp Fix the ctor ivar initialization formatting for Debugger, 2014-09-12 01:50:46 +00:00
ValueObjectPrinter.cpp Do some cleanup of DumpValueObjectOptions. The whole concept of raw printing was split between feature-specific flags, and an m_be_raw flag, which then drove some other changes in printing behavior. Clean that up, so that each functionality has its own flag .. oh, and make the bools all go in a bitfield since I may want to add more of those over time 2014-11-21 18:47:26 +00:00