]> granicus.if.org Git - clang/commitdiff
Improve XML output for class/struct/union declarations, from Martin Vejnar!
authorDouglas Gregor <dgregor@apple.com>
Fri, 8 Oct 2010 21:05:46 +0000 (21:05 +0000)
committerDouglas Gregor <dgregor@apple.com>
Fri, 8 Oct 2010 21:05:46 +0000 (21:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116103 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Frontend/DeclXML.cpp

index 3b600ffd2f41071df11196a5ba95288f20f352d3..c688ed043e87625897ddd28761da588e56168fe2 100644 (file)
@@ -38,21 +38,11 @@ class DocumentXML::DeclPrinter : public DeclVisitor<DocumentXML::DeclPrinter> {
   }
 
   void addSubNodes(RecordDecl* RD) {
-    for (RecordDecl::field_iterator i = RD->field_begin(),
-                                    e = RD->field_end(); i != e; ++i) {
-      Visit(*i);
-      Doc.toParent();
-    }
-
     for (RecordDecl::decl_iterator i = RD->decls_begin(),
                                    e = RD->decls_end(); i != e; ++i) {
-      Decl *d = *i;
-      if (isa<RecordDecl>(d)) {
-        RecordDecl* pRec = cast<RecordDecl>(d);
-        if (pRec->isDefinition()) {
-          Visit(pRec);
-          Doc.toParent();
-        }
+      if (!(*i)->isImplicit()) {
+        Visit(*i);
+        Doc.toParent();
       }
     }
   }
@@ -83,15 +73,7 @@ class DocumentXML::DeclPrinter : public DeclVisitor<DocumentXML::DeclPrinter> {
         Doc.addAttribute("is_virtual", base->isVirtual());
         Doc.toParent();
       }
-
-      for (CXXRecordDecl::method_iterator i = RD->method_begin(),
-             e = RD->method_end(); i != e; ++i) {
-        Visit(*i);
-        Doc.toParent();
-      }
-
     }
-
   }
 
   void addSubNodes(EnumDecl* ED) {