[Lldb-commits] [lldb] r197775 - Fixed the AST importer to ensure that base classes
Sean Callanan
scallanan at apple.com
Thu Dec 19 20:09:06 PST 2013
Author: spyffe
Date: Thu Dec 19 22:09:05 2013
New Revision: 197775
URL: http://llvm.org/viewvc/llvm-project?rev=197775&view=rev
Log:
Fixed the AST importer to ensure that base classes
of Objective-C classes are completed, and that
variables of Objective-C types have their types
completed when the variables are reported.
This fixes a long-standing issue where ivars did
not show up correctly on 32-bit OS X.
<rdar://problem/12184093>
Modified:
lldb/trunk/source/Expression/ClangASTSource.cpp
lldb/trunk/source/Expression/ClangExpressionDeclMap.cpp
Modified: lldb/trunk/source/Expression/ClangASTSource.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/ClangASTSource.cpp?rev=197775&r1=197774&r2=197775&view=diff
==============================================================================
--- lldb/trunk/source/Expression/ClangASTSource.cpp (original)
+++ lldb/trunk/source/Expression/ClangASTSource.cpp Thu Dec 19 22:09:05 2013
@@ -318,6 +318,10 @@ ClangASTSource::CompleteType (clang::Obj
m_ast_importer->CompleteObjCInterfaceDecl (interface_decl);
+ if (interface_decl->getSuperClass() &&
+ interface_decl->getSuperClass() != interface_decl)
+ CompleteType(interface_decl->getSuperClass());
+
if (log)
{
log->Printf(" [COID] After:");
Modified: lldb/trunk/source/Expression/ClangExpressionDeclMap.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/ClangExpressionDeclMap.cpp?rev=197775&r1=197774&r2=197775&view=diff
==============================================================================
--- lldb/trunk/source/Expression/ClangExpressionDeclMap.cpp (original)
+++ lldb/trunk/source/Expression/ClangExpressionDeclMap.cpp Thu Dec 19 22:09:05 2013
@@ -1605,6 +1605,8 @@ ClangExpressionDeclMap::AddOneVariable (
{
if (const TagType *tag_type = dyn_cast<TagType>(parser_type))
CompleteType(tag_type->getDecl());
+ if (const ObjCObjectPointerType *objc_object_ptr_type = dyn_cast<ObjCObjectPointerType>(parser_type))
+ CompleteType(objc_object_ptr_type->getInterfaceDecl());
}
More information about the lldb-commits
mailing list