Logging improvements for the Objective-C runtime.
Also fixed a bug where the Objective-C runtime
would not properly report that it found a class if
(a) it had to build the ObjCInterfaceDecl for the
class and (b) logging was enabled.
<rdar://problem/12641180>
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167516 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp b/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
index 8aaa9e4..1ab1063 100644
--- a/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
+++ b/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
@@ -524,6 +524,9 @@
clang::ObjCMethodDecl *method_decl = method_type.BuildMethod (interface_decl, name, true);
+ if (log)
+ log->Printf("[ AOTV::FD] Instance method [%s] [%s]", name, types);
+
if (method_decl)
interface_decl->addDecl(method_decl);
};
@@ -534,10 +537,21 @@
clang::ObjCMethodDecl *method_decl = method_type.BuildMethod (interface_decl, name, false);
+ if (log)
+ log->Printf("[ AOTV::FD] Class method [%s] [%s]", name, types);
+
if (method_decl)
interface_decl->addDecl(method_decl);
};
+ if (log)
+ {
+ ASTDumper method_dumper ((clang::Decl*)interface_decl);
+
+ log->Printf("[AppleObjCTypeVendor::FinishDecl] Finishing Objective-C interface for %s", descriptor->GetClassName().AsCString());
+ }
+
+
if (!descriptor->Describe(superclass_func, instance_method_func, class_method_func))
return false;
@@ -661,8 +675,6 @@
current_id,
dumper.GetCString(),
(uint64_t)isa);
-
- break;
}
types.push_back(ClangASTType(ast_ctx, new_iface_type.getAsOpaquePtr()));