]> granicus.if.org Git - clang/commitdiff
[analyzer] Add a helper method.
authorAnna Zaks <ganna@apple.com>
Thu, 17 Nov 2011 22:57:01 +0000 (22:57 +0000)
committerAnna Zaks <ganna@apple.com>
Thu, 17 Nov 2011 22:57:01 +0000 (22:57 +0000)
Naming could be improved.. But we should first rename the classes in the SVal hierarchy.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144927 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
lib/StaticAnalyzer/Core/SVals.cpp

index 6c9c9576ba38a1921f746f8dfd0c90c32d4e7c2a..be1b9cecca8975365404a500ad11b7b91fdb53b2 100644 (file)
@@ -136,6 +136,8 @@ public:
   ///  return that expression.  Otherwise return NULL.
   const SymExpr *getAsSymbolicExpression() const;
 
+  const SymExpr* getAsSymExpr() const;
+
   const MemRegion *getAsRegion() const;
 
   void dumpToStream(raw_ostream &OS) const;
index 309b6ea4242aabd6c723a518c00c5fefa06f9e33..52e52d6d59db44362252814bd39051de227b2b34 100644 (file)
@@ -114,6 +114,13 @@ const SymExpr *SVal::getAsSymbolicExpression() const {
   return getAsSymbol();
 }
 
+const SymExpr* SVal::getAsSymExpr() const {
+  const SymExpr* Sym = getAsSymbol();
+  if (!Sym)
+    Sym = getAsSymbolicExpression();
+  return Sym;
+}
+
 const MemRegion *SVal::getAsRegion() const {
   if (const loc::MemRegionVal *X = dyn_cast<loc::MemRegionVal>(this))
     return X->getRegion();