39 check::ASTDecl<FunctionDecl>,
43 check::BranchCondition,
44 check::ConstPointerEscape,
48 check::EndOfTranslationUnit,
49 check::Event<ImplicitNullDerefEvent>,
53 check::ObjCMessageNil,
56 check::PostObjCMessage,
57 check::PostStmt<DeclStmt>,
59 check::PreObjCMessage,
60 check::PreStmt<ReturnStmt>,
283 bool Assumption)
const {
return State; }
DeclStmt - Adaptor class for mixing declarations with statements and expressions.
Decl - This represents one declaration (or definition), e.g.
Represents a function declaration or definition.
It wraps the AnalysisDeclContext to represent both the call stack with the help of StackFrameContext ...
ReturnStmt - This represents a return, optionally of an expression: return; return 4;.
Stmt - This represents one statement.
The top declaration context.
BugReporter is a utility class for generating PathDiagnostics for analysis.
Represents the memory allocation call in a C++ new-expression.
Represents an abstract call to a function or method along a particular path.
This checker documents the callback functions checkers can use to implement the custom handling of th...
void checkNewAllocator(const CXXAllocatorCall &, CheckerContext &) const
Post-visit the C++ operator new's allocation call.
void checkLiveSymbols(ProgramStateRef State, SymbolReaper &SR) const
Allows modifying SymbolReaper object.
void checkEndFunction(const ReturnStmt *RS, CheckerContext &Ctx) const
Called when the analyzer core reaches the end of a function being analyzed regardless of whether it i...
ProgramStateRef evalAssume(ProgramStateRef State, SVal Cond, bool Assumption) const
Handles assumptions on symbolic values.
void checkEndAnalysis(ExplodedGraph &G, BugReporter &BR, ExprEngine &Eng) const
Called after all the paths in the ExplodedGraph reach end of path.
void checkBind(SVal Loc, SVal Val, const Stmt *S, bool AtDeclInit, CheckerContext &) const
Called on binding of a value to a location.
bool evalCall(const CallEvent &Call, CheckerContext &C) const
Evaluates function call.
void checkPostStmt(const DeclStmt *DS, CheckerContext &C) const
Post-visit the Statement.
ProgramStateRef checkRegionChanges(ProgramStateRef State, const InvalidatedSymbols *Invalidated, ArrayRef< const MemRegion * > ExplicitRegions, ArrayRef< const MemRegion * > Regions, const LocationContext *LCtx, const CallEvent *Call) const
Called when the contents of one or more regions change.
ProgramStateRef checkConstPointerEscape(ProgramStateRef State, const InvalidatedSymbols &Escaped, const CallEvent *Call, PointerEscapeKind Kind) const
Called when const pointers escape.
void checkPreObjCMessage(const ObjCMethodCall &M, CheckerContext &C) const
Pre-visit the Objective C message.
void checkBlockEntrance(const BlockEntrance &E, CheckerContext &) const
Called after a CFG edge is taken within a function.
ProgramStateRef checkPointerEscape(ProgramStateRef State, const InvalidatedSymbols &Escaped, const CallEvent *Call, PointerEscapeKind Kind) const
Called when pointers escape.
void checkPostObjCMessage(const ObjCMethodCall &M, CheckerContext &C) const
Post-visit the Objective C message.
void checkEndOfTranslationUnit(const TranslationUnitDecl *TU, AnalysisManager &Mgr, BugReporter &BR) const
Called after analysis of a TranslationUnit is complete.
void checkPostCall(const CallEvent &Call, CheckerContext &C) const
Post-visit an abstract "call" event.
void checkPreCall(const CallEvent &Call, CheckerContext &C) const
Pre-visit an abstract "call" event.
void checkObjCMessageNil(const ObjCMethodCall &M, CheckerContext &C) const
Visit an Objective-C message whose receiver is nil.
void checkDeadSymbols(SymbolReaper &SR, CheckerContext &C) const
Called whenever a symbol becomes dead.
void checkASTDecl(const FunctionDecl *D, AnalysisManager &Mgr, BugReporter &BR) const
Check every declaration in the AST.
void checkLocation(SVal Loc, bool IsLoad, const Stmt *S, CheckerContext &) const
Called on a load from and a store to a location.
void checkASTCodeBody(const Decl *D, AnalysisManager &Mgr, BugReporter &BR) const
Check every declaration that has a statement body in the AST.
void checkEvent(ImplicitNullDerefEvent Event) const
check::Event<ImplicitNullDerefEvent>
void checkBranchCondition(const Stmt *Condition, CheckerContext &Ctx) const
Pre-visit of the condition statement of a branch.
void checkPreStmt(const ReturnStmt *DS, CheckerContext &C) const
Pre-visit the Statement.
void checkBeginFunction(CheckerContext &Ctx) const
Called when the analyzer core starts analyzing a function, regardless of whether it is analyzed at th...
CHECKER * registerChecker(AT &&...Args)
Register a single-part checker (derived from Checker): construct its singleton instance,...
Simple checker classes that implement one frontend (i.e.
clang::ento::Checker< check::ASTCodeBody, check::ASTDecl< FunctionDecl >, check::BeginFunction, check::Bind, check::BlockEntrance, check::BranchCondition, check::ConstPointerEscape, check::DeadSymbols, check::EndAnalysis, check::EndFunction, check::EndOfTranslationUnit, check::Event< ImplicitNullDerefEvent >, check::LiveSymbols, check::Location, check::NewAllocator, check::ObjCMessageNil, check::PointerEscape, check::PostCall, check::PostObjCMessage, check::PostStmt< DeclStmt >, check::PreCall, check::PreObjCMessage, check::PreStmt< ReturnStmt >, check::RegionChanges, eval::Assume, eval::Call >::BlockEntrance clang::BlockEntrance BlockEntrance
Represents any expression that calls an Objective-C method.
SVal - This represents a symbolic expression, which can be either an L-value or an R-value.
A class responsible for cleaning up unused symbols.
PointerEscapeKind
Describes the different reasons a pointer escapes during analysis.
llvm::DenseSet< SymbolRef > InvalidatedSymbols
IntrusiveRefCntPtr< const ProgramState > ProgramStateRef
void registerCheckerDocumentationChecker(CheckerManager &Mgr)
bool shouldRegisterCheckerDocumentationChecker(const CheckerManager &)
The JSON file list parser is used to communicate input to InstallAPI.
We dereferenced a location that may be null.