clang API Documentation

Public Member Functions | Protected Member Functions
clang::ento::ConstraintManager Class Reference

#include <ConstraintManager.h>

Inheritance diagram for clang::ento::ConstraintManager:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~ConstraintManager ()
virtual ProgramStateRef assume (ProgramStateRef state, DefinedSVal Cond, bool Assumption)=0
std::pair< ProgramStateRef,
ProgramStateRef
assumeDual (ProgramStateRef state, DefinedSVal Cond)
virtual const llvm::APSInt * getSymVal (ProgramStateRef state, SymbolRef sym) const =0
virtual bool isEqual (ProgramStateRef state, SymbolRef sym, const llvm::APSInt &V) const =0
virtual ProgramStateRef removeDeadBindings (ProgramStateRef state, SymbolReaper &SymReaper)=0
virtual void print (ProgramStateRef state, raw_ostream &Out, const char *nl, const char *sep)=0
virtual void EndPath (ProgramStateRef state)

Protected Member Functions

virtual bool canReasonAbout (SVal X) const =0

Detailed Description

Definition at line 29 of file ConstraintManager.h.


Constructor & Destructor Documentation

ConstraintManager::~ConstraintManager ( ) [virtual]

Definition at line 26 of file ProgramState.cpp.


Member Function Documentation

virtual ProgramStateRef clang::ento::ConstraintManager::assume ( ProgramStateRef  state,
DefinedSVal  Cond,
bool  Assumption 
) [pure virtual]
std::pair<ProgramStateRef, ProgramStateRef > clang::ento::ConstraintManager::assumeDual ( ProgramStateRef  state,
DefinedSVal  Cond 
) [inline]

Definition at line 37 of file ConstraintManager.h.

References assume().

virtual bool clang::ento::ConstraintManager::canReasonAbout ( SVal  X) const [protected, pure virtual]

canReasonAbout - Not all ConstraintManagers can accurately reason about all SVal values. This method returns true if the ConstraintManager can reasonably handle a given SVal value. This is typically queried by ExprEngine to determine if the value should be replaced with a conjured symbolic value in order to recover some precision.

Implemented in clang::ento::SimpleConstraintManager.

virtual void clang::ento::ConstraintManager::EndPath ( ProgramStateRef  state) [inline, virtual]

Definition at line 61 of file ConstraintManager.h.

virtual const llvm::APSInt* clang::ento::ConstraintManager::getSymVal ( ProgramStateRef  state,
SymbolRef  sym 
) const [pure virtual]
virtual bool clang::ento::ConstraintManager::isEqual ( ProgramStateRef  state,
SymbolRef  sym,
const llvm::APSInt &  V 
) const [pure virtual]
virtual void clang::ento::ConstraintManager::print ( ProgramStateRef  state,
raw_ostream &  Out,
const char *  nl,
const char *  sep 
) [pure virtual]
virtual ProgramStateRef clang::ento::ConstraintManager::removeDeadBindings ( ProgramStateRef  state,
SymbolReaper SymReaper 
) [pure virtual]

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