|
clang
5.0.0
|
#include "clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h"
Public Member Functions | |
| BasicValueFactory (ASTContext &ctx, llvm::BumpPtrAllocator &Alloc) | |
| ~BasicValueFactory () | |
| ASTContext & | getContext () const |
| const llvm::APSInt & | getValue (const llvm::APSInt &X) |
| const llvm::APSInt & | getValue (const llvm::APInt &X, bool isUnsigned) |
| const llvm::APSInt & | getValue (uint64_t X, QualType T) |
| APSIntType | getAPSIntType (QualType T) const |
| Returns the type of the APSInt used to store values of the given QualType. More... | |
| const llvm::APSInt & | Convert (const llvm::APSInt &To, const llvm::APSInt &From) |
| Convert - Create a new persistent APSInt with the same value as 'From' but with the bitwidth and signedness of 'To'. More... | |
| const llvm::APSInt & | Convert (QualType T, const llvm::APSInt &From) |
| const llvm::APSInt & | getIntValue (uint64_t X, bool isUnsigned) |
| const llvm::APSInt & | getMaxValue (const llvm::APSInt &v) |
| const llvm::APSInt & | getMinValue (const llvm::APSInt &v) |
| const llvm::APSInt & | getMaxValue (QualType T) |
| const llvm::APSInt & | getMinValue (QualType T) |
| const llvm::APSInt & | Add1 (const llvm::APSInt &V) |
| const llvm::APSInt & | Sub1 (const llvm::APSInt &V) |
| const llvm::APSInt & | getZeroWithTypeSize (QualType T) |
| const llvm::APSInt & | getZeroWithPtrWidth (bool isUnsigned=true) |
| const llvm::APSInt & | getIntWithPtrWidth (uint64_t X, bool isUnsigned) |
| const llvm::APSInt & | getTruthValue (bool b, QualType T) |
| const llvm::APSInt & | getTruthValue (bool b) |
| const CompoundValData * | getCompoundValData (QualType T, llvm::ImmutableList< SVal > Vals) |
| const LazyCompoundValData * | getLazyCompoundValData (const StoreRef &store, const TypedValueRegion *region) |
| const PointerToMemberData * | getPointerToMemberData (const DeclaratorDecl *DD, llvm::ImmutableList< const CXXBaseSpecifier * > L) |
| llvm::ImmutableList< SVal > | getEmptySValList () |
| llvm::ImmutableList< SVal > | prependSVal (SVal X, llvm::ImmutableList< SVal > L) |
| llvm::ImmutableList< const CXXBaseSpecifier * > | getEmptyCXXBaseList () |
| llvm::ImmutableList< const CXXBaseSpecifier * > | prependCXXBase (const CXXBaseSpecifier *CBS, llvm::ImmutableList< const CXXBaseSpecifier * > L) |
| const clang::ento::PointerToMemberData * | accumCXXBase (llvm::iterator_range< CastExpr::path_const_iterator > PathRange, const nonloc::PointerToMember &PTM) |
| const llvm::APSInt * | evalAPSInt (BinaryOperator::Opcode Op, const llvm::APSInt &V1, const llvm::APSInt &V2) |
| const std::pair< SVal, uintptr_t > & | getPersistentSValWithData (const SVal &V, uintptr_t Data) |
| const std::pair< SVal, SVal > & | getPersistentSValPair (const SVal &V1, const SVal &V2) |
| const SVal * | getPersistentSVal (SVal X) |
Definition at line 89 of file BasicValueFactory.h.
|
inline |
Definition at line 111 of file BasicValueFactory.h.
| BasicValueFactory::~BasicValueFactory | ( | ) |
Definition at line 68 of file BasicValueFactory.cpp.
| const clang::ento::PointerToMemberData * BasicValueFactory::accumCXXBase | ( | llvm::iterator_range< CastExpr::path_const_iterator > | PathRange, |
| const nonloc::PointerToMember & | PTM | ||
| ) |
Definition at line 170 of file BasicValueFactory.cpp.
References clang::ento::PointerToMemberData::getCXXBaseList(), clang::ento::PointerToMemberData::getDeclaratorDecl(), getPointerToMemberData(), clang::ento::nonloc::PointerToMember::getPTMData(), I, and prependCXXBase().
|
inline |
Definition at line 171 of file BasicValueFactory.h.
References X.
|
inline |
Convert - Create a new persistent APSInt with the same value as 'From' but with the bitwidth and signedness of 'To'.
Definition at line 133 of file BasicValueFactory.h.
References clang::ento::APSIntType::convert().
Referenced by clang::ento::ProgramState::getSVal().
|
inline |
Definition at line 142 of file BasicValueFactory.h.
References clang::ento::APSIntType::convert(), and getAPSIntType().
| const llvm::APSInt * BasicValueFactory::evalAPSInt | ( | BinaryOperator::Opcode | Op, |
| const llvm::APSInt & | V1, | ||
| const llvm::APSInt & | V2 | ||
| ) |
Definition at line 196 of file BasicValueFactory.cpp.
References getTruthValue().
Referenced by clang::ento::nonloc::ConcreteInt::evalBinOp(), and clang::ento::loc::ConcreteInt::evalBinOp().
|
inline |
Returns the type of the APSInt used to store values of the given QualType.
Definition at line 125 of file BasicValueFactory.h.
References clang::ASTContext::getIntWidth(), clang::Type::isIntegralOrEnumerationType(), clang::ento::Loc::isLocType(), and clang::Type::isSignedIntegerOrEnumerationType().
Referenced by clang::ento::RangedConstraintManager::assumeSymInclusiveRange(), clang::ento::RangedConstraintManager::assumeSymRel(), Convert(), getMaxValue(), getMinValue(), and getValue().
| const CompoundValData * BasicValueFactory::getCompoundValData | ( | QualType | T, |
| llvm::ImmutableList< SVal > | Vals | ||
| ) |
Definition at line 115 of file BasicValueFactory.cpp.
References ID, and clang::ento::CompoundValData::Profile().
Referenced by clang::ento::SValBuilder::makeCompoundVal().
|
inline |
Definition at line 118 of file BasicValueFactory.h.
|
inline |
Definition at line 222 of file BasicValueFactory.h.
|
inline |
Definition at line 214 of file BasicValueFactory.h.
Referenced by clang::ento::SValBuilder::makeZeroVal(), and clang::ento::ExprEngine::VisitInitListExpr().
|
inline |
Definition at line 150 of file BasicValueFactory.h.
References clang::ASTContext::IntTy, and clang::ASTContext::UnsignedIntTy.
Referenced by clang::ento::SValBuilder::makeIntVal().
|
inline |
Definition at line 192 of file BasicValueFactory.h.
References clang::ASTContext::getTypeSize(), and clang::ASTContext::VoidPtrTy.
Referenced by clang::ento::SValBuilder::makeIntValWithPtrWidth().
| const LazyCompoundValData * BasicValueFactory::getLazyCompoundValData | ( | const StoreRef & | store, |
| const TypedValueRegion * | region | ||
| ) |
Definition at line 134 of file BasicValueFactory.cpp.
References ID, and clang::ento::LazyCompoundValData::Profile().
Referenced by clang::ento::SValBuilder::makeLazyCompoundVal().
|
inline |
Definition at line 155 of file BasicValueFactory.h.
Referenced by getMaxValue().
|
inline |
Definition at line 163 of file BasicValueFactory.h.
References getAPSIntType(), and getMaxValue().
|
inline |
Definition at line 159 of file BasicValueFactory.h.
Referenced by clang::ento::ProgramState::assumeInBound(), and getMinValue().
|
inline |
Definition at line 167 of file BasicValueFactory.h.
References getAPSIntType(), and getMinValue().
Definition at line 340 of file BasicValueFactory.cpp.
References getPersistentSValWithData().
| const std::pair< SVal, SVal > & BasicValueFactory::getPersistentSValPair | ( | const SVal & | V1, |
| const SVal & | V2 | ||
| ) |
Definition at line 316 of file BasicValueFactory.cpp.
References ID, P, and clang::ento::SVal::Profile().
| const std::pair< SVal, uintptr_t > & BasicValueFactory::getPersistentSValWithData | ( | const SVal & | V, |
| uintptr_t | Data | ||
| ) |
Definition at line 291 of file BasicValueFactory.cpp.
References ID, P, and clang::ento::SVal::Profile().
Referenced by getPersistentSVal(), and clang::ento::SValBuilder::makeLocAsInteger().
| const PointerToMemberData * BasicValueFactory::getPointerToMemberData | ( | const DeclaratorDecl * | DD, |
| llvm::ImmutableList< const CXXBaseSpecifier * > | L | ||
| ) |
Definition at line 152 of file BasicValueFactory.cpp.
References ID, and clang::ento::PointerToMemberData::Profile().
Referenced by accumCXXBase().
Definition at line 196 of file BasicValueFactory.h.
References clang::ASTContext::getTypeSize().
Referenced by evalAPSInt(), getTruthValue(), and clang::ento::SValBuilder::makeTruthVal().
|
inline |
Definition at line 200 of file BasicValueFactory.h.
References clang::ASTContext::getLogicalOperationType(), and getTruthValue().
| const llvm::APSInt & BasicValueFactory::getValue | ( | const llvm::APSInt & | X | ) |
Definition at line 79 of file BasicValueFactory.cpp.
| const llvm::APSInt & BasicValueFactory::getValue | ( | const llvm::APInt & | X, |
| bool | isUnsigned | ||
| ) |
Definition at line 96 of file BasicValueFactory.cpp.
| const llvm::APSInt & BasicValueFactory::getValue | ( | uint64_t | X, |
| QualType | T | ||
| ) |
Definition at line 109 of file BasicValueFactory.cpp.
References getAPSIntType().
|
inline |
Definition at line 188 of file BasicValueFactory.h.
References clang::ASTContext::getTypeSize(), and clang::ASTContext::VoidPtrTy.
Referenced by clang::ento::SValBuilder::makeNull().
|
inline |
Definition at line 183 of file BasicValueFactory.h.
References clang::ASTContext::getTypeSize(), and clang::Type::isScalarType().
Referenced by clang::ento::SValBuilder::makeNullWithType().
|
inline |
Definition at line 226 of file BasicValueFactory.h.
Referenced by accumCXXBase().
|
inline |
Definition at line 218 of file BasicValueFactory.h.
Referenced by clang::ento::ExprEngine::VisitInitListExpr().
|
inline |
Definition at line 177 of file BasicValueFactory.h.
References X.
1.8.6