Move all factory methods from SVal to ValueManager. API cleanup!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73954 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/ValueManager.cpp b/lib/Analysis/ValueManager.cpp
index 1a6e1e4..724a2e9 100644
--- a/lib/Analysis/ValueManager.cpp
+++ b/lib/Analysis/ValueManager.cpp
@@ -24,32 +24,20 @@
 
 SVal ValueManager::makeZeroVal(QualType T) {
   if (Loc::IsLocType(T))
-    return Loc::MakeNull(BasicVals);
+    return makeNull();
 
   if (T->isIntegerType())
-    return NonLoc::MakeVal(BasicVals, 0, T);
+    return makeIntVal(0, T);
   
   // FIXME: Handle floats.
   // FIXME: Handle structs.
   return UnknownVal();  
 }
 
-SVal ValueManager::makeZeroArrayIndex() {
-  return nonloc::ConcreteInt(BasicVals.getZeroWithPtrWidth(false));
-}
-
 //===----------------------------------------------------------------------===//
 // Utility methods for constructing Non-Locs.
 //===----------------------------------------------------------------------===//
 
-NonLoc ValueManager::makeNonLoc(SymbolRef sym) {
-  return nonloc::SymbolVal(sym);
-}
-
-NonLoc ValueManager::makeIntVal(const APSInt& V) {
-  return nonloc::ConcreteInt(BasicVals.getValue(V));
-}
-
 NonLoc ValueManager::makeNonLoc(const SymExpr *lhs, BinaryOperator::Opcode op,
                                 const APSInt& v, QualType T) {
   // The Environment ensures we always get a persistent APSInt in
@@ -66,9 +54,6 @@
   return nonloc::SymExprVal(SymMgr.getSymSymExpr(lhs, op, rhs, T));
 }
 
-NonLoc ValueManager::makeTruthVal(bool b, QualType T) {
-  return nonloc::ConcreteInt(BasicVals.getTruthValue(b, T));
-}
 
 SVal ValueManager::getRegionValueSymbolVal(const MemRegion* R, QualType T) {
   SymbolRef sym = SymMgr.getRegionValueSymbol(R, T);
@@ -80,15 +65,15 @@
     // If T is of function pointer type, create a CodeTextRegion wrapping a
     // symbol.
     if (T->isFunctionPointerType()) {
-      return Loc::MakeVal(MemMgr.getCodeTextRegion(sym, T));
+      return loc::MemRegionVal(MemMgr.getCodeTextRegion(sym, T));
     }
     
     if (Loc::IsLocType(T))
-      return Loc::MakeVal(MemMgr.getSymbolicRegion(sym));
+      return loc::MemRegionVal(MemMgr.getSymbolicRegion(sym));
   
     // Only handle integers for now.
     if (T->isIntegerType() && T->isScalarType())
-      return makeNonLoc(sym);
+      return nonloc::SymbolVal(sym);
   }
 
   return UnknownVal();
@@ -101,14 +86,14 @@
   // If T is of function pointer type, create a CodeTextRegion wrapping a
   // symbol.
   if (T->isFunctionPointerType()) {
-    return Loc::MakeVal(MemMgr.getCodeTextRegion(sym, T));
+    return loc::MemRegionVal(MemMgr.getCodeTextRegion(sym, T));
   }
 
   if (Loc::IsLocType(T))
-    return Loc::MakeVal(MemMgr.getSymbolicRegion(sym));
+    return loc::MemRegionVal(MemMgr.getSymbolicRegion(sym));
 
   if (T->isIntegerType() && T->isScalarType())
-    return makeNonLoc(sym);
+    return nonloc::SymbolVal(sym);
 
   return UnknownVal();
 }
@@ -121,14 +106,14 @@
   // If T is of function pointer type, create a CodeTextRegion wrapping a
   // symbol.
   if (T->isFunctionPointerType()) {
-    return Loc::MakeVal(MemMgr.getCodeTextRegion(sym, T));
+    return loc::MemRegionVal(MemMgr.getCodeTextRegion(sym, T));
   }
 
   if (Loc::IsLocType(T))
-    return Loc::MakeVal(MemMgr.getSymbolicRegion(sym));
+    return loc::MemRegionVal(MemMgr.getSymbolicRegion(sym));
 
   if (T->isIntegerType() && T->isScalarType())
-    return makeNonLoc(sym);
+    return nonloc::SymbolVal(sym);
 
   return UnknownVal();
 }
@@ -138,4 +123,3 @@
     = MemMgr.getCodeTextRegion(FD, Context.getPointerType(FD->getType()));
   return loc::MemRegionVal(R);
 }
-