diff options
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; |