]> granicus.if.org Git - clang/commitdiff
Added GDM query functions "contains" for the data types that support the "Contains...
authorTed Kremenek <kremenek@apple.com>
Wed, 3 Dec 2008 20:49:14 +0000 (20:49 +0000)
committerTed Kremenek <kremenek@apple.com>
Wed, 3 Dec 2008 20:49:14 +0000 (20:49 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60505 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Analysis/PathSensitive/GRState.h

index b1e866c67c884e0b57becf58fd3021924d34ea9d..0e72742e631f38fb7c02c9612c45722aae376543 100644 (file)
@@ -162,6 +162,12 @@ public:
     return GRStateTrait<T>::Lookup(GRStateTrait<T>::MakeData(d), key);
   }
   
+  template<typename T>
+  bool contains(typename GRStateTrait<T>::key_type key) const {
+    void* const* d = FindGDM(GRStateTrait<T>::GDMIndex());
+    return GRStateTrait<T>::Contains(GRStateTrait<T>::MakeData(d), key);
+  }
+  
   // State pretty-printing.
   class Printer {
   public:
@@ -623,7 +629,7 @@ public:
   template <typename T>
   typename GRStateTrait<T>::context_type get_context() {
     return Mgr->get_context<T>();
-  }    
+  }
 
   template<typename T>
   GRStateRef set(typename GRStateTrait<T>::key_type K,
@@ -649,6 +655,11 @@ public:
     return GRStateRef(Mgr->remove<T>(St, K, get_context<T>()), *Mgr);
   }
   
+  template<typename T>
+  bool contains(typename GRStateTrait<T>::key_type key) const {
+    return St->contains(key);
+  }
+  
   // Lvalue methods.
   SVal GetLValue(const VarDecl* VD) {
     return Mgr->GetLValue(St, VD);