clang: clang::ento::ProgramStateManager Class Reference (original) (raw)
#include "[clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h](ProgramState%5F8h%5Fsource.html)"
Public Member Functions |
|
|
ProgramStateManager (ASTContext &Ctx, StoreManagerCreator CreateStoreManager, ConstraintManagerCreator CreateConstraintManager, llvm::BumpPtrAllocator &alloc, ExprEngine *expreng) |
|
|
|
~ProgramStateManager () |
|
|
ProgramStateRef |
getInitialState (const LocationContext *InitLoc) |
|
|
ASTContext & |
getContext () |
|
|
const ASTContext & |
getContext () const |
|
|
BasicValueFactory & |
getBasicVals () |
|
|
SValBuilder & |
getSValBuilder () |
|
|
const SValBuilder & |
getSValBuilder () const |
|
|
SymbolManager & |
getSymbolManager () |
|
|
const SymbolManager & |
getSymbolManager () const |
|
|
llvm::BumpPtrAllocator & |
getAllocator () |
|
|
MemRegionManager & |
getRegionManager () |
|
|
const MemRegionManager & |
getRegionManager () const |
|
|
CallEventManager & |
getCallEventManager () |
|
|
StoreManager & |
getStoreManager () |
|
|
ConstraintManager & |
getConstraintManager () |
|
|
ExprEngine & |
getOwningEngine () |
|
|
ProgramStateRef |
removeDeadBindingsFromEnvironmentAndStore (ProgramStateRef St, const StackFrameContext *LCtx, SymbolReaper &SymReaper) |
|
|
SVal |
ArrayToPointer (Loc Array, QualType ElementTy) |
|
|
ProgramStateRef |
addGDM (ProgramStateRef St, void *Key, void *Data) |
|
|
ProgramStateRef |
removeGDM (ProgramStateRef state, void *Key) |
|
|
void |
iterBindings (ProgramStateRef state, StoreManager::BindingsHandler &F) |
|
|
ProgramStateRef |
getPersistentState (ProgramState &Impl) |
|
|
ProgramStateRef |
getPersistentStateWithGDM (ProgramStateRef FromState, ProgramStateRef GDMState) |
|
|
bool |
haveEqualConstraints (ProgramStateRef S1, ProgramStateRef S2) const |
|
|
bool |
haveEqualEnvironments (ProgramStateRef S1, ProgramStateRef S2) const |
|
|
bool |
haveEqualStores (ProgramStateRef S1, ProgramStateRef S2) const |
|
|
template<typename T > |
|
ProgramStateRef |
set (ProgramStateRef st, typename ProgramStateTrait< T >::data_type D) |
|
|
template<typename T > |
|
ProgramStateRef |
set (ProgramStateRef st, typename ProgramStateTrait< T >::key_type K, typename ProgramStateTrait< T >::value_type V, typename ProgramStateTrait< T >::context_type C) |
|
|
template<typename T > |
|
ProgramStateRef |
add (ProgramStateRef st, typename ProgramStateTrait< T >::key_type K, typename ProgramStateTrait< T >::context_type C) |
|
|
template<typename T > |
|
ProgramStateRef |
remove (ProgramStateRef st, typename ProgramStateTrait< T >::key_type K, typename ProgramStateTrait< T >::context_type C) |
|
|
template<typename T > |
|
ProgramStateRef |
remove (ProgramStateRef st) |
|
|
void * |
FindGDMContext (void *index, void *(*CreateContext)(llvm::BumpPtrAllocator &), void(*DeleteContext)(void *)) |
|
|
template<typename T > |
|
ProgramStateTrait< T >::context_type |
get_context () |
|
|
Definition at line 497 of file ProgramState.h.
◆ ~ProgramStateManager()
ProgramStateManager::~ProgramStateManager |
( |
) |
◆ add()
◆ addGDM()
◆ ArrayToPointer()
SVal clang::ento::ProgramStateManager::ArrayToPointer ( Loc Array, QualType ElementTy ) |
inline |
◆ FindGDMContext()
void * ProgramStateManager::FindGDMContext |
( |
void * |
index, |
void *(*)(llvm::BumpPtrAllocator &) |
CreateContext, |
|
|
void(*)(void *) |
DeleteContext |
|
|
) |
|
|
|
◆ get_context()
template<typename T >
ProgramStateTrait< T >::context_type clang::ento::ProgramStateManager::get_context ( ) |
inline |
◆ getAllocator()
llvm::BumpPtrAllocator & clang::ento::ProgramStateManager::getAllocator ( ) |
inline |
◆ getBasicVals()
◆ getCallEventManager()
CallEventManager & clang::ento::ProgramStateManager::getCallEventManager ( ) |
inline |
Definition at line 571 of file ProgramState.h.
Referenced by clang::ento::ExprEngine::computeObjectUnderConstruction(), clang::ento::ExprEngine::processCallExit(), clang::ento::ExprEngine::VisitCallExpr(), clang::ento::ExprEngine::VisitCXXDeleteExpr(), clang::ento::ExprEngine::VisitCXXDestructor(), clang::ento::ExprEngine::VisitCXXNewAllocatorCall(), clang::ento::ExprEngine::VisitCXXNewExpr(), clang::ento::NoStateChangeFuncVisitor::VisitNode(), clang::ento::UndefOrNullArgVisitor::VisitNode(), clang::ento::retaincountchecker::RefCountReportVisitor::VisitNode(), and clang::ento::ExprEngine::VisitObjCMessage().
◆ getConstraintManager()
ConstraintManager & clang::ento::ProgramStateManager::getConstraintManager ( ) |
inline |
◆ getContext() [1/2]
ASTContext & clang::ento::ProgramStateManager::getContext ( ) |
inline |
◆ getContext() [2/2]
const ASTContext & clang::ento::ProgramStateManager::getContext ( ) const |
inline |
◆ getInitialState()
◆ getOwningEngine()
ExprEngine & clang::ento::ProgramStateManager::getOwningEngine ( ) |
inline |
◆ getPersistentState()
◆ getPersistentStateWithGDM()
◆ getRegionManager() [1/2]
MemRegionManager & clang::ento::ProgramStateManager::getRegionManager ( ) |
inline |
◆ getRegionManager() [2/2]
const MemRegionManager & clang::ento::ProgramStateManager::getRegionManager ( ) const |
inline |
◆ getStoreManager()
StoreManager & clang::ento::ProgramStateManager::getStoreManager ( ) |
inline |
◆ getSValBuilder() [1/2]
SValBuilder & clang::ento::ProgramStateManager::getSValBuilder ( ) |
inline |
◆ getSValBuilder() [2/2]
const SValBuilder & clang::ento::ProgramStateManager::getSValBuilder ( ) const |
inline |
◆ getSymbolManager() [1/2]
SymbolManager & clang::ento::ProgramStateManager::getSymbolManager ( ) |
inline |
◆ getSymbolManager() [2/2]
const SymbolManager & clang::ento::ProgramStateManager::getSymbolManager ( ) const |
inline |
◆ haveEqualConstraints()
◆ haveEqualEnvironments()
◆ haveEqualStores()
◆ iterBindings()
◆ remove() [1/2]
◆ remove() [2/2]
◆ removeDeadBindingsFromEnvironmentAndStore()
◆ removeGDM()
◆ set() [1/2]
◆ set() [2/2]
◆ ProgramState
◆ ProgramStateRelease
void ProgramStateRelease ( const ProgramState * state) |
friend |
Decrement the number of times this state is referenced.
Definition at line 35 of file ProgramState.cpp.
The documentation for this class was generated from the following files: