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 (ASTContext &Ctx, StoreManagerCreator CreateStoreManager, ConstraintManager *ConstraintManagerPtr, llvm::BumpPtrAllocator &alloc)
 ~ProgramStateManager ()
ProgramStateRef getInitialState (const LocationContext *InitLoc)
ASTContextgetContext ()
const ASTContextgetContext () const
BasicValueFactorygetBasicVals ()
const BasicValueFactorygetBasicVals () const
SValBuildergetSValBuilder ()
SymbolManagergetSymbolManager ()
const SymbolManagergetSymbolManager () const
llvm::BumpPtrAllocator & getAllocator ()
MemRegionManagergetRegionManager ()
const MemRegionManagergetRegionManager () const
StoreManagergetStoreManager ()
ConstraintManagergetConstraintManager ()
SubEnginegetOwningEngine ()
ProgramStateRef removeDeadBindings (ProgramStateRef St, const StackFrameContext *LCtx, SymbolReaper &SymReaper)
ProgramStateRef MarshalState (ProgramStateRef state, const StackFrameContext *L)
SVal ArrayToPointer (Loc Array)
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 ()
const llvm::APSInt * getSymVal (ProgramStateRef St, SymbolRef sym)
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 392 of file ProgramState.h.


Constructor & Destructor Documentation

clang::ento::ProgramStateManager::ProgramStateManager ( ASTContext Ctx,
StoreManagerCreator  CreateStoreManager,
ConstraintManagerCreator  CreateConstraintManager,
llvm::BumpPtrAllocator &  alloc,
SubEngine subeng 
) [inline]

Definition at line 422 of file ProgramState.h.

clang::ento::ProgramStateManager::ProgramStateManager ( ASTContext Ctx,
StoreManagerCreator  CreateStoreManager,
ConstraintManager ConstraintManagerPtr,
llvm::BumpPtrAllocator &  alloc 
) [inline]

Definition at line 436 of file ProgramState.h.

ProgramStateManager::~ProgramStateManager ( )

Definition at line 73 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 559 of file ProgramState.h.

References addGDM().

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

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

Definition at line 464 of file ProgramState.cpp.

References getPersistentState().

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

SVal clang::ento::ProgramStateManager::ArrayToPointer ( Loc  Array) [inline]

Definition at line 497 of file ProgramState.h.

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

void clang::ento::ProgramStateManager::EndPath ( ProgramStateRef  St) [inline]

Definition at line 597 of file ProgramState.h.

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

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

Definition at line 451 of file ProgramState.cpp.

Referenced by get_context().

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

Definition at line 585 of file ProgramState.h.

References FindGDMContext().

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

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

Definition at line 474 of file ProgramState.h.

BasicValueFactory& clang::ento::ProgramStateManager::getBasicVals ( ) [inline]
const BasicValueFactory& clang::ento::ProgramStateManager::getBasicVals ( ) const [inline]

Definition at line 459 of file ProgramState.h.

ConstraintManager& clang::ento::ProgramStateManager::getConstraintManager ( ) [inline]
ASTContext& clang::ento::ProgramStateManager::getContext ( ) [inline]

Definition at line 453 of file ProgramState.h.

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

const ASTContext& clang::ento::ProgramStateManager::getContext ( ) const [inline]

Definition at line 454 of file ProgramState.h.

ProgramStateRef clang::ento::ProgramStateManager::getInitialState ( const LocationContext InitLoc)
SubEngine* clang::ento::ProgramStateManager::getOwningEngine ( ) [inline]

Definition at line 485 of file ProgramState.h.

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

ProgramStateRef ProgramStateManager::getPersistentState ( ProgramState Impl)
ProgramStateRef ProgramStateManager::getPersistentStateWithGDM ( ProgramStateRef  FromState,
ProgramStateRef  GDMState 
)

Definition at line 353 of file ProgramState.cpp.

References getPersistentState().

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

MemRegionManager& clang::ento::ProgramStateManager::getRegionManager ( ) [inline]
const MemRegionManager& clang::ento::ProgramStateManager::getRegionManager ( ) const [inline]

Definition at line 479 of file ProgramState.h.

StoreManager& clang::ento::ProgramStateManager::getStoreManager ( ) [inline]
SValBuilder& clang::ento::ProgramStateManager::getSValBuilder ( ) [inline]
SymbolManager& clang::ento::ProgramStateManager::getSymbolManager ( ) [inline]

Definition at line 467 of file ProgramState.h.

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

const SymbolManager& clang::ento::ProgramStateManager::getSymbolManager ( ) const [inline]

Definition at line 470 of file ProgramState.h.

const llvm::APSInt* clang::ento::ProgramStateManager::getSymVal ( ProgramStateRef  St,
SymbolRef  sym 
) [inline]

Definition at line 593 of file ProgramState.h.

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

bool clang::ento::ProgramStateManager::haveEqualEnvironments ( ProgramStateRef  S1,
ProgramStateRef  S2 
) [inline]

Definition at line 515 of file ProgramState.h.

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

bool clang::ento::ProgramStateManager::haveEqualStores ( ProgramStateRef  S1,
ProgramStateRef  S2 
) [inline]

Definition at line 519 of file ProgramState.h.

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

void clang::ento::ProgramStateManager::iterBindings ( ProgramStateRef  state,
StoreManager::BindingsHandler F 
) [inline]

Definition at line 507 of file ProgramState.h.

ProgramStateRef ProgramStateManager::MarshalState ( ProgramStateRef  state,
const StackFrameContext L 
)

Marshal a new state for the callee in another translation unit. 'state' is owned by the caller's engine.

Definition at line 103 of file ProgramState.cpp.

References clang::ento::EnvironmentManager::getInitialEnvironment(), and getPersistentState().

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 567 of file ProgramState.h.

References addGDM().

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

template<typename T >
ProgramStateRef clang::ento::ProgramStateManager::remove ( ProgramStateRef  st) [inline]

Definition at line 576 of file ProgramState.h.

References removeGDM().

ProgramStateRef clang::ento::ProgramStateManager::removeDeadBindings ( ProgramStateRef  St,
const StackFrameContext LCtx,
SymbolReaper SymReaper 
)
ProgramStateRef ProgramStateManager::removeGDM ( ProgramStateRef  state,
void *  Key 
)

Definition at line 476 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 543 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 549 of file ProgramState.h.

References addGDM().


Friends And Related Function Documentation

friend class ProgramState [friend]

Definition at line 393 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: