clang API Documentation

Classes | Public Types | Public Member Functions
clang::ento::CheckerManager Class Reference

#include <CheckerManager.h>

List of all members.

Classes

struct  DeclCheckerInfo
struct  EventInfo
struct  RegionChangesCheckerInfo
struct  StmtCheckerInfo

Public Types

typedef CheckerBaseCheckerRef
typedef const void * CheckerTag
typedef CheckerFn< void()> CheckerDtor
typedef CheckerFn< void(const
Decl *, AnalysisManager
&, BugReporter &) 
CheckDeclFunc )
typedef bool(* HandlesDeclFunc )(const Decl *D)
typedef CheckerFn< void(const
Stmt *, CheckerContext &) 
CheckStmtFunc )
typedef CheckerFn< void(const
ObjCMethodCall
&, CheckerContext &)> 
CheckObjCMessageFunc
typedef CheckerFn< void(const
CallEvent &, CheckerContext &)> 
CheckCallFunc
typedef CheckerFn< void(const
SVal &location, bool isLoad,
const Stmt *S, CheckerContext &) 
CheckLocationFunc )
typedef CheckerFn< void(const
SVal &location, const SVal
&val, const Stmt *S,
CheckerContext &) 
CheckBindFunc )
typedef CheckerFn< void(ExplodedGraph
&, BugReporter &, ExprEngine &)> 
CheckEndAnalysisFunc
typedef CheckerFn< void(CheckerContext &)> CheckEndFunctionFunc
typedef CheckerFn< void(const
Stmt *, CheckerContext &) 
CheckBranchConditionFunc )
typedef CheckerFn< void(SymbolReaper
&, CheckerContext &)> 
CheckDeadSymbolsFunc
typedef CheckerFn< void(ProgramStateRef,
SymbolReaper &)> 
CheckLiveSymbolsFunc
typedef CheckerFn
< ProgramStateRef(ProgramStateRef,
const InvalidatedSymbols
*symbols, ArrayRef< const
MemRegion * > ExplicitRegions,
ArrayRef< const MemRegion * >
Regions, const CallEvent
*Call) 
CheckRegionChangesFunc )
typedef CheckerFn< bool(ProgramStateRef)> WantsRegionChangeUpdateFunc
typedef CheckerFn
< ProgramStateRef(ProgramStateRef,
const InvalidatedSymbols
&Escaped, const CallEvent
*Call, PointerEscapeKind Kind,
RegionAndSymbolInvalidationTraits
*ITraits) 
CheckPointerEscapeFunc )
typedef CheckerFn
< ProgramStateRef(ProgramStateRef,
const SVal &cond, bool
assumption)> 
EvalAssumeFunc
typedef CheckerFn< bool(const
CallExpr *, CheckerContext &) 
EvalCallFunc )
typedef CheckerFn< void(const
TranslationUnitDecl
*, AnalysisManager
&, BugReporter &) 
CheckEndOfTranslationUnit )
typedef bool(* HandlesStmtFunc )(const Stmt *D)
typedef void * EventTag
typedef CheckerFn< void(const
void *event) 
CheckEventFunc )

Public Member Functions

 CheckerManager (const LangOptions &langOpts, AnalyzerOptionsRef AOptions)
 ~CheckerManager ()
void setCurrentCheckName (CheckName name)
CheckName getCurrentCheckName () const
bool hasPathSensitiveCheckers () const
void finishedCheckerRegistration ()
const LangOptionsgetLangOpts () const
AnalyzerOptionsgetAnalyzerOptions ()
template<typename CHECKER >
CHECKERregisterChecker ()
 Used to register checkers.
template<typename CHECKER >
CHECKERregisterChecker (AnalyzerOptions &AOpts)
void runCheckersOnASTDecl (const Decl *D, AnalysisManager &mgr, BugReporter &BR)
 Run checkers handling Decls.
void runCheckersOnASTBody (const Decl *D, AnalysisManager &mgr, BugReporter &BR)
 Run checkers handling Decls containing a Stmt body.
void runCheckersForPreStmt (ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, const Stmt *S, ExprEngine &Eng)
 Run checkers for pre-visiting Stmts.
void runCheckersForPostStmt (ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, const Stmt *S, ExprEngine &Eng, bool wasInlined=false)
 Run checkers for post-visiting Stmts.
void runCheckersForStmt (bool isPreVisit, ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, const Stmt *S, ExprEngine &Eng, bool wasInlined=false)
 Run checkers for visiting Stmts.
void runCheckersForPreObjCMessage (ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, const ObjCMethodCall &msg, ExprEngine &Eng)
 Run checkers for pre-visiting obj-c messages.
void runCheckersForPostObjCMessage (ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, const ObjCMethodCall &msg, ExprEngine &Eng, bool wasInlined=false)
 Run checkers for post-visiting obj-c messages.
void runCheckersForObjCMessage (bool isPreVisit, ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, const ObjCMethodCall &msg, ExprEngine &Eng, bool wasInlined=false)
 Run checkers for visiting obj-c messages.
void runCheckersForPreCall (ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, const CallEvent &Call, ExprEngine &Eng)
 Run checkers for pre-visiting obj-c messages.
void runCheckersForPostCall (ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, const CallEvent &Call, ExprEngine &Eng, bool wasInlined=false)
 Run checkers for post-visiting obj-c messages.
void runCheckersForCallEvent (bool isPreVisit, ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, const CallEvent &Call, ExprEngine &Eng, bool wasInlined=false)
 Run checkers for visiting obj-c messages.
void 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.
void 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.
void runCheckersForEndAnalysis (ExplodedGraph &G, BugReporter &BR, ExprEngine &Eng)
 Run checkers for end of analysis.
void runCheckersForEndFunction (NodeBuilderContext &BC, ExplodedNodeSet &Dst, ExplodedNode *Pred, ExprEngine &Eng)
 Run checkers on end of function.
void runCheckersForBranchCondition (const Stmt *condition, ExplodedNodeSet &Dst, ExplodedNode *Pred, ExprEngine &Eng)
 Run checkers for branch condition.
void runCheckersForLiveSymbols (ProgramStateRef state, SymbolReaper &SymReaper)
 Run checkers for live symbols.
void runCheckersForDeadSymbols (ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, SymbolReaper &SymReaper, const Stmt *S, ExprEngine &Eng, ProgramPoint::Kind K)
 Run checkers for dead symbols.
bool wantsRegionChangeUpdate (ProgramStateRef state)
 True if at least one checker wants to check region changes.
ProgramStateRef runCheckersForRegionChanges (ProgramStateRef state, const InvalidatedSymbols *invalidated, ArrayRef< const MemRegion * > ExplicitRegions, ArrayRef< const MemRegion * > Regions, const CallEvent *Call)
 Run checkers for region changes.
ProgramStateRef runCheckersForPointerEscape (ProgramStateRef State, const InvalidatedSymbols &Escaped, const CallEvent *Call, PointerEscapeKind Kind, RegionAndSymbolInvalidationTraits *ITraits)
 Run checkers when pointers escape.
ProgramStateRef runCheckersForEvalAssume (ProgramStateRef state, SVal Cond, bool Assumption)
 Run checkers for handling assumptions on symbolic values.
void runCheckersForEvalCall (ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, const CallEvent &CE, ExprEngine &Eng)
 Run checkers for evaluating a call.
void runCheckersOnEndOfTranslationUnit (const TranslationUnitDecl *TU, AnalysisManager &mgr, BugReporter &BR)
 Run checkers for the entire Translation Unit.
void runCheckersForPrintState (raw_ostream &Out, ProgramStateRef State, const char *NL, const char *Sep)
 Run checkers for debug-printing a ProgramState.
void _registerForDecl (CheckDeclFunc checkfn, HandlesDeclFunc isForDeclFn)
void _registerForBody (CheckDeclFunc checkfn)
void _registerForPreStmt (CheckStmtFunc checkfn, HandlesStmtFunc isForStmtFn)
void _registerForPostStmt (CheckStmtFunc checkfn, HandlesStmtFunc isForStmtFn)
void _registerForPreObjCMessage (CheckObjCMessageFunc checkfn)
void _registerForPostObjCMessage (CheckObjCMessageFunc checkfn)
void _registerForPreCall (CheckCallFunc checkfn)
void _registerForPostCall (CheckCallFunc checkfn)
void _registerForLocation (CheckLocationFunc checkfn)
void _registerForBind (CheckBindFunc checkfn)
void _registerForEndAnalysis (CheckEndAnalysisFunc checkfn)
void _registerForEndFunction (CheckEndFunctionFunc checkfn)
void _registerForBranchCondition (CheckBranchConditionFunc checkfn)
void _registerForLiveSymbols (CheckLiveSymbolsFunc checkfn)
void _registerForDeadSymbols (CheckDeadSymbolsFunc checkfn)
void _registerForRegionChanges (CheckRegionChangesFunc checkfn, WantsRegionChangeUpdateFunc wantUpdateFn)
void _registerForPointerEscape (CheckPointerEscapeFunc checkfn)
void _registerForConstPointerEscape (CheckPointerEscapeFunc checkfn)
void _registerForEvalAssume (EvalAssumeFunc checkfn)
void _registerForEvalCall (EvalCallFunc checkfn)
void _registerForEndOfTranslationUnit (CheckEndOfTranslationUnit checkfn)
template<typename EVENT >
void _registerListenerForEvent (CheckEventFunc checkfn)
template<typename EVENT >
void _registerDispatcherForEvent ()
template<typename EVENT >
void _dispatchEvent (const EVENT &event) const

Detailed Description

Definition at line 150 of file CheckerManager.h.


Member Typedef Documentation

typedef CheckerFn<void (const SVal &location, const SVal &val, const Stmt *S, CheckerContext &) clang::ento::CheckerManager::CheckBindFunc)

Definition at line 462 of file CheckerManager.h.

Definition at line 471 of file CheckerManager.h.

Definition at line 453 of file CheckerManager.h.

Definition at line 474 of file CheckerManager.h.

Definition at line 436 of file CheckerManager.h.

Definition at line 465 of file CheckerManager.h.

Definition at line 468 of file CheckerManager.h.

Definition at line 503 of file CheckerManager.h.

typedef CheckerFn<void ()> clang::ento::CheckerManager::CheckerDtor

Definition at line 175 of file CheckerManager.h.

Definition at line 173 of file CheckerManager.h.

Definition at line 174 of file CheckerManager.h.

typedef CheckerFn<void (const void *event) clang::ento::CheckerManager::CheckEventFunc)

Definition at line 549 of file CheckerManager.h.

Definition at line 476 of file CheckerManager.h.

typedef CheckerFn<void (const SVal &location, bool isLoad, const Stmt *S, CheckerContext &) clang::ento::CheckerManager::CheckLocationFunc)

Definition at line 458 of file CheckerManager.h.

Definition at line 450 of file CheckerManager.h.

Definition at line 492 of file CheckerManager.h.

typedef CheckerFn<ProgramStateRef (ProgramStateRef, const InvalidatedSymbols *symbols, ArrayRef<const MemRegion *> ExplicitRegions, ArrayRef<const MemRegion *> Regions, const CallEvent *Call) clang::ento::CheckerManager::CheckRegionChangesFunc)

Definition at line 483 of file CheckerManager.h.

typedef CheckerFn<void (const Stmt *, CheckerContext &) clang::ento::CheckerManager::CheckStmtFunc)

Definition at line 447 of file CheckerManager.h.

Definition at line 496 of file CheckerManager.h.

Definition at line 499 of file CheckerManager.h.

Definition at line 548 of file CheckerManager.h.

Definition at line 438 of file CheckerManager.h.

Definition at line 505 of file CheckerManager.h.

Definition at line 485 of file CheckerManager.h.


Constructor & Destructor Documentation

clang::ento::CheckerManager::CheckerManager ( const LangOptions langOpts,
AnalyzerOptionsRef  AOptions 
) [inline]

Definition at line 156 of file CheckerManager.h.

Definition at line 710 of file CheckerManager.cpp.


Member Function Documentation

template<typename EVENT >
void clang::ento::CheckerManager::_dispatchEvent ( const EVENT &  event) const [inline]
template<typename EVENT >
void clang::ento::CheckerManager::_registerDispatcherForEvent ( ) [inline]

Definition at line 558 of file CheckerManager.h.

Referenced by clang::ento::EventDispatcher< EVENT >::_register().

Definition at line 634 of file CheckerManager.cpp.

Referenced by clang::ento::check::Bind::_register().

Definition at line 597 of file CheckerManager.cpp.

Referenced by clang::ento::check::ASTCodeBody::_register().

Definition at line 646 of file CheckerManager.cpp.

Referenced by clang::ento::check::BranchCondition::_register().

Definition at line 669 of file CheckerManager.cpp.

Definition at line 655 of file CheckerManager.cpp.

Referenced by clang::ento::check::DeadSymbols::_register().

void CheckerManager::_registerForDecl ( CheckDeclFunc  checkfn,
HandlesDeclFunc  isForDeclFn 
)

Definition at line 591 of file CheckerManager.cpp.

