clang API Documentation
#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"
#include "clang/AST/ParentMap.h"
#include "clang/Analysis/ProgramPoint.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Typedefs | |
typedef llvm::PointerIntPair < const PseudoObjectExpr *, 2 > | ObjCMessageDataTy |
Functions | |
static bool | isCallbackArg (SVal V, QualType T) |
static bool | isPointerToConst (QualType Ty) |
Returns true if a type is a pointer-to-const or reference-to-const with no further indirection. | |
static void | findPtrToConstParams (llvm::SmallSet< unsigned, 4 > &PreserveArgs, const CallEvent &Call) |
static void | addParameterValuesToBindings (const StackFrameContext *CalleeCtx, CallEvent::BindingsTy &Bindings, SValBuilder &SVB, const CallEvent &Call, ArrayRef< ParmVarDecl * > parameters) |
typedef llvm::PointerIntPair<const PseudoObjectExpr *, 2> ObjCMessageDataTy |
Definition at line 667 of file CallEvent.cpp.
static void addParameterValuesToBindings | ( | const StackFrameContext * | CalleeCtx, |
CallEvent::BindingsTy & | Bindings, | ||
SValBuilder & | SVB, | ||
const CallEvent & | Call, | ||
ArrayRef< ParmVarDecl * > | parameters | ||
) | [static] |
Definition at line 285 of file CallEvent.cpp.
References clang::ento::CallEvent::getArgSVal(), clang::ento::CallEvent::getNumArgs(), clang::ento::SValBuilder::getRegionManager(), clang::ento::MemRegionManager::getVarRegion(), clang::ento::SVal::isUnknown(), and clang::ento::SValBuilder::makeLoc().
Referenced by clang::ento::AnyFunctionCall::getInitialStackFrameContents(), clang::BlockCall::getInitialStackFrameContents(), and clang::ObjCMethodCall::getInitialStackFrameContents().
static void findPtrToConstParams | ( | llvm::SmallSet< unsigned, 4 > & | PreserveArgs, |
const CallEvent & | Call | ||
) | [static] |
Definition at line 127 of file CallEvent.cpp.
References isPointerToConst(), clang::ento::CallEvent::param_type_begin(), and clang::ento::CallEvent::param_type_end().
Referenced by clang::ento::CallEvent::invalidateRegions().
static bool isCallbackArg | ( | SVal | V, |
QualType | T | ||
) | [static] |
Definition at line 52 of file CallEvent.cpp.
References clang::Type::getAsStructureType(), clang::Type::getPointeeType(), clang::Type::isAnyPointerType(), clang::Type::isBlockPointerType(), clang::Type::isFunctionPointerType(), clang::Type::isObjCSelType(), clang::Type::isReferenceType(), and clang::ento::SVal::isZeroConstant().
Referenced by clang::ento::CallEvent::hasNonZeroCallbackArg().
static bool isPointerToConst | ( | QualType | Ty | ) | [static] |
Returns true if a type is a pointer-to-const or reference-to-const with no further indirection.
Definition at line 113 of file CallEvent.cpp.
References clang::Type::getPointeeType(), clang::Type::isAnyPointerType(), and clang::QualType::isConstQualified().
Referenced by findPtrToConstParams().