]> granicus.if.org Git - clang/commitdiff
[analyzer] Fixup for r155244: PurgeDeadSymbols should subclass StmtPoint
authorAnna Zaks <ganna@apple.com>
Mon, 7 May 2012 18:40:26 +0000 (18:40 +0000)
committerAnna Zaks <ganna@apple.com>
Mon, 7 May 2012 18:40:26 +0000 (18:40 +0000)
To solve the inconsistency pointed out in Erik's review, refactor class
hierarchy of ProgramPoints so that PreStmtPurgeDeadSymbols and
PostStmtPurgeDeadSymbols both subclass from StmtPoint instead of
PostStmt.

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

include/clang/Analysis/ProgramPoint.h

index 377f1bc256993aadc954a54c3f3ee2e852f59104..e88d6faf94832a6d06ddc6aecfa9f318af4bd810 100644 (file)
@@ -40,13 +40,13 @@ public:
               BlockEntranceKind,
               BlockExitKind,
               PreStmtKind,
+              PreStmtPurgeDeadSymbolsKind,
+              PostStmtPurgeDeadSymbolsKind,
               PostStmtKind,
               PreLoadKind,
               PostLoadKind,
               PreStoreKind,
               PostStoreKind,
-              PostStmtPurgeDeadSymbolsKind,
-              PreStmtPurgeDeadSymbolsKind,
               PostConditionKind,
               PostLValueKind,
               PostInitializerKind,
@@ -352,11 +352,11 @@ public:
 
 /// \class Represents a point after we ran remove dead bindings BEFORE
 /// processing the given statement.
-class PreStmtPurgeDeadSymbols : public PostStmt {
+class PreStmtPurgeDeadSymbols : public StmtPoint {
 public:
   PreStmtPurgeDeadSymbols(const Stmt *S, const LocationContext *L,
                        const ProgramPointTag *tag = 0)
-    : PostStmt(S, PreStmtPurgeDeadSymbolsKind, L, tag) { }
+    : StmtPoint(S, 0, PreStmtPurgeDeadSymbolsKind, L, tag) { }
 
   static bool classof(const ProgramPoint* Location) {
     return Location->getKind() == PreStmtPurgeDeadSymbolsKind;
@@ -365,11 +365,11 @@ public:
 
 /// \class Represents a point after we ran remove dead bindings AFTER
 /// processing the  given statement.
-class PostStmtPurgeDeadSymbols : public PostStmt {
+class PostStmtPurgeDeadSymbols : public StmtPoint {
 public:
   PostStmtPurgeDeadSymbols(const Stmt *S, const LocationContext *L,
                        const ProgramPointTag *tag = 0)
-    : PostStmt(S, PostStmtPurgeDeadSymbolsKind, L, tag) { }
+    : StmtPoint(S, 0, PostStmtPurgeDeadSymbolsKind, L, tag) { }
 
   static bool classof(const ProgramPoint* Location) {
     return Location->getKind() == PostStmtPurgeDeadSymbolsKind;