Referenced by clang::ento::check::ASTDecl< DECL >::_register().

Definition at line 638 of file CheckerManager.cpp.

Referenced by clang::ento::check::EndAnalysis::_register().

Definition at line 642 of file CheckerManager.cpp.

Referenced by clang::ento::check::EndFunction::_register().

Definition at line 674 of file CheckerManager.cpp.

Referenced by clang::ento::eval::Assume::_register().

Definition at line 678 of file CheckerManager.cpp.

Referenced by clang::ento::eval::Call::_register().

Definition at line 651 of file CheckerManager.cpp.

Referenced by clang::ento::check::LiveSymbols::_register().

Definition at line 630 of file CheckerManager.cpp.

Referenced by clang::ento::check::Location::_register().

Definition at line 626 of file CheckerManager.cpp.

Referenced by clang::ento::check::PostCall::_register().

Definition at line 619 of file CheckerManager.cpp.

Referenced by clang::ento::check::PostObjCMessage::_register().

Definition at line 610 of file CheckerManager.cpp.

Referenced by clang::ento::check::PostStmt< STMT >::_register().

Definition at line 623 of file CheckerManager.cpp.

Referenced by clang::ento::check::PreCall::_register().

Definition at line 616 of file CheckerManager.cpp.

Referenced by clang::ento::check::PreObjCMessage::_register().

Definition at line 659 of file CheckerManager.cpp.

Referenced by clang::ento::check::RegionChanges::_register().

template<typename EVENT >
void clang::ento::CheckerManager::_registerListenerForEvent ( CheckEventFunc  checkfn) [inline]

Definition at line 552 of file CheckerManager.h.

Referenced by clang::ento::check::Event< EVENT >::_register().

Definition at line 42 of file CheckerManager.cpp.

Definition at line 171 of file CheckerManager.h.

Definition at line 164 of file CheckerManager.h.

Definition at line 170 of file CheckerManager.h.

Definition at line 24 of file CheckerManager.cpp.

template<typename CHECKER >
CHECKER* clang::ento::CheckerManager::registerChecker ( ) [inline]

Used to register checkers.

Returns:
a pointer to the checker object.

Definition at line 185 of file CheckerManager.h.

References CHECKER.

template<typename CHECKER >
CHECKER* clang::ento::CheckerManager::registerChecker ( AnalyzerOptions AOpts) [inline]

Definition at line 200 of file CheckerManager.h.

References CHECKER.

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 337 of file CheckerManager.cpp.

References AttributeLangSupport::C, and expandGraphWithCheckers().

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 401 of file CheckerManager.cpp.

References AttributeLangSupport::C, expandGraphWithCheckers(), and clang::ento::ExplodedNodeSet::insert().

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 248 of file CheckerManager.cpp.

References AttributeLangSupport::C, and expandGraphWithCheckers().

Referenced by runCheckersForPostCall(), and runCheckersForPreCall().

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 450 of file CheckerManager.cpp.

References AttributeLangSupport::C, and expandGraphWithCheckers().

Referenced by clang::ento::ExprEngine::removeDead().

Run checkers for end of analysis.

Definition at line 346 of file CheckerManager.cpp.

Referenced by clang::ento::ExprEngine::processEndWorklist().

Run checkers on end of function.

Run checkers for end of path.

Definition at line 356 of file CheckerManager.cpp.

References clang::ento::NodeBuilderContext::Block, AttributeLangSupport::C, and clang::ento::ExplodedNode::getLocationContext().

Referenced by clang::ento::ExprEngine::processEndOfFunction().

Run checkers for handling assumptions on symbolic values.

Definition at line 510 of file CheckerManager.cpp.

Referenced by clang::ento::ExprEngine::processAssume().

void CheckerManager::runCheckersForEvalCall ( ExplodedNodeSet Dst,
const ExplodedNodeSet Src,
const CallEvent CE,
ExprEngine Eng 
)

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 412 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 297 of file CheckerManager.cpp.

References AttributeLangSupport::C, and expandGraphWithCheckers().

void CheckerManager::runCheckersForObjCMessage ( bool  isPreVisit,
ExplodedNodeSet Dst,
const ExplodedNodeSet Src,
const ObjCMethodCall msg,
ExprEngine Eng,
bool  wasInlined = false 
)

Run checkers for visiting obj-c messages.

Definition at line 205 of file CheckerManager.cpp.

References AttributeLangSupport::C, and expandGraphWithCheckers().

Referenced by runCheckersForPostObjCMessage(), and runCheckersForPreObjCMessage().

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.

Parameters:
StateThe state at the point of escape.
EscapedThe list of escaped symbols.
CallThe corresponding CallEvent, if the symbols escape as parameters to the given call.
KindThe reason of pointer escape.
ITraitsInformation about invalidation for a particular region/symbol.
Returns:
Checkers can modify the state by returning a new one.

Definition at line 489 of file CheckerManager.cpp.

References clang::ento::PSK_DirectEscapeOnCall, clang::ento::PSK_IndirectEscapeOnCall, and State.

Referenced by clang::ento::ExprEngine::notifyCheckersOfPointerEscape(), and clang::ento::ExprEngine::processPointerEscapedOnBind().

void clang::ento::CheckerManager::runCheckersForPostCall ( ExplodedNodeSet Dst,
const ExplodedNodeSet Src,
const CallEvent Call,
ExprEngine Eng,
bool  wasInlined = false 
) [inline]
void clang::ento::CheckerManager::runCheckersForPostObjCMessage ( ExplodedNodeSet Dst,
const ExplodedNodeSet Src,
const ObjCMethodCall msg,
ExprEngine Eng,
bool  wasInlined = false 
) [inline]

Run checkers for post-visiting obj-c messages.

Definition at line 272 of file CheckerManager.h.

References runCheckersForObjCMessage().

Referenced by clang::ento::ExprEngine::processCallExit(), and clang::ento::ExprEngine::VisitObjCMessage().

void clang::ento::CheckerManager::runCheckersForPostStmt ( ExplodedNodeSet Dst,
const ExplodedNodeSet Src,
const Stmt S,
ExprEngine Eng,
bool  wasInlined = false 
) [inline]
void clang::ento::CheckerManager::runCheckersForPreCall ( ExplodedNodeSet Dst,
const ExplodedNodeSet Src,
const CallEvent Call,
ExprEngine Eng 
) [inline]

Run checkers for pre-visiting obj-c messages.

Definition at line 264 of file CheckerManager.h.

References runCheckersForObjCMessage().

Referenced by clang::ento::ExprEngine::VisitObjCMessage().

void clang::ento::CheckerManager::runCheckersForPreStmt ( ExplodedNodeSet Dst,
const ExplodedNodeSet Src,
const Stmt S,
ExprEngine Eng 
) [inline]
void CheckerManager::runCheckersForPrintState ( raw_ostream &  Out,
ProgramStateRef  State,
const char *  NL,
const char *  Sep 
)

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.

Parameters:
OutThe output stream
StateThe state being printed
NLThe preferred representation of a newline.
SepThe preferred separator between different kinds of data.

Definition at line 579 of file CheckerManager.cpp.

Referenced by clang::ento::ExprEngine::printState().

ProgramStateRef CheckerManager::runCheckersForRegionChanges ( ProgramStateRef  state,
const InvalidatedSymbols invalidated,
ArrayRef< const MemRegion * >  ExplicitRegions,
ArrayRef< const MemRegion * >  Regions,
const CallEvent Call 
)

Run checkers for region changes.

This corresponds to the check::RegionChanges callback.

Parameters:
stateThe current program state.
invalidatedA set of all symbols potentially touched by the change.
ExplicitRegionsThe regions explicitly requested for invalidation. For example, in the case of a function call, these would be arguments.
RegionsThe transitive closure of accessible regions, i.e. all regions that may have been touched by this change.
CallThe call expression wrapper if the regions are invalidated by a call.

Definition at line 471 of file CheckerManager.cpp.

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 166 of file CheckerManager.cpp.

References AttributeLangSupport::C, and expandGraphWithCheckers().

Referenced by runCheckersForPostStmt(), and runCheckersForPreStmt().

void CheckerManager::runCheckersOnASTBody ( const Decl D,
AnalysisManager mgr,
BugReporter BR 
)

Run checkers handling Decls containing a Stmt body.

Definition at line 81 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 56 of file CheckerManager.cpp.

References clang::Decl::getKind().

Run checkers for the entire Translation Unit.

Definition at line 571 of file CheckerManager.cpp.

Definition at line 163 of file CheckerManager.h.

Referenced by clang::ento::CheckerRegistry::initializeManager().

True if at least one checker wants to check region changes.

Definition at line 461 of file CheckerManager.cpp.

Referenced by clang::ento::ExprEngine::wantsRegionChangeUpdate().


The documentation for this class was generated from the following files: