ping...
-------- Original Message -------- Subject: Compare two DeclGroupRefs Date: Mon, 16 Jul 2012 10:01:22 +0200 From: Vassil Vassilev <[email protected]> To: [email protected] <[email protected]> Hello devs, I need to compare two clang::DeclGroupRefs. Could somebody have a look into that patch and see whether I am doing it right? Thanks a lot! Vassil Index: ../clang/include/clang/AST/DeclGroup.h =================================================================== --- ../clang/include/clang/AST/DeclGroup.h (revision 160041) +++ ../clang/include/clang/AST/DeclGroup.h (working copy) @@ -128,6 +128,29 @@ X.D = static_cast<Decl*>(Ptr); return X; } + + /// operator== - Determine whether the specified DeclGroupRefs are identical. + /// + friend bool operator==(const DeclGroupRef LHS, const DeclGroupRef RHS) { + if (LHS.D == RHS.D) { + if (LHS.isSingleDecl() && RHS.isSingleDecl()) + return true; + + if (LHS.isDeclGroup() && RHS.isDeclGroup()){ + const DeclGroup &LDG = LHS.getDeclGroup(); + const DeclGroup &RDG = RHS.getDeclGroup(); + if (LDG.size() != RDG.size()) + return false; + + for (size_t i = 0; i < LDG.size(); ++i) + if (LDG[i] != RDG[i]) + return false; + + return true; + } + } + return false; + } }; } // end clang namespace
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
