|
clang 22.0.0git
|
Classes | |
| struct | ContainerData |
| class | ContainerMap |
| struct | IteratorPosition |
| class | IteratorRegionMap |
| class | IteratorSymbolMap |
Typedefs | |
| using | IteratorSymbolMapTy |
| using | IteratorRegionMapTy |
| using | ContainerMapTy |
Definition at line 118 of file Iterator.h.
Definition at line 116 of file Iterator.h.
Definition at line 114 of file Iterator.h.
| ProgramStateRef clang::ento::iterator::advancePosition | ( | ProgramStateRef | State, |
| SVal | Iter, | ||
| OverloadedOperatorKind | Op, | ||
| SVal | Distance ) |
Definition at line 224 of file Iterator.cpp.
References clang::ento::SVal::getAs(), getIteratorPosition(), clang::ento::SVal::getType(), clang::ento::nonloc::ConcreteInt::getValue(), and setIteratorPosition().
| ProgramStateRef clang::ento::iterator::assumeNoOverflow | ( | ProgramStateRef | State, |
| SymbolRef | Sym, | ||
| long | Scale ) |
Definition at line 264 of file Iterator.cpp.
References clang::ento::SValBuilder::evalBinOpNN(), clang::ento::BasicValueFactory::getAPSIntType(), clang::ento::SVal::getAs(), clang::ento::SValBuilder::getBasicValueFactory(), clang::ento::SValBuilder::getConditionType(), clang::ento::APSIntType::getMaxValue(), clang::ento::SValBuilder::getStateManager(), clang::ento::ProgramStateManager::getSValBuilder(), clang::ento::SymExpr::getType(), clang::ento::APSIntType::getValue(), clang::Max, clang::Min, and clang::T.
Referenced by createIteratorPosition().
| bool clang::ento::iterator::compare | ( | ProgramStateRef | State, |
| NonLoc | NL1, | ||
| NonLoc | NL2, | ||
| BinaryOperator::Opcode | Opc ) |
Definition at line 303 of file Iterator.cpp.
References clang::isa().
| bool clang::ento::iterator::compare | ( | ProgramStateRef | State, |
| SymbolRef | Sym1, | ||
| SymbolRef | Sym2, | ||
| BinaryOperator::Opcode | Opc ) |
| ProgramStateRef clang::ento::iterator::createIteratorPosition | ( | ProgramStateRef | State, |
| SVal | Val, | ||
| const MemRegion * | Cont, | ||
| ConstCFGElementRef | Elem, | ||
| const LocationContext * | LCtx, | ||
| unsigned | blockCount ) |
Definition at line 209 of file Iterator.cpp.
References assumeNoOverflow(), clang::ento::iterator::IteratorPosition::getPosition(), and setIteratorPosition().
| const ContainerData * clang::ento::iterator::getContainerData | ( | ProgramStateRef | State, |
| const MemRegion * | Cont ) |
Definition at line 179 of file Iterator.cpp.
| const IteratorPosition * clang::ento::iterator::getIteratorPosition | ( | ProgramStateRef | State, |
| SVal | Val ) |
Definition at line 184 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 | ( | BinaryOperatorKind | OK | ) |
Definition at line 136 of file Iterator.cpp.
References isDereferenceOperator(), and isRandomIncrOrDecrOperator().
| 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::isAccessOperator | ( | UnaryOperatorKind | OK | ) |
Definition at line 131 of file Iterator.cpp.
References isDecrementOperator(), isDereferenceOperator(), and isIncrementOperator().
| 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 161 of file Iterator.cpp.
Referenced by isAccessOperator(), and isAccessOperator().
| bool clang::ento::iterator::isDecrementOperator | ( | UnaryOperatorKind | OK | ) |
Definition at line 165 of file Iterator.cpp.
| bool clang::ento::iterator::isDereferenceOperator | ( | BinaryOperatorKind | OK | ) |
Definition at line 149 of file Iterator.cpp.
| bool clang::ento::iterator::isDereferenceOperator | ( | OverloadedOperatorKind | OK | ) |
Definition at line 140 of file Iterator.cpp.
Referenced by isAccessOperator(), isAccessOperator(), and isAccessOperator().
| bool clang::ento::iterator::isDereferenceOperator | ( | UnaryOperatorKind | OK | ) |
Definition at line 145 of file Iterator.cpp.
| bool clang::ento::iterator::isEmplaceCall | ( | const FunctionDecl * | Func | ) |
Definition at line 87 of file Iterator.cpp.
References clang::Func, and isIteratorType().
| bool clang::ento::iterator::isEraseAfterCall | ( | const FunctionDecl * | Func | ) |
Definition at line 112 of file Iterator.cpp.
References clang::Func, and isIteratorType().
| bool clang::ento::iterator::isEraseCall | ( | const FunctionDecl * | Func | ) |
Definition at line 98 of file Iterator.cpp.
References clang::Func, and isIteratorType().
| bool clang::ento::iterator::isIncrementOperator | ( | OverloadedOperatorKind | OK | ) |
Definition at line 153 of file Iterator.cpp.
Referenced by isAccessOperator(), and isAccessOperator().
| bool clang::ento::iterator::isIncrementOperator | ( | UnaryOperatorKind | OK | ) |
Definition at line 157 of file Iterator.cpp.
| bool clang::ento::iterator::isInsertCall | ( | const FunctionDecl * | Func | ) |
Definition at line 76 of file Iterator.cpp.
References clang::Func, and isIteratorType().
| bool clang::ento::iterator::isIterator | ( | const CXXRecordDecl * | CRD | ) |
Definition at line 27 of file Iterator.cpp.
References clang::AS_public, clang::NamedDecl::getName(), clang::Method, and clang::CXXRecordDecl::methods().
Referenced by isIteratorType().
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 | ( | BinaryOperatorKind | OK | ) |
Definition at line 174 of file Iterator.cpp.
| bool clang::ento::iterator::isRandomIncrOrDecrOperator | ( | OverloadedOperatorKind | OK | ) |
Definition at line 169 of file Iterator.cpp.
Referenced by isAccessOperator(), and isAccessOperator().
| ProgramStateRef clang::ento::iterator::setIteratorPosition | ( | ProgramStateRef | State, |
| SVal | Val, | ||
| const IteratorPosition & | Pos ) |
Definition at line 196 of file Iterator.cpp.
References clang::ento::SVal::getAs(), clang::ento::SVal::getAsRegion(), and clang::ento::SVal::getAsSymbol().
Referenced by advancePosition(), and createIteratorPosition().