]> granicus.if.org Git - clang/commitdiff
Add fine-grain methods for control which bits are set/reset in ExprDeclBitVector.
authorTed Kremenek <kremenek@apple.com>
Tue, 11 Nov 2008 19:39:47 +0000 (19:39 +0000)
committerTed Kremenek <kremenek@apple.com>
Tue, 11 Nov 2008 19:39:47 +0000 (19:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59073 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Analysis/Support/ExprDeclBitVector.h

index 362ce161ab2ee78d65c9cc1a8cce6ba8db7b77a8..070e35754697ce57c37dedfb6fcf0de8a8fea5bf 100644 (file)
@@ -86,10 +86,19 @@ struct DeclBitVector_Types {
     llvm::BitVector DeclBV;
   public:
     
-    void resetValues(AnalysisDataTy& AD) {
+    void resetDeclValues(AnalysisDataTy& AD) {
       DeclBV.resize(AD.getNumDecls()); 
       DeclBV.reset();
     }
+
+    void setDeclValues(AnalysisDataTy& AD) {
+      DeclBV.resize(AD.getNumDecls()); 
+      DeclBV.set();
+    }
+    
+    void resetValues(AnalysisDataTy& AD) {
+      resetDeclValues(AD);
+    }    
     
     bool operator==(const ValTy& RHS) const { 
       assert (sizesEqual(RHS));
@@ -200,12 +209,22 @@ struct ExprDeclBitVector_Types {
     
   public:
     
-    void resetValues(AnalysisDataTy& AD) {
-      ParentRef(*this).resetValues(AD);
+    
+    void resetExprValues(AnalysisDataTy& AD) {
       ExprBV.resize(AD.getNumExprs());
       ExprBV.reset();
     }
     
+    void setExprValues(AnalysisDataTy& AD) {
+      ExprBV.resize(AD.getNumExprs());
+      ExprBV.set();
+    }
+    
+    void resetValues(AnalysisDataTy& AD) {
+      resetDeclValues(AD);
+      resetExprValues(AD);
+    }
+    
     bool operator==(const ValTy& RHS) const { 
       return ParentRef(*this) == ParentRef(RHS) 
           && ExprBV == RHS.ExprBV;