clang
10.0.0git
|
#include "clang/StaticAnalyzer/Core/CheckerManager.h"
Definition at line 123 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckBeginFunctionFunc = CheckerFn<void (CheckerContext &)> |
Definition at line 466 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckBindFunc = CheckerFn<void (const SVal &location, const SVal &val, const Stmt *S, CheckerContext &)> |
Definition at line 461 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckBranchConditionFunc = CheckerFn<void (const Stmt *, CheckerContext &)> |
Definition at line 472 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckCallFunc = CheckerFn<void (const CallEvent &, CheckerContext &)> |
Definition at line 453 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckDeadSymbolsFunc = CheckerFn<void (SymbolReaper &, CheckerContext &)> |
Definition at line 478 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckDeclFunc = CheckerFn<void (const Decl *, AnalysisManager&, BugReporter &)> |
Definition at line 435 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckEndAnalysisFunc = CheckerFn<void (ExplodedGraph &, BugReporter &, ExprEngine &)> |
Definition at line 464 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckEndFunctionFunc = CheckerFn<void (const ReturnStmt *, CheckerContext &)> |
Definition at line 469 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckEndOfTranslationUnit = CheckerFn<void (const TranslationUnitDecl *, AnalysisManager &, BugReporter &)> |
Definition at line 504 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckerDtor = CheckerFn<void ()> |
Definition at line 154 of file CheckerManager.h.
Definition at line 152 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckerTag = const void * |
Definition at line 153 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckEventFunc = CheckerFn<void (const void *event)> |
Definition at line 555 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckLiveSymbolsFunc = CheckerFn<void (ProgramStateRef,SymbolReaper &)> |
Definition at line 480 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckLocationFunc = CheckerFn<void (const SVal &location, bool isLoad, const Stmt *S, CheckerContext &)> |
Definition at line 457 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckNewAllocatorFunc = CheckerFn<void (const CXXNewExpr *, SVal, CheckerContext &)> |
Definition at line 475 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckObjCMessageFunc = CheckerFn<void (const ObjCMethodCall &, CheckerContext &)> |
Definition at line 450 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckPointerEscapeFunc = CheckerFn<ProgramStateRef (ProgramStateRef, const InvalidatedSymbols &Escaped, const CallEvent *Call, PointerEscapeKind Kind, RegionAndSymbolInvalidationTraits *ITraits)> |
Definition at line 494 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckRegionChangesFunc = CheckerFn<ProgramStateRef (ProgramStateRef, const InvalidatedSymbols *symbols, ArrayRef<const MemRegion *> ExplicitRegions, ArrayRef<const MemRegion *> Regions, const LocationContext *LCtx, const CallEvent *Call)> |
Definition at line 488 of file CheckerManager.h.
using clang::ento::CheckerManager::CheckStmtFunc = CheckerFn<void (const Stmt *, CheckerContext &)> |
Definition at line 447 of file CheckerManager.h.
using clang::ento::CheckerManager::EvalAssumeFunc = CheckerFn<ProgramStateRef (ProgramStateRef, const SVal &cond, bool assumption)> |
Definition at line 498 of file CheckerManager.h.
using clang::ento::CheckerManager::EvalCallFunc = CheckerFn<bool (const CallEvent &, CheckerContext &)> |
Definition at line 500 of file CheckerManager.h.
using clang::ento::CheckerManager::EventTag = void * |
Definition at line 554 of file CheckerManager.h.
using clang::ento::CheckerManager::HandlesDeclFunc = bool (*)(const Decl *D) |
Definition at line 437 of file CheckerManager.h.
using clang::ento::CheckerManager::HandlesStmtFunc = bool (*)(const Stmt *D) |
Definition at line 506 of file CheckerManager.h.
|
inline |
Definition at line 130 of file CheckerManager.h.
CheckerManager::~CheckerManager | ( | ) |
Definition at line 906 of file CheckerManager.cpp.
|
inline |
Definition at line 570 of file CheckerManager.h.
References CHECKER.
Referenced by clang::ento::EventDispatcher< EVENT >::dispatchEvent().
|
inline |
Definition at line 564 of file CheckerManager.h.
Referenced by clang::ento::EventDispatcher< EVENT >::_register().
void CheckerManager::_registerForBeginFunction | ( | CheckBeginFunctionFunc | checkfn | ) |
Definition at line 834 of file CheckerManager.cpp.
Referenced by clang::ento::check::BeginFunction::_register().
void CheckerManager::_registerForBind | ( | CheckBindFunc | checkfn | ) |
Definition at line 826 of file CheckerManager.cpp.
Referenced by clang::ento::check::Bind::_register().
void CheckerManager::_registerForBody | ( | CheckDeclFunc | checkfn | ) |
Definition at line 783 of file CheckerManager.cpp.
Referenced by clang::ento::check::ASTCodeBody::_register().
void CheckerManager::_registerForBranchCondition | ( | CheckBranchConditionFunc | checkfn | ) |
Definition at line 842 of file CheckerManager.cpp.
Referenced by clang::ento::check::BranchCondition::_register().
void CheckerManager::_registerForConstPointerEscape | ( | CheckPointerEscapeFunc | checkfn | ) |
Definition at line 867 of file CheckerManager.cpp.
void CheckerManager::_registerForDeadSymbols | ( | CheckDeadSymbolsFunc | checkfn | ) |
Definition at line 855 of file CheckerManager.cpp.
Referenced by clang::ento::check::DeadSymbols::_register().
void CheckerManager::_registerForDecl | ( | CheckDeclFunc | checkfn, |
HandlesDeclFunc | isForDeclFn | ||
) |
Definition at line 777 of file CheckerManager.cpp.
Referenced by clang::ento::check::ASTDecl< DECL >::_register().
void CheckerManager::_registerForEndAnalysis | ( | CheckEndAnalysisFunc | checkfn | ) |
Definition at line 830 of file CheckerManager.cpp.
Referenced by clang::ento::check::EndAnalysis::_register().
void CheckerManager::_registerForEndFunction | ( | CheckEndFunctionFunc | checkfn | ) |
Definition at line 838 of file CheckerManager.cpp.
Referenced by clang::ento::check::EndFunction::_register().
void CheckerManager::_registerForEndOfTranslationUnit | ( | CheckEndOfTranslationUnit | checkfn | ) |
Definition at line 880 of file CheckerManager.cpp.
Referenced by clang::ento::check::EndOfTranslationUnit::_register().
void CheckerManager::_registerForEvalAssume | ( | EvalAssumeFunc | checkfn | ) |
Definition at line 872 of file CheckerManager.cpp.
Referenced by clang::ento::eval::Assume::_register().
void CheckerManager::_registerForEvalCall | ( | EvalCallFunc | checkfn | ) |
Definition at line 876 of file CheckerManager.cpp.
Referenced by clang::ento::eval::Call::_register().
void CheckerManager::_registerForLiveSymbols | ( | CheckLiveSymbolsFunc | checkfn | ) |
Definition at line 851 of file CheckerManager.cpp.
Referenced by clang::ento::check::LiveSymbols::_register().
void CheckerManager::_registerForLocation | ( | CheckLocationFunc | checkfn | ) |
Definition at line 822 of file CheckerManager.cpp.
Referenced by clang::ento::check::Location::_register().
void CheckerManager::_registerForNewAllocator | ( | CheckNewAllocatorFunc | checkfn | ) |
Definition at line 847 of file CheckerManager.cpp.
Referenced by clang::ento::check::NewAllocator::_register().
void CheckerManager::_registerForObjCMessageNil | ( | CheckObjCMessageFunc | checkfn | ) |
Definition at line 807 of file CheckerManager.cpp.
Referenced by clang::ento::check::ObjCMessageNil::_register().
void CheckerManager::_registerForPointerEscape | ( | CheckPointerEscapeFunc | checkfn | ) |
Definition at line 863 of file CheckerManager.cpp.
Referenced by clang::ento::check::PointerEscape::_register(), and clang::ento::check::ConstPointerEscape::_register().
void CheckerManager::_registerForPostCall | ( | CheckCallFunc | checkfn | ) |
Definition at line 818 of file CheckerManager.cpp.
Referenced by clang::ento::check::PostCall::_register().
void CheckerManager::_registerForPostObjCMessage | ( | CheckObjCMessageFunc | checkfn | ) |
Definition at line 811 of file CheckerManager.cpp.
Referenced by clang::ento::check::PostObjCMessage::_register().
void CheckerManager::_registerForPostStmt | ( | CheckStmtFunc | checkfn, |
HandlesStmtFunc | isForStmtFn | ||
) |
Definition at line 797 of file CheckerManager.cpp.
Referenced by clang::ento::check::PostStmt< STMT >::_register().
void CheckerManager::_registerForPreCall | ( | CheckCallFunc | checkfn | ) |
Definition at line 815 of file CheckerManager.cpp.
Referenced by clang::ento::check::PreCall::_register().
void CheckerManager::_registerForPreObjCMessage | ( | CheckObjCMessageFunc | checkfn | ) |
Definition at line 803 of file CheckerManager.cpp.
Referenced by clang::ento::check::PreObjCMessage::_register().
void CheckerManager::_registerForPreStmt | ( | CheckStmtFunc | checkfn, |
HandlesStmtFunc | isForStmtFn | ||
) |
Definition at line 791 of file CheckerManager.cpp.
Referenced by clang::ento::check::PreStmt< ReturnStmt >::_register().
void CheckerManager::_registerForRegionChanges | ( | CheckRegionChangesFunc | checkfn | ) |
Definition at line 859 of file CheckerManager.cpp.
Referenced by clang::ento::check::RegionChanges::_register().
|
inline |
Definition at line 558 of file CheckerManager.h.
Referenced by clang::ento::check::Event< EVENT >::_register().
void CheckerManager::finishedCheckerRegistration | ( | ) |
Definition at line 53 of file CheckerManager.cpp.
|
inline |
Definition at line 143 of file CheckerManager.h.
Referenced by clang::ento::getVariableName(), and clang::ento::registerInnerPointerCheckerAux().
|
inline |
Definition at line 144 of file CheckerManager.h.
|
inline |
Definition at line 180 of file CheckerManager.h.
References CHECKER.
Referenced by clang::ento::registerInnerPointerCheckerAux().
|
inline |
Definition at line 136 of file CheckerManager.h.
Referenced by clang::ento::registerInnerPointerCheckerAux().
|
inline |
Definition at line 142 of file CheckerManager.h.
bool CheckerManager::hasPathSensitiveCheckers | ( | ) | const |
Definition at line 35 of file CheckerManager.cpp.
|
inline |
Used to register checkers.
All arguments are automatically passed through to the checker constructor.
Definition at line 166 of file CheckerManager.h.
References CHECKER.
Referenced by clang::ento::mpi::MPIChecker::checkMissingWaits(), clang::ento::getVariableName(), clang::ento::retaincountchecker::RetainCountChecker::printState(), and clang::ento::registerInnerPointerCheckerAux().
void CheckerManager::reportInvalidCheckerOptionValue | ( | const CheckerBase * | C, |
StringRef | OptionName, | ||
StringRef | ExpectedValueDesc | ||
) |
Emits an error through a DiagnosticsEngine about an invalid user supplied checker option value.
Definition at line 63 of file CheckerManager.cpp.
References clang::ASTContext::getDiagnostics(), clang::ento::CheckerBase::getTagDescription(), and clang::DiagnosticsEngine::Report().
Referenced by clang::ento::getVariableName().
void CheckerManager::runCheckersForBeginFunction | ( | ExplodedNodeSet & | Dst, |
const BlockEdge & | L, | ||
ExplodedNode * | Pred, | ||
ExprEngine & | Eng | ||
) |
Run checkers on beginning of function.
Definition at line 436 of file CheckerManager.cpp.
References expandGraphWithCheckers(), and clang::ento::ExplodedNodeSet::insert().
Referenced by clang::ento::ExprEngine::processBeginOfFunction().
void CheckerManager::runCheckersForBind | ( | ExplodedNodeSet & | Dst, |
const ExplodedNodeSet & | Src, | ||
SVal | location, | ||
SVal | val, | ||
const Stmt * | S, | ||
ExprEngine & | Eng, | ||
const ProgramPoint & | PP | ||
) |
Run checkers for binding of a value to a location.
Definition at line 393 of file CheckerManager.cpp.
Referenced by clang::ento::ExprEngine::evalBind().
void CheckerManager::runCheckersForBranchCondition | ( | const Stmt * | condition, |
ExplodedNodeSet & | Dst, | ||
ExplodedNode * | Pred, | ||
ExprEngine & | Eng | ||
) |
Run checkers for branch condition.
Definition at line 494 of file CheckerManager.cpp.
References expandGraphWithCheckers(), clang::ento::ExplodedNode::getLocationContext(), clang::ento::ExplodedNodeSet::insert(), clang::interp::NE(), and clang::Target.
Referenced by clang::ento::ExprEngine::processBranch().
void CheckerManager::runCheckersForCallEvent | ( | bool | isPreVisit, |
ExplodedNodeSet & | Dst, | ||
const ExplodedNodeSet & | Src, | ||
const CallEvent & | Call, | ||
ExprEngine & | Eng, | ||
bool | wasInlined = false |
||
) |
Run checkers for visiting obj-c messages.
Run checkers for visiting an abstract call event.
Definition at line 298 of file CheckerManager.cpp.
References expandGraphWithCheckers(), clang::ento::ExplodedNode::getLocationContext(), clang::ProgramPoint::getProgramPoint(), clang::ProgramPoint::PreLoadKind, and clang::ProgramPoint::PreStoreKind.
void CheckerManager::runCheckersForDeadSymbols | ( | ExplodedNodeSet & | Dst, |
const ExplodedNodeSet & | Src, | ||
SymbolReaper & | SymReaper, | ||
const Stmt * | S, | ||
ExprEngine & | Eng, | ||
ProgramPoint::Kind | K | ||
) |
Run checkers for dead symbols.
Notifies checkers when symbols become dead. For example, this allows checkers to aggressively clean up/reduce the checker state and produce precise diagnostics.
Definition at line 584 of file CheckerManager.cpp.
Referenced by clang::ento::ExprEngine::removeDead().
void CheckerManager::runCheckersForEndAnalysis | ( | ExplodedGraph & | G, |
BugReporter & | BR, | ||
ExprEngine & | Eng | ||
) |
Run checkers for end of analysis.
Definition at line 402 of file CheckerManager.cpp.
References clang::ProgramPoint::withTag().
Referenced by clang::ento::ExprEngine::processEndWorklist().
void CheckerManager::runCheckersForEndFunction | ( | NodeBuilderContext & | BC, |
ExplodedNodeSet & | Dst, | ||
ExplodedNode * | Pred, | ||
ExprEngine & | Eng, | ||
const ReturnStmt * | RS | ||
) |
Run checkers on end of function.
Run checkers for end of path.
Definition at line 449 of file CheckerManager.cpp.
References clang::ento::ExplodedNode::getLocationContext().
Referenced by clang::ento::ExprEngine::processEndOfFunction().
ProgramStateRef CheckerManager::runCheckersForEvalAssume | ( | ProgramStateRef | state, |
SVal | Cond, | ||
bool | Assumption | ||
) |
Run checkers for handling assumptions on symbolic values.
Definition at line 636 of file CheckerManager.cpp.
References clang::CodeGen::state.
Referenced by clang::ento::ExprEngine::processAssume().
void CheckerManager::runCheckersForEvalCall | ( | ExplodedNodeSet & | Dst, |
const ExplodedNodeSet & | Src, | ||
const CallEvent & | Call, | ||
ExprEngine & | Eng | ||
) |
Run checkers for evaluating a call.
Warning: Currently, the CallEvent MUST come from a CallExpr!
Only one checker will evaluate the call.
Definition at line 650 of file CheckerManager.cpp.
References clang::ento::ExprEngine::defaultEvalCall(), clang::ento::ExprEngine::getBuilderContext(), clang::ento::CallEvent::getOriginExpr(), clang::ProgramPoint::getProgramPoint(), clang::ento::ExplodedNodeSet::insert(), and clang::ProgramPoint::PostStmtKind.
Referenced by clang::ento::ExprEngine::evalCall().
void CheckerManager::runCheckersForLiveSymbols | ( | ProgramStateRef | state, |
SymbolReaper & | SymReaper | ||
) |
Run checkers for live symbols.
Allows modifying SymbolReaper object. For example, checkers can explicitly register symbols of interest as live. These symbols will not be marked dead and removed.
Definition at line 543 of file CheckerManager.cpp.
Referenced by clang::ento::ExprEngine::removeDead().
void CheckerManager::runCheckersForLocation | ( | ExplodedNodeSet & | Dst, |
const ExplodedNodeSet & | Src, | ||
SVal | location, | ||
bool | isLoad, | ||
const Stmt * | NodeEx, | ||
const Stmt * | BoundEx, | ||
ExprEngine & | Eng | ||
) |
Run checkers for load/store of a location.
Definition at line 350 of file CheckerManager.cpp.
References expandGraphWithCheckers().
Referenced by clang::ento::ExprEngine::evalLoad().
void CheckerManager::runCheckersForNewAllocator | ( | const CXXNewExpr * | NE, |
SVal | Target, | ||
ExplodedNodeSet & | Dst, | ||
ExplodedNode * | Pred, | ||
ExprEngine & | Eng, | ||
bool | wasInlined = false |
||
) |
Run checkers between C++ operator new and constructor calls.
Definition at line 533 of file CheckerManager.cpp.
References expandGraphWithCheckers(), and clang::ento::ExplodedNodeSet::insert().
Referenced by clang::ento::ExprEngine::processCallExit(), and clang::ento::ExprEngine::VisitCXXNewAllocatorCall().
void CheckerManager::runCheckersForObjCMessage | ( | ObjCMessageVisitKind | visitKind, |
ExplodedNodeSet & | Dst, | ||
const ExplodedNodeSet & | Src, | ||
const ObjCMethodCall & | msg, | ||
ExprEngine & | Eng, | ||
bool | wasInlined = false |
||
) |
Run checkers for visiting obj-c messages.
Definition at line 240 of file CheckerManager.cpp.
References clang::ento::CallEvent::cloneWithState(), expandGraphWithCheckers(), clang::ento::CallEvent::getProgramPoint(), clang::ento::ExplodedNode::getState(), clang::ento::MessageNil, clang::ento::Post, and clang::ento::Pre.
|
inline |
Run checkers for visiting an obj-c message to nil.
Definition at line 256 of file CheckerManager.h.
References clang::ento::MessageNil.
Referenced by clang::ento::ExprEngine::VisitObjCMessage().
ProgramStateRef CheckerManager::runCheckersForPointerEscape | ( | ProgramStateRef | State, |
const InvalidatedSymbols & | Escaped, | ||
const CallEvent * | Call, | ||
PointerEscapeKind | Kind, | ||
RegionAndSymbolInvalidationTraits * | ITraits | ||
) |
Run checkers when pointers escape.
Run checkers to process symbol escape event.
This notifies the checkers about pointer escape, which occurs whenever the analyzer cannot track the symbol any more. For example, as a result of assigning a pointer into a global or when it's passed to a function call the analyzer cannot model.
State | The state at the point of escape. |
Escaped | The list of escaped symbols. |
Call | The corresponding CallEvent, if the symbols escape as parameters to the given call. |
Kind | The reason of pointer escape. |
ITraits | Information about invalidation for a particular region/symbol. |
Definition at line 615 of file CheckerManager.cpp.
References clang::ento::PSK_DirectEscapeOnCall, clang::ento::PSK_IndirectEscapeOnCall, and State.
Referenced by clang::ento::ExprEngine::escapeValues(), and clang::ento::ExprEngine::notifyCheckersOfPointerEscape().
|
inline |
Run checkers for post-visiting obj-c messages.
Definition at line 278 of file CheckerManager.h.
References clang::interp::NE(), clang::CodeGen::state, State, and clang::Target.
Referenced by clang::ento::ExprEngine::evalCall(), clang::ento::ExprEngine::processCallExit(), clang::ento::ExprEngine::VisitCXXConstructExpr(), clang::ento::ExprEngine::VisitCXXNewAllocatorCall(), and clang::ento::ExprEngine::VisitObjCMessage().
|
inline |
Run checkers for post-visiting obj-c messages.
Definition at line 246 of file CheckerManager.h.
References clang::ento::Post.
Referenced by clang::ento::ExprEngine::processCallExit(), and clang::ento::ExprEngine::VisitObjCMessage().
|
inline |
Run checkers for post-visiting Stmts.
The notification is performed for every explored CFGElement, which does not include the control flow statements such as IfStmt.
Definition at line 223 of file CheckerManager.h.
Referenced by clang::ento::ExprEngine::processCallExit(), clang::ento::ExprEngine::VisitArraySubscriptExpr(), clang::ento::ExprEngine::VisitAtomicExpr(), clang::ento::ExprEngine::VisitBlockExpr(), clang::ento::ExprEngine::VisitCallExpr(), clang::ento::ExprEngine::VisitCXXConstructExpr(), clang::ento::ExprEngine::VisitDeclStmt(), clang::ento::ExprEngine::VisitLambdaExpr(), clang::ento::ExprEngine::VisitLvalObjCIvarRefExpr(), clang::ento::ExprEngine::VisitMemberExpr(), and clang::ento::ExprEngine::VisitUnaryExprOrTypeTraitExpr().
|
inline |
Run checkers for pre-visiting obj-c messages.
Definition at line 272 of file CheckerManager.h.
Referenced by clang::ento::ExprEngine::evalCall(), clang::ento::ExprEngine::VisitCXXConstructExpr(), clang::ento::ExprEngine::VisitCXXNewAllocatorCall(), and clang::ento::ExprEngine::VisitObjCMessage().
|
inline |
Run checkers for pre-visiting obj-c messages.
Definition at line 238 of file CheckerManager.h.
References clang::ento::Pre.
Referenced by clang::ento::ExprEngine::VisitObjCMessage().
|
inline |
Run checkers for pre-visiting Stmts.
The notification is performed for every explored CFGElement, which does not include the control flow statements such as IfStmt.
Definition at line 210 of file CheckerManager.h.
Referenced by clang::ento::ExprEngine::Visit(), clang::ento::ExprEngine::VisitArraySubscriptExpr(), clang::ento::ExprEngine::VisitAtomicExpr(), clang::ento::ExprEngine::VisitBinaryOperator(), clang::ento::ExprEngine::VisitCallExpr(), clang::ento::ExprEngine::VisitCast(), clang::ento::ExprEngine::VisitCXXConstructExpr(), clang::ento::ExprEngine::VisitDeclStmt(), clang::ento::ExprEngine::VisitMemberExpr(), clang::ento::ExprEngine::VisitReturnStmt(), clang::ento::ExprEngine::VisitUnaryExprOrTypeTraitExpr(), and clang::ento::ExprEngine::VisitUnaryOperator().
void CheckerManager::runCheckersForPrintStateJson | ( | raw_ostream & | Out, |
ProgramStateRef | State, | ||
const char * | NL = "\n" , |
||
unsigned int | Space = 0 , |
||
bool | IsDot = false |
||
) | const |
Run checkers for debug-printing a ProgramState.
Unlike most other callbacks, any checker can simply implement the virtual method CheckerBase::printState if it has custom data to print.
Out | The output stream |
State | The state being printed |
NL | The preferred representation of a newline. |
Space | The preferred space between the left side and the message. |
IsDot | Whether the message will be printed in 'dot' format. |
Definition at line 704 of file CheckerManager.cpp.
References clang::Indent(), and NewLine.
Referenced by clang::ento::ExprEngine::printJson().
ProgramStateRef CheckerManager::runCheckersForRegionChanges | ( | ProgramStateRef | state, |
const InvalidatedSymbols * | invalidated, | ||
ArrayRef< const MemRegion *> | ExplicitRegions, | ||
ArrayRef< const MemRegion *> | Regions, | ||
const LocationContext * | LCtx, | ||
const CallEvent * | Call | ||
) |
Run checkers for region changes.
This corresponds to the check::RegionChanges callback.
state | The current program state. |
invalidated | A set of all symbols potentially touched by the change. |
ExplicitRegions | The regions explicitly requested for invalidation. For example, in the case of a function call, these would be arguments. |
Regions | The transitive closure of accessible regions, i.e. all regions that may have been touched by this change. |
Call | The call expression wrapper if the regions are invalidated by a call. |
Definition at line 596 of file CheckerManager.cpp.
References clang::CodeGen::state.
Referenced by clang::ento::ExprEngine::processRegionChanges().
void CheckerManager::runCheckersForStmt | ( | bool | isPreVisit, |
ExplodedNodeSet & | Dst, | ||
const ExplodedNodeSet & | Src, | ||
const Stmt * | S, | ||
ExprEngine & | Eng, | ||
bool | wasInlined = false |
||
) |
Run checkers for visiting Stmts.
Definition at line 184 of file CheckerManager.cpp.
void CheckerManager::runCheckersOnASTBody | ( | const Decl * | D, |
AnalysisManager & | mgr, | ||
BugReporter & | BR | ||
) |
Run checkers handling Decls containing a Stmt body.
Definition at line 98 of file CheckerManager.cpp.
References clang::Decl::hasBody().
void CheckerManager::runCheckersOnASTDecl | ( | const Decl * | D, |
AnalysisManager & | mgr, | ||
BugReporter & | BR | ||
) |
Run checkers handling Decls.
Definition at line 76 of file CheckerManager.cpp.
References clang::Decl::getKind().
void CheckerManager::runCheckersOnEndOfTranslationUnit | ( | const TranslationUnitDecl * | TU, |
AnalysisManager & | mgr, | ||
BugReporter & | BR | ||
) |
Run checkers for the entire Translation Unit.
Definition at line 696 of file CheckerManager.cpp.
|
inline |
Definition at line 135 of file CheckerManager.h.
References clang::transformer::name().
Referenced by clang::ento::CheckerRegistry::initializeManager().