diff options
author | Enrico Granata <egranata@apple.com> | 2013-10-29 00:28:35 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2013-10-29 00:28:35 +0000 |
commit | dc4db5a6ebcdee39e0816e9ac7ae7ac480ab14fc (patch) | |
tree | bf1cf0f68b3941a46161204fd06a009a9bbc0ebc /lldb/source/API/SBTarget.cpp | |
parent | 330b8939bb6f4a37753974504ad24e1587761225 (diff) | |
download | bcm5719-llvm-dc4db5a6ebcdee39e0816e9ac7ae7ac480ab14fc.tar.gz bcm5719-llvm-dc4db5a6ebcdee39e0816e9ac7ae7ac480ab14fc.zip |
<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
Diffstat (limited to 'lldb/source/API/SBTarget.cpp')
-rw-r--r-- | lldb/source/API/SBTarget.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lldb/source/API/SBTarget.cpp b/lldb/source/API/SBTarget.cpp index b1f11666590..cff6e4e2de3 100644 --- a/lldb/source/API/SBTarget.cpp +++ b/lldb/source/API/SBTarget.cpp @@ -1891,7 +1891,7 @@ SBTarget::CreateValueFromAddress (const char *name, SBAddress addr, SBType type) { lldb::addr_t address(addr.GetLoadAddress(*this)); lldb::TypeImplSP type_impl_sp (type.GetSP()); - ClangASTType pointer_ast_type(type_impl_sp->GetClangASTType().GetPointerType ()); + ClangASTType pointer_ast_type(type_impl_sp->GetClangASTType(true).GetPointerType ()); if (pointer_ast_type) { lldb::DataBufferSP buffer(new lldb_private::DataBufferHeap(&address,sizeof(lldb::addr_t))); |