diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-11-11 19:39:47 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-11-11 19:39:47 +0000 |
commit | 7fdee87c203f8e9b6feed63e85256a8f8bc2bbc0 (patch) | |
tree | d744e062f59aad6c59d300e86dbbb76e0e2ee3d3 /include/clang/Analysis/Support/ExprDeclBitVector.h | |
parent | c657e92d7b44568fe39ae018a69b18cbcc4ea3b0 (diff) |
Add fine-grain methods for control which bits are set/reset in ExprDeclBitVector.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59073 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Analysis/Support/ExprDeclBitVector.h')
-rw-r--r-- | include/clang/Analysis/Support/ExprDeclBitVector.h | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/include/clang/Analysis/Support/ExprDeclBitVector.h b/include/clang/Analysis/Support/ExprDeclBitVector.h index 362ce161ab..070e357546 100644 --- a/include/clang/Analysis/Support/ExprDeclBitVector.h +++ b/include/clang/Analysis/Support/ExprDeclBitVector.h @@ -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; |