summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/BasicStore.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Store: (static analyzer)Ted Kremenek2008-09-031-28/+88
| | | | | | | | | | | | | | | | | | | | | - Change definition of store::Region and store::Binding (once again) to make them real classes that just wrap pointers. This makes them more strictly typed, and allows specific implementations of Regions/Bindings to just subclass them. - minor renamings to RegionExtent and its subclasses - added a bunch of doxygen comments StoreManager: (static analyzer) - added 'iterBindings', an iteration method for iterating over the bindings of a store. It that takes a callback object (acting like a poor man's closure). - added 'getRVal' version for store::Binding. Will potentially phase the other versions of GetRVal in StoreManager out. - reimplemented 'getBindings' to be non-virtual and to use 'iterBindings' BasicStoreManager: (static analyzer) - implemented 'iterBindings' for BasicStoreManager llvm-svn: 55688
* Added "getBindings" and "BindingAsString" to GRStateManager and StoreManager.Ted Kremenek2008-08-291-0/+34
| | | | | | | Migrated CFRefCount.cpp to use getBindings and BindingsAsString instead of making assumptions about the Store (removed dependence on GRState::vb_iterator). llvm-svn: 55522
* Remove BasicStore.h (migrated function prototype for CreateBasicStore() to ↵Ted Kremenek2008-08-281-1/+0
| | | | | | Store.h) llvm-svn: 55519
* Make store "Regions" and "Bindings" more abstract instead of concrete variants.Ted Kremenek2008-08-281-12/+22
| | | | | | | | Their precise semantics will be implemented by a specific StoreManager. Use function pointer to create the StoreManager in GRStateManager. This matches how we create ConstraintsManager. llvm-svn: 55514
* Added 'extents' for Regions.Ted Kremenek2008-08-251-26/+17
| | | | | | | Added 'getExtent()' to StoreManager. Implemented 'getExtent()' for BasicStoreManager. llvm-svn: 55321
* Simplify interface to Store::AddDeclTed Kremenek2008-08-231-5/+9
| | | | llvm-svn: 55213
* Move the handling of DeclStmt from GRExprEngine to BasicStoreManager.Zhongxing Xu2008-08-211-1/+68
| | | | llvm-svn: 55144
* Move store pretty-printing logic inside of StoreManager (previously in GRState).Ted Kremenek2008-08-191-1/+22
| | | | llvm-svn: 55013
* Patch by Zhongxing Xu!Ted Kremenek2008-08-191-3/+37
| | | | | | | This patch extends BasicStoreManager::getInitialStore() to include code that symbolicates input variables. It also removes redundant handling of ImplicitParamDecl, since it is a subclass of VarDecl. llvm-svn: 54993
* Moved RemoveDeadBindings logic for the contents of 'Store' to a virtual ↵Ted Kremenek2008-07-171-17/+78
| | | | | | RemoveDeadBindings method in StoreManager. llvm-svn: 53726
* Refactored most of the "Store" piece of ValueState into a Store type. TheTed Kremenek2008-07-101-0/+141
current store implementation is now encapsulated by BasicStore. These changes prompted some long due constification of ValueState. Much of the diffs in this patch include adding "const" qualifiers. llvm-svn: 53423
OpenPOWER on IntegriCloud