clang: lib/StaticAnalyzer/Checkers/CastValueChecker.cpp File Reference (original) (raw)
Go to the source code of this file.
Functions |
|
static bool |
isInfeasibleCast (const DynamicCastInfo *CastInfo, bool CastSucceeds) |
|
|
static const NoteTag * |
getNoteTag (CheckerContext &C, const DynamicCastInfo *CastInfo, QualType CastToTy, const Expr *Object, bool CastSucceeds, bool IsKnownCast) |
|
|
static const NoteTag * |
getNoteTag (CheckerContext &C, SmallVector< QualType, 4 > CastToTyVec, const Expr *Object, bool IsKnownCast) |
|
|
static QualType |
alignReferenceTypes (QualType toAlign, QualType alignTowards, ASTContext &ACtx) |
|
|
static void |
addCastTransition (const CallEvent &Call, DefinedOrUnknownSVal DV, CheckerContext &C, bool IsNonNullParam, bool IsNonNullReturn, bool IsCheckedCast=false) |
|
|
static void |
addInstanceOfTransition (const CallEvent &Call, DefinedOrUnknownSVal DV, ProgramStateRef State, CheckerContext &C, bool IsInstanceOf) |
|
|
static void |
evalNonNullParamNonNullReturn (const CallEvent &Call, DefinedOrUnknownSVal DV, CheckerContext &C, bool IsCheckedCast=false) |
|
|
static void |
evalNonNullParamNullReturn (const CallEvent &Call, DefinedOrUnknownSVal DV, CheckerContext &C) |
|
|
static void |
evalNullParamNullReturn (const CallEvent &Call, DefinedOrUnknownSVal DV, CheckerContext &C) |
|
|
static void |
evalZeroParamNonNullReturn (const CallEvent &Call, DefinedOrUnknownSVal DV, CheckerContext &C, bool IsCheckedCast=false) |
|
|
static void |
evalZeroParamNullReturn (const CallEvent &Call, DefinedOrUnknownSVal DV, CheckerContext &C) |
|
|
◆ addCastTransition()
Definition at line 198 of file CastValueChecker.cpp.
References alignReferenceTypes(), clang::C, clang::Call, clang::ento::SVal::getAsRegion(), clang::ento::getDynamicCastInfo(), getNoteTag(), isInfeasibleCast(), clang::Type::isPointerType(), clang::Type::isReferenceType(), clang::ento::setDynamicTypeAndCastInfo(), clang::ento::DynamicCastInfo::succeeds(), and V.
Referenced by evalNonNullParamNonNullReturn(), evalNonNullParamNullReturn(), evalZeroParamNonNullReturn(), and evalZeroParamNullReturn().
◆ addInstanceOfTransition()
Definition at line 259 of file CastValueChecker.cpp.
References alignReferenceTypes(), clang::C, clang::Call, clang::ento::SVal::castAs(), clang::TemplateArgumentList::get(), clang::ento::SVal::getAsRegion(), clang::TemplateArgument::getAsType(), clang::ento::getDynamicCastInfo(), clang::TemplateArgument::getKind(), getNoteTag(), clang::FunctionDecl::getTemplateSpecializationArgs(), clang::Type::isPointerType(), clang::Type::isReferenceType(), clang::TemplateArgument::Pack, clang::TemplateArgument::pack_elements(), clang::ento::setDynamicTypeAndCastInfo(), clang::ento::DynamicCastInfo::succeeds(), clang::Success, and clang::TemplateArgument::Type.
◆ alignReferenceTypes()
◆ evalNonNullParamNonNullReturn()
◆ evalNonNullParamNullReturn()
◆ evalNullParamNullReturn()
◆ evalZeroParamNonNullReturn()
◆ evalZeroParamNullReturn()
◆ getNoteTag() [1/2]
◆ getNoteTag() [2/2]
◆ isInfeasibleCast()