Preparatory infrastructural work to support dynamically determining sizes of ObjC...
authorEnrico Granata <egranata@apple.com>
Wed, 28 Jan 2015 00:07:51 +0000 (00:07 +0000)
committerEnrico Granata <egranata@apple.com>
Wed, 28 Jan 2015 00:07:51 +0000 (00:07 +0000)
commit1cd5e921e1011a31ca1de57444b0649a921ccf33
treecd3cfcdd9c8e8afa56132e8e00f1579bb45fb9e5
parentb06fe2a704e5132b53f3826823c37caafe5dc23b
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
26 files changed:
lldb/include/lldb/Symbol/ClangASTType.h
lldb/include/lldb/Target/LanguageRuntime.h
lldb/include/lldb/Utility/ProcessStructReader.h
lldb/source/API/SBType.cpp
lldb/source/Commands/CommandObjectMemory.cpp
lldb/source/Core/Value.cpp
lldb/source/Core/ValueObject.cpp
lldb/source/Core/ValueObjectConstResult.cpp
lldb/source/Core/ValueObjectMemory.cpp
lldb/source/Core/ValueObjectVariable.cpp
lldb/source/DataFormatters/CXXFormatterFunctions.cpp
lldb/source/DataFormatters/LibCxx.cpp
lldb/source/DataFormatters/LibCxxInitializerList.cpp
lldb/source/DataFormatters/LibCxxVector.cpp
lldb/source/Expression/IRForTarget.cpp
lldb/source/Expression/Materializer.cpp
lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp
lldb/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp
lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp
lldb/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp
lldb/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.cpp
lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
lldb/source/Symbol/ClangASTContext.cpp
lldb/source/Symbol/ClangASTType.cpp
lldb/source/Symbol/Type.cpp