]> granicus.if.org Git - clang/commitdiff
Refine PostStmtCustom to reference a tagged data pair with the tag to indicate the...
authorTed Kremenek <kremenek@apple.com>
Mon, 9 Feb 2009 16:59:59 +0000 (16:59 +0000)
committerTed Kremenek <kremenek@apple.com>
Mon, 9 Feb 2009 16:59:59 +0000 (16:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64144 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Analysis/ProgramPoint.h

index c296bda496762b2b70e4fa654cdb4760a8bd0abc..ee742634bef6bac7c17ff3aaa439dd5bebcd65cf 100644 (file)
@@ -20,6 +20,7 @@
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/FoldingSet.h"
 #include <cassert>
+#include <utility>
 
 namespace clang {
     
@@ -182,12 +183,19 @@ public:
 };
   
 class PostStmtCustom : public PostStmt {
-  PostStmtCustom(const Stmt* S, const void* Data)
-    : PostStmt(S, Data) {
+  PostStmtCustom(const Stmt* S,
+                 const std::pair<const void*, const void*>* TaggedData)
+    : PostStmt(S, TaggedData) {
     assert(getKind() == PostStmtCustomKind);
   }
+
+  const std::pair<const void*, const void*>& getTaggedPair() const {
+    return *reinterpret_cast<std::pair<const void*, const void*>*>(getData2());
+  }
+  
+  const void* getTag() const { return getTaggedPair().first; }
   
-  void* getCustomData() const { return getData2(); }
+  const void* getTaggedData() const { return getTaggedPair().second; }
     
   static bool classof(const ProgramPoint* Location) {
     return Location->getKind() == PostStmtCustomKind;