clang API Documentation

Public Member Functions | Friends
clang::ento::ProgramStateManager Class Reference

#include <ProgramState.h>

List of all members.

Public Member Functions

 ProgramStateManager (ASTContext &Ctx, StoreManagerCreator CreateStoreManager, ConstraintManagerCreator CreateConstraintManager, llvm::BumpPtrAllocator &alloc, SubEngine *subeng)
 ~ProgramStateManager ()
ProgramStateRef getInitialState (const LocationContext *InitLoc)
ASTContextgetContext ()
const ASTContextgetContext () const
BasicValueFactorygetBasicVals ()
SValBuildergetSValBuilder ()
SymbolManagergetSymbolManager ()
const SymbolManagergetSymbolManager () const
llvm::BumpPtrAllocator & getAllocator ()
MemRegionManagergetRegionManager ()
const MemRegionManagergetRegionManager () const
CallEventManagergetCallEventManager ()
StoreManagergetStoreManager ()
ConstraintManagergetConstraintManager ()
SubEnginegetOwningEngine ()
ProgramStateRef removeDeadBindings (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 haveEqualEnvironments (ProgramStateRef S1, ProgramStateRef S2)
bool haveEqualStores (ProgramStateRef S1, ProgramStateRef S2)
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 ()
void EndPath (ProgramStateRef St)

Friends

class ProgramState
void ProgramStateRelease (const ProgramState *state)
 Decrement the number of times this state is referenced.

Detailed Description

Definition at line 437 of file ProgramState.h.


Constructor & Destructor Documentation

ProgramStateManager::ProgramStateManager ( ASTContext Ctx,
StoreManagerCreator  CreateStoreManager,
ConstraintManagerCreator  CreateConstraintManager,
llvm::BumpPtrAllocator &  alloc,
SubEngine subeng 
)

Definition at line 70 of file ProgramState.cpp.

Definition at line 83 of file ProgramState.cpp.


Member Function Documentation

template<typename T >
ProgramStateRef clang::ento::ProgramStateManager::add ( ProgramStateRef  st,
typename ProgramStateTrait< T >::key_type  K,
typename ProgramStateTrait< T >::context_type  C 
) [inline]

Definition at line 581 of file ProgramState.h.

References addGDM().

Referenced by clang::ento::ProgramState::add().

ProgramStateRef ProgramStateManager::addGDM ( ProgramStateRef  St,
void *  Key,
void *  Data 
)

Definition at line 484 of file ProgramState.cpp.

References getPersistentState().

Referenced by add(), remove(), and set().

Definition at line 519 of file ProgramState.h.

Referenced by clang::ento::SValBuilder::evalCast().

Definition at line 615 of file ProgramState.h.

Referenced by clang::ento::ExprEngine::processEndOfFunction().

void * ProgramStateManager::FindGDMContext ( void *  index,
void *(*)(llvm::BumpPtrAllocator &)  CreateContext,
void(*)(void *)  DeleteContext 
)

Definition at line 471 of file ProgramState.cpp.

Referenced by get_context().

template<typename T >
ProgramStateTrait<T>::context_type clang::ento::ProgramStateManager::get_context ( ) [inline]

Definition at line 607 of file ProgramState.h.

References FindGDMContext().

Referenced by clang::ento::ProgramState::get_context().

llvm::BumpPtrAllocator& clang::ento::ProgramStateManager::getAllocator ( ) [inline]

Definition at line 498 of file ProgramState.h.

Definition at line 480 of file ProgramState.h.

Referenced by clang::ento::StoreManager::castRegion().

Definition at line 481 of file ProgramState.h.

Definition at line 373 of file ProgramState.cpp.

References getPersistentState().

Referenced by clang::ento::ExprEngine::removeDead().

Definition at line 503 of file ProgramState.h.

Definition at line 491 of file ProgramState.h.

Referenced by clang::ento::ProgramState::getSymbolManager().

Definition at line 494 of file ProgramState.h.

Definition at line 537 of file ProgramState.h.

Referenced by clang::ento::ExprEngine::removeDead().

Definition at line 541 of file ProgramState.h.

Referenced by clang::ento::ExprEngine::removeDead().

Definition at line 529 of file ProgramState.h.

Referenced by GetAllocationSite().

template<typename T >
ProgramStateRef clang::ento::ProgramStateManager::remove ( ProgramStateRef  st,
typename ProgramStateTrait< T >::key_type  K,
typename ProgramStateTrait< T >::context_type  C 
) [inline]

Definition at line 589 of file ProgramState.h.

References addGDM(), and AttributeLangSupport::C.

Referenced by clang::ento::ProgramState::remove().

Definition at line 598 of file ProgramState.h.

References removeGDM().

Definition at line 496 of file ProgramState.cpp.

References getPersistentState().

Referenced by remove().

template<typename T >
ProgramStateRef clang::ento::ProgramStateManager::set ( ProgramStateRef  st,
typename ProgramStateTrait< T >::data_type  D 
) [inline]

Definition at line 565 of file ProgramState.h.

References addGDM().

Referenced by clang::ento::ProgramState::set().

template<typename T >
ProgramStateRef clang::ento::ProgramStateManager::set ( ProgramStateRef  st,
typename ProgramStateTrait< T >::key_type  K,
typename ProgramStateTrait< T >::value_type  V,
typename ProgramStateTrait< T >::context_type  C 
) [inline]

Definition at line 571 of file ProgramState.h.

References addGDM(), and AttributeLangSupport::C.


Friends And Related Function Documentation

friend class ProgramState [friend]

Definition at line 438 of file ProgramState.h.

Referenced by getPersistentState().

void ProgramStateRelease ( const ProgramState state) [friend]

Decrement the number of times this state is referenced.


The documentation for this class was generated from the following files: