diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-03-30 18:45:36 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-03-30 18:45:36 +0000 |
commit | 380022d9072ebc3b2b1050098be6da8de4d03e0e (patch) | |
tree | a48dc3761bd69b1c18b4d09e8e6bd456d84b85e1 | |
parent | 0297ee06ad4e4770628a7bff136d17147509ec6a (diff) |
Simplify more code by using SVal::getAsSymbol() instead of
loc::SymbolVal/nonloc::SymbolVal probing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68049 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Analysis/GRState.cpp | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/lib/Analysis/GRState.cpp b/lib/Analysis/GRState.cpp index 7399ad4e22..82cb1f24c4 100644 --- a/lib/Analysis/GRState.cpp +++ b/lib/Analysis/GRState.cpp @@ -243,12 +243,9 @@ bool ScanReachableSymbols::scan(nonloc::CompoundVal val) { bool ScanReachableSymbols::scan(SVal val) { if (loc::MemRegionVal *X = dyn_cast<loc::MemRegionVal>(&val)) return scan(X->getRegion()); - - if (loc::SymbolVal *X = dyn_cast<loc::SymbolVal>(&val)) - return visitor.VisitSymbol(X->getSymbol()); - - if (nonloc::SymbolVal *X = dyn_cast<nonloc::SymbolVal>(&val)) - return visitor.VisitSymbol(X->getSymbol()); + + if (SymbolRef Sym = val.getAsSymbol()) + return visitor.VisitSymbol(Sym); if (nonloc::CompoundVal *X = dyn_cast<nonloc::CompoundVal>(&val)) return scan(*X); @@ -304,12 +301,9 @@ bool GRStateManager::isEqual(const GRState* state, Expr* Ex, if (nonloc::ConcreteInt* X = dyn_cast<nonloc::ConcreteInt>(&V)) return X->getValue() == Y; - if (nonloc::SymbolVal* X = dyn_cast<nonloc::SymbolVal>(&V)) - return ConstraintMgr->isEqual(state, X->getSymbol(), Y); - - if (loc::SymbolVal* X = dyn_cast<loc::SymbolVal>(&V)) - return ConstraintMgr->isEqual(state, X->getSymbol(), Y); - + if (SymbolRef Sym = V.getAsSymbol()) + return ConstraintMgr->isEqual(state, Sym, Y); + return false; } |