clang: lib/StaticAnalyzer/Core/CallEvent.cpp File Reference (original) (raw)

Go to the source code of this file.

Namespaces
namespace llvm
Diagnostic wrappers for TextAPI types for error reporting.
Macros
#define DEBUG_TYPE "static-analyzer-call-event"
Functions
static bool isCallback (QualType T)
static bool isVoidPointerToNonConst (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 bool isTransparentUnion (QualType T)
static SVal processArgument (SVal Value, const Expr *ArgumentExpr, const ParmVarDecl *Parameter, SValBuilder &SVB)
static SVal castArgToParamTypeIfNeeded (const CallEvent &Call, unsigned ArgIdx, SVal ArgVal, SValBuilder &SVB)
Cast the argument value to the type of the parameter at the function declaration.
static void addParameterValuesToBindings (const StackFrameContext *CalleeCtx, CallEvent::BindingsTy &Bindings, SValBuilder &SVB, const CallEvent &Call, ArrayRef< ParmVarDecl * > parameters)
static const Expr * getSyntacticFromForPseudoObjectExpr (const PseudoObjectExpr *POE)
static const ObjCMethodDecl * findDefiningRedecl (const ObjCMethodDecl *MD)
static const ObjCMethodDecl * lookupRuntimeDefinition (const ObjCInterfaceDecl *Interface, Selector LookupSelector, bool InstanceMethod)

DEBUG_TYPE

#define DEBUG_TYPE "static-analyzer-call-event"

ObjCMessageDataTy

addParameterValuesToBindings()

Definition at line 462 of file CallEvent.cpp.

References clang::Call, castArgToParamTypeIfNeeded(), clang::ento::CE_CXXAllocator, E, clang::ento::MemRegionManager::getParamVarRegion(), clang::ento::SValBuilder::getRegionManager(), clang::ento::SVal::isUnknown(), clang::ento::SValBuilder::makeLoc(), and processArgument().

Referenced by clang::ento::AnyFunctionCall::getInitialStackFrameContents(), clang::ento::BlockCall::getInitialStackFrameContents(), and clang::ento::ObjCMethodCall::getInitialStackFrameContents().

castArgToParamTypeIfNeeded()

findDefiningRedecl()

findPtrToConstParams()

static void findPtrToConstParams ( llvm::SmallSet< unsigned, 4 > & PreserveArgs, const CallEvent & Call ) static

getSyntacticFromForPseudoObjectExpr()

isCallback()

isPointerToConst()

isTransparentUnion()

isVoidPointerToNonConst()

lookupRuntimeDefinition()

processArgument()