clang
10.0.0git
|
Classes | |
struct | ContainerData |
class | ContainerMap |
struct | IteratorPosition |
class | IteratorRegionMap |
class | IteratorSymbolMap |
Typedefs | |
using | IteratorSymbolMapTy = CLANG_ENTO_PROGRAMSTATE_MAP(SymbolRef, IteratorPosition) |
using | IteratorRegionMapTy = CLANG_ENTO_PROGRAMSTATE_MAP(const MemRegion *, IteratorPosition) |
using | ContainerMapTy = CLANG_ENTO_PROGRAMSTATE_MAP(const MemRegion *, ContainerData) |
using clang::ento::iterator::ContainerMapTy = typedef CLANG_ENTO_PROGRAMSTATE_MAP(const MemRegion *, ContainerData) |
Definition at line 120 of file Iterator.h.
using clang::ento::iterator::IteratorRegionMapTy = typedef CLANG_ENTO_PROGRAMSTATE_MAP(const MemRegion *, IteratorPosition) |
Definition at line 119 of file Iterator.h.
using clang::ento::iterator::IteratorSymbolMapTy = typedef CLANG_ENTO_PROGRAMSTATE_MAP(SymbolRef, IteratorPosition) |
Definition at line 118 of file Iterator.h.
ProgramStateRef clang::ento::iterator::advancePosition | ( | ProgramStateRef | State, |
const SVal & | Iter, | ||
OverloadedOperatorKind | Op, | ||
const SVal & | Distance | ||
) |
Definition at line 180 of file Iterator.cpp.
References clang::ento::SVal::getAs(), getIteratorPosition(), and setIteratorPosition().
bool clang::ento::iterator::compare | ( | ProgramStateRef | State, |
SymbolRef | Sym1, | ||
SymbolRef | Sym2, | ||
BinaryOperator::Opcode | Opc | ||
) |
Definition at line 207 of file Iterator.cpp.
bool clang::ento::iterator::compare | ( | ProgramStateRef | State, |
NonLoc | NL1, | ||
NonLoc | NL2, | ||
BinaryOperator::Opcode | Opc | ||
) |
Definition at line 212 of file Iterator.cpp.
const ContainerData * clang::ento::iterator::getContainerData | ( | ProgramStateRef | State, |
const MemRegion * | Cont | ||
) |
Definition at line 149 of file Iterator.cpp.
const IteratorPosition * clang::ento::iterator::getIteratorPosition | ( | ProgramStateRef | State, |
const SVal & | Val | ||
) |
Definition at line 154 of file Iterator.cpp.
References clang::ento::SVal::getAs(), clang::ento::SVal::getAsRegion(), and clang::ento::SVal::getAsSymbol().
Referenced by advancePosition().
bool clang::ento::iterator::isAccessOperator | ( | OverloadedOperatorKind | OK | ) |
Definition at line 126 of file Iterator.cpp.
References isDecrementOperator(), isDereferenceOperator(), isIncrementOperator(), and isRandomIncrOrDecrOperator().
bool clang::ento::iterator::isComparisonOperator | ( | OverloadedOperatorKind | OK | ) |
Definition at line 71 of file Iterator.cpp.
bool clang::ento::iterator::isDecrementOperator | ( | OverloadedOperatorKind | OK | ) |
Definition at line 140 of file Iterator.cpp.
Referenced by isAccessOperator().
bool clang::ento::iterator::isDereferenceOperator | ( | OverloadedOperatorKind | OK | ) |
Definition at line 131 of file Iterator.cpp.
Referenced by isAccessOperator().
bool clang::ento::iterator::isEmplaceCall | ( | const FunctionDecl * | Func | ) |
Definition at line 87 of file Iterator.cpp.
References clang::NamedDecl::getIdentifier(), clang::IdentifierInfo::getName(), clang::FunctionDecl::getNumParams(), clang::FunctionDecl::getParamDecl(), clang::ValueDecl::getType(), and isIteratorType().
bool clang::ento::iterator::isEraseAfterCall | ( | const FunctionDecl * | Func | ) |
Definition at line 112 of file Iterator.cpp.
References clang::NamedDecl::getIdentifier(), clang::IdentifierInfo::getName(), clang::FunctionDecl::getNumParams(), clang::FunctionDecl::getParamDecl(), clang::ValueDecl::getType(), and isIteratorType().
bool clang::ento::iterator::isEraseCall | ( | const FunctionDecl * | Func | ) |
Definition at line 98 of file Iterator.cpp.
References clang::NamedDecl::getIdentifier(), clang::IdentifierInfo::getName(), clang::FunctionDecl::getNumParams(), clang::FunctionDecl::getParamDecl(), clang::ValueDecl::getType(), and isIteratorType().
bool clang::ento::iterator::isIncrementOperator | ( | OverloadedOperatorKind | OK | ) |
Definition at line 136 of file Iterator.cpp.
Referenced by isAccessOperator().
bool clang::ento::iterator::isInsertCall | ( | const FunctionDecl * | Func | ) |
Definition at line 76 of file Iterator.cpp.
References clang::NamedDecl::getIdentifier(), clang::IdentifierInfo::getName(), clang::FunctionDecl::getNumParams(), clang::FunctionDecl::getParamDecl(), clang::ValueDecl::getType(), and isIteratorType().
bool clang::ento::iterator::isIterator | ( | const CXXRecordDecl * | CRD | ) |
Definition at line 27 of file Iterator.cpp.
Referenced by clang::IdentifierResolver::iterator::getIterator(), isIteratorType(), clang::IdentifierResolver::iterator::operator*(), and clang::IdentifierResolver::iterator::operator++().
Definition at line 19 of file Iterator.cpp.
References clang::Type::getAsCXXRecordDecl(), clang::Type::getUnqualifiedDesugaredType(), isIterator(), and clang::Type::isPointerType().
Referenced by isEmplaceCall(), isEraseAfterCall(), isEraseCall(), and isInsertCall().
bool clang::ento::iterator::isRandomIncrOrDecrOperator | ( | OverloadedOperatorKind | OK | ) |
Definition at line 144 of file Iterator.cpp.
Referenced by isAccessOperator().
ProgramStateRef clang::ento::iterator::setIteratorPosition | ( | ProgramStateRef | State, |
const SVal & | Val, | ||
const IteratorPosition & | Pos | ||
) |
Definition at line 167 of file Iterator.cpp.
References clang::ento::SVal::getAs(), clang::ento::SVal::getAsRegion(), and clang::ento::SVal::getAsSymbol().
Referenced by advancePosition().