Conjured symbols now bind to Stmt* instead of Expr*.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59154 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang/Analysis/PathSensitive/SymbolManager.h b/include/clang/Analysis/PathSensitive/SymbolManager.h
index e4ccbf0..66f214e 100644
--- a/include/clang/Analysis/PathSensitive/SymbolManager.h
+++ b/include/clang/Analysis/PathSensitive/SymbolManager.h
@@ -166,30 +166,29 @@
};
class SymbolConjured : public SymbolData {
- Expr* E;
+ Stmt* S;
QualType T;
unsigned Count;
public:
- SymbolConjured(SymbolID Sym, Expr* exp, QualType t, unsigned count)
- : SymbolData(ConjuredKind, Sym), E(exp), T(t), Count(count) {}
+ SymbolConjured(SymbolID Sym, Stmt* s, QualType t, unsigned count)
+ : SymbolData(ConjuredKind, Sym), S(s), T(t), Count(count) {}
- Expr* getExpr() const { return E; }
- unsigned getCount() const { return Count; }
-
+ Stmt* getStmt() const { return S; }
+ unsigned getCount() const { return Count; }
QualType getType() const { return T; }
static void Profile(llvm::FoldingSetNodeID& profile,
- Expr* E, QualType T, unsigned Count) {
+ Stmt* S, QualType T, unsigned Count) {
profile.AddInteger((unsigned) ConjuredKind);
- profile.AddPointer(E);
+ profile.AddPointer(S);
profile.Add(T);
profile.AddInteger(Count);
}
virtual void Profile(llvm::FoldingSetNodeID& profile) {
- Profile(profile, E, T, Count);
+ Profile(profile, S, T, Count);
}
// Implement isa<T> support.
@@ -247,7 +246,7 @@
SymbolID getSymbol(VarDecl* D);
SymbolID getContentsOfSymbol(SymbolID sym);
- SymbolID getConjuredSymbol(Expr* E, QualType T, unsigned VisitCount);
+ SymbolID getConjuredSymbol(Stmt* E, QualType T, unsigned VisitCount);
SymbolID getConjuredSymbol(Expr* E, unsigned VisitCount) {
return getConjuredSymbol(E, E->getType(), VisitCount);
}
diff --git a/lib/Analysis/SymbolManager.cpp b/lib/Analysis/SymbolManager.cpp
index 24d2ed7..7829e3a 100644
--- a/lib/Analysis/SymbolManager.cpp
+++ b/lib/Analysis/SymbolManager.cpp
@@ -73,7 +73,7 @@
return SymbolCounter++;
}
-SymbolID SymbolManager::getConjuredSymbol(Expr* E, QualType T, unsigned Count) {
+SymbolID SymbolManager::getConjuredSymbol(Stmt* E, QualType T, unsigned Count) {
llvm::FoldingSetNodeID profile;
SymbolConjured::Profile(profile, E, T, Count);