Convert use of loc::SymbolVal and nonloc::SymbolVal to V.getAsSymbol(). This

also makes this code more correct as it transparently handles SVals that wrapped
TypedViewRegions(SymbolicRegions).

llvm-svn: 68048
This commit is contained in:
Ted Kremenek 2009-03-30 18:39:15 +00:00
parent 7a78f3abd3
commit a53eb7fa80
1 changed files with 4 additions and 11 deletions

View File

@ -537,18 +537,11 @@ public:
PathDiagnostic& pd, BugReporter& br)
: Sym(sym), PrevSt(prevst), S(s), VMgr(vmgr), Pred(pred), PD(pd), BR(br) {}
bool HandleBinding(StoreManager& SMgr, Store store,
const MemRegion* R, SVal V) {
bool HandleBinding(StoreManager& SMgr, Store store, const MemRegion* R,
SVal V) {
SymbolRef ScanSym = V.getAsSymbol();
SymbolRef ScanSym = 0;
if (loc::SymbolVal* SV = dyn_cast<loc::SymbolVal>(&V))
ScanSym = SV->getSymbol();
else if (nonloc::SymbolVal* SV = dyn_cast<nonloc::SymbolVal>(&V))
ScanSym = SV->getSymbol();
else
return true;
if (ScanSym != Sym)
return true;