clang  6.0.0svn
Functions
IteratorComparison Namespace Reference

Functions

bool isIteratorType (const QualType &Type)
 
bool isIterator (const CXXRecordDecl *CRD)
 
bool isEndCall (const FunctionDecl *Func)
 
bool isSimpleComparisonOperator (OverloadedOperatorKind OK)
 
bool isDereferenceOperator (OverloadedOperatorKind OK)
 
BinaryOperator::Opcode getOpcode (const SymExpr *SE)
 
const RegionOrSymbol getRegionOrSymbol (const SVal &Val)
 
const ProgramStateRef processComparison (ProgramStateRef State, RegionOrSymbol LVal, RegionOrSymbol RVal, bool Equal)
 
const ProgramStateRef saveComparison (ProgramStateRef State, const SymExpr *Condition, const SVal &LVal, const SVal &RVal, bool Eq)
 
const IteratorComparison * loadComparison (ProgramStateRef State, const SymExpr *Condition)
 
SymbolRef getContainerEnd (ProgramStateRef State, const MemRegion *Cont)
 
ProgramStateRef createContainerEnd (ProgramStateRef State, const MemRegion *Cont, const SymbolRef Sym)
 
const IteratorPosition * getIteratorPosition (ProgramStateRef State, const SVal &Val)
 
const IteratorPosition * getIteratorPosition (ProgramStateRef State, RegionOrSymbol RegOrSym)
 
ProgramStateRef setIteratorPosition (ProgramStateRef State, const SVal &Val, const IteratorPosition &Pos)
 
ProgramStateRef setIteratorPosition (ProgramStateRef State, RegionOrSymbol RegOrSym, const IteratorPosition &Pos)
 
ProgramStateRef removeIteratorPosition (ProgramStateRef State, const SVal &Val)
 
ProgramStateRef adjustIteratorPosition (ProgramStateRef State, RegionOrSymbol RegOrSym, const IteratorPosition &Pos, bool Equal)
 
ProgramStateRef relateIteratorPositions (ProgramStateRef State, const IteratorPosition &Pos1, const IteratorPosition &Pos2, bool Equal)
 
const ContainerData * getContainerData (ProgramStateRef State, const MemRegion *Cont)
 
ProgramStateRef setContainerData (ProgramStateRef State, const MemRegion *Cont, const ContainerData &CData)
 
bool isOutOfRange (ProgramStateRef State, const IteratorPosition &Pos)
 

Function Documentation

◆ adjustIteratorPosition()

ProgramStateRef IteratorComparison::adjustIteratorPosition ( ProgramStateRef  State,
RegionOrSymbol  RegOrSym,
const IteratorPosition &  Pos,
bool  Equal 
)

◆ createContainerEnd()

ProgramStateRef IteratorComparison::createContainerEnd ( ProgramStateRef  State,
const MemRegion Cont,
const SymbolRef  Sym 
)

◆ getContainerData()

const ContainerData* IteratorComparison::getContainerData ( ProgramStateRef  State,
const MemRegion Cont 
)

◆ getContainerEnd()

SymbolRef IteratorComparison::getContainerEnd ( ProgramStateRef  State,
const MemRegion Cont 
)

◆ getIteratorPosition() [1/2]

const IteratorPosition* IteratorComparison::getIteratorPosition ( ProgramStateRef  State,
const SVal Val 
)

◆ getIteratorPosition() [2/2]

const IteratorPosition* IteratorComparison::getIteratorPosition ( ProgramStateRef  State,
RegionOrSymbol  RegOrSym 
)

◆ getOpcode()

BinaryOperator::Opcode IteratorComparison::getOpcode ( const SymExpr SE)

◆ getRegionOrSymbol()

const RegionOrSymbol IteratorComparison::getRegionOrSymbol ( const SVal Val)

◆ isDereferenceOperator()

bool IteratorComparison::isDereferenceOperator ( OverloadedOperatorKind  OK)

◆ isEndCall()

bool IteratorComparison::isEndCall ( const FunctionDecl Func)

◆ isIterator()

bool IteratorComparison::isIterator ( const CXXRecordDecl CRD)

◆ isIteratorType()

bool IteratorComparison::isIteratorType ( const QualType Type)

◆ isOutOfRange()

bool IteratorComparison::isOutOfRange ( ProgramStateRef  State,
const IteratorPosition &  Pos 
)

◆ isSimpleComparisonOperator()

bool IteratorComparison::isSimpleComparisonOperator ( OverloadedOperatorKind  OK)

◆ loadComparison()

const IteratorComparison* IteratorComparison::loadComparison ( ProgramStateRef  State,
const SymExpr Condition 
)

◆ processComparison()

const ProgramStateRef IteratorComparison::processComparison ( ProgramStateRef  State,
RegionOrSymbol  LVal,
RegionOrSymbol  RVal,
bool  Equal 
)

◆ relateIteratorPositions()

ProgramStateRef IteratorComparison::relateIteratorPositions ( ProgramStateRef  State,
const IteratorPosition &  Pos1,
const IteratorPosition &  Pos2,
bool  Equal 
)

◆ removeIteratorPosition()

ProgramStateRef IteratorComparison::removeIteratorPosition ( ProgramStateRef  State,
const SVal Val 
)

◆ saveComparison()

const ProgramStateRef IteratorComparison::saveComparison ( ProgramStateRef  State,
const SymExpr Condition,
const SVal LVal,
const SVal RVal,
bool  Eq 
)

◆ setContainerData()

ProgramStateRef IteratorComparison::setContainerData ( ProgramStateRef  State,
const MemRegion Cont,
const ContainerData &  CData 
)

◆ setIteratorPosition() [1/2]

ProgramStateRef IteratorComparison::setIteratorPosition ( ProgramStateRef  State,
const SVal Val,
const IteratorPosition &  Pos 
)

◆ setIteratorPosition() [2/2]

ProgramStateRef IteratorComparison::setIteratorPosition ( ProgramStateRef  State,
RegionOrSymbol  RegOrSym,
const IteratorPosition &  Pos 
)