<rdar://problem/15144376>
authorEnrico Granata <egranata@apple.com>
Tue, 29 Oct 2013 00:28:35 +0000 (00:28 +0000)
committerEnrico Granata <egranata@apple.com>
Tue, 29 Oct 2013 00:28:35 +0000 (00:28 +0000)
commitdc4db5a6ebcdee39e0816e9ac7ae7ac480ab14fc
treebf1cf0f68b3941a46161204fd06a009a9bbc0ebc
parent330b8939bb6f4a37753974504ad24e1587761225
<rdar://problem/15144376>

This commit reimplements the TypeImpl class (the class that backs SBType) in terms of a static,dynamic type pair

This is useful for those cases when the dynamic type of an ObjC variable can only be obtained in terms of an "hollow" type with no ivars
In that case, we could either go with the static type (+iVar information) or with the dynamic type (+inheritance chain)

With the new TypeImpl implementation, we try to combine these two sources of information in order to extract as much information as possible
This should improve the functionality of tools that are using the SBType API to do extensive dynamic type inspection

llvm-svn: 193564
22 files changed:
lldb/include/lldb/Core/ValueObject.h
lldb/include/lldb/Core/ValueObjectDynamicValue.h
lldb/include/lldb/DataFormatters/FormatClasses.h
lldb/include/lldb/Symbol/ClangASTType.h
lldb/include/lldb/Symbol/Type.h
lldb/include/lldb/lldb-forward.h
lldb/source/API/SBTarget.cpp
lldb/source/API/SBType.cpp
lldb/source/API/SBTypeNameSpecifier.cpp
lldb/source/API/SBValue.cpp
lldb/source/Core/ValueObject.cpp
lldb/source/Core/ValueObjectDynamicValue.cpp
lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
lldb/source/Symbol/ClangASTType.cpp
lldb/source/Symbol/Type.cpp
lldb/test/dotest.py
lldb/test/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py
lldb/test/lang/objc/blocks/TestObjCIvarsInBlocks.py
lldb/test/lang/objc/objc-dyn-sbtype/.categories [new file with mode: 0644]
lldb/test/lang/objc/objc-dyn-sbtype/Makefile [new file with mode: 0644]
lldb/test/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py [new file with mode: 0644]
lldb/test/lang/objc/objc-dyn-sbtype/main.m [new file with mode: 0644]