Refactor 'PostStmt' and 'PreStmt' to subclass a common parent 'StmtPoint'.

Educate GRExprEngine::VisitGraph() about 'PreStmt'.

Mark the constructor of 'PostStmt' to be explicit, preventing implicit
conversions and the selection of the wrong 'generateNode' method in
GRStmtNodeBuilder.

Constify a bunch of arguments, which falls out of the changes to ProgramPoint.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76809 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/BugReporterVisitors.cpp b/lib/Analysis/BugReporterVisitors.cpp
index 7096f66..2efa4c6 100644
--- a/lib/Analysis/BugReporterVisitors.cpp
+++ b/lib/Analysis/BugReporterVisitors.cpp
@@ -200,7 +200,7 @@
     }
     
     // FIXME: Refactor this into BugReporterContext.
-    Stmt *S = 0;      
+    const Stmt *S = 0;      
     ProgramPoint P = N->getLocation();
     
     if (BlockEdge *BE = dyn_cast<BlockEdge>(&P)) {
@@ -266,7 +266,7 @@
         return NULL;
       
       // FIXME: Refactor this into BugReporterContext.
-      Stmt *S = 0;      
+      const Stmt *S = 0;      
       ProgramPoint P = N->getLocation();
       
       if (BlockEdge *BE = dyn_cast<BlockEdge>(&P)) {