Author: kremenek
Date: Mon Oct  6 13:35:55 2008
New Revision: 57186

URL: http://llvm.org/viewvc/llvm-project?rev=57186&view=rev
Log:
Add const_decl_iterator to DecStmt.

Modified:
    cfe/trunk/include/clang/AST/Stmt.h

Modified: cfe/trunk/include/clang/AST/Stmt.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Stmt.h?rev=57186&r1=57185&r2=57186&view=diff

==============================================================================
--- cfe/trunk/include/clang/AST/Stmt.h (original)
+++ cfe/trunk/include/clang/AST/Stmt.h Mon Oct  6 13:35:55 2008
@@ -180,6 +180,29 @@
   virtual decl_iterator decl_begin() { return TheDecl; }
   virtual decl_iterator decl_end() { return 0; }
   
+  class const_decl_iterator {
+    decl_iterator Impl;
+  public:
+    const_decl_iterator(const ScopedDecl *d)
+      : Impl(const_cast<ScopedDecl*>(d)) {}
+    
+    bool operator==(const const_decl_iterator& I) const {
+      return Impl == I.Impl;
+    }
+    bool operator!=(const const_decl_iterator& I) const {
+      return Impl != I.Impl;
+    }
+    const ScopedDecl* operator*() const {
+      return *Impl;
+    }
+    const_decl_iterator& operator++() {
+      ++Impl; return *this;
+    }
+  };
+  
+  const_decl_iterator decl_begin() const { return TheDecl; }
+  const_decl_iterator decl_end() const { return 0; }
+  
   // Serialization.  
   virtual void EmitImpl(llvm::Serializer& S) const;
   static DeclStmt* CreateImpl(llvm::Deserializer& D, ASTContext& C);


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to