Static analyzer: Remove a bunch of outdated SymbolData objects and
their associated APIs.  We no longer need separate SymbolData objects
for fields, variables, etc.  Instead, we now associated symbols with
the "rvalue" of a MemRegion (i.e., the value stored at that region).
Now we only have two kinds of SymbolData objects: SymbolRegionRValue
and SymbolConjured.

This cleanup also makes the distinction between a SymbolicRegion and a
symbolic value that is a location much clearer.  A SymbolicRegion
represents a chunk of symbolic memory, while a symbolic location is
just a "pointer" with different possible values.  Without any specific
knowledge, a symbolic location resolves (i.e., via a dereference) to a
SymbolicRegion.  In the future, when we do better alias reasoning, a
symbolic location can become an alias for another location, thus
merging the constraints on the referred SymbolicRegion with the other
region.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62769 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/RegionStore.cpp b/lib/Analysis/RegionStore.cpp
index 3faae70..5a13a1d 100644
--- a/lib/Analysis/RegionStore.cpp
+++ b/lib/Analysis/RegionStore.cpp
@@ -552,8 +552,7 @@
   // We treat function parameters as symbolic values.
   if (const VarRegion* VR = dyn_cast<VarRegion>(R))
     if (isa<ParmVarDecl>(VR->getDecl()))
-      return SVal::MakeSymbolValue(getSymbolManager(), VR,
-                                   VR->getRValueType(getContext()));
+      return SVal::GetRValueSymbolVal(getSymbolManager(), VR);
   
   if (MRMgr.onStack(R) || MRMgr.onHeap(R)) {
     // All stack variables are considered to have undefined values
@@ -564,8 +563,7 @@
   }
 
   // All other values are symbolic.
-  return SVal::MakeSymbolValue(getSymbolManager(), R, 
-			  cast<TypedRegion>(R)->getRValueType(getContext()));
+  return SVal::GetRValueSymbolVal(getSymbolManager(), R);
 
   // FIXME: consider default values for elements and fields.
 }
@@ -603,8 +601,7 @@
       if (MRMgr.onStack(FR) || MRMgr.onHeap(FR))
         FieldValue = UndefinedVal();
       else
-        FieldValue = SVal::MakeSymbolValue(getSymbolManager(), FR,
-                                           FR->getRValueType(getContext()));
+        FieldValue = SVal::GetRValueSymbolVal(getSymbolManager(), FR);        
     }
 
     StructVal = getBasicVals().consVals(FieldValue, StructVal);