aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Analysis/Support/ExprDeclBitVector.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/Analysis/Support/ExprDeclBitVector.h')
-rw-r--r--include/clang/Analysis/Support/ExprDeclBitVector.h25
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;