[Lldb-commits] [lldb] r167516 - /lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp

Sean Callanan scallanan at apple.com
Tue Nov 6 17:27:50 PST 2012


Author: spyffe
Date: Tue Nov  6 19:27:50 2012
New Revision: 167516

URL: http://llvm.org/viewvc/llvm-project?rev=167516&view=rev
Log:
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>

Modified:
    lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp

Modified: lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp?rev=167516&r1=167515&r2=167516&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp (original)
+++ lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp Tue Nov  6 19:27:50 2012
@@ -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()));





More information about the lldb-commits mailing list