clang API Documentation

Public Member Functions | Public Attributes
clang::ento::AnalysisManager Class Reference

#include <AnalysisManager.h>

Inheritance diagram for clang::ento::AnalysisManager:
Inheritance graph
[legend]
Collaboration diagram for clang::ento::AnalysisManager:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 AnalysisManager (ASTContext &ctx, DiagnosticsEngine &diags, const LangOptions &lang, PathDiagnosticConsumer *pd, StoreManagerCreator storemgr, ConstraintManagerCreator constraintmgr, CheckerManager *checkerMgr, unsigned maxnodes, unsigned maxvisit, bool vizdot, bool vizubi, AnalysisPurgeMode purge, bool eager, bool trim, bool useUnoptimizedCFG, bool addImplicitDtors, bool addInitializers, bool eagerlyTrimEGraph, AnalysisIPAMode ipa, unsigned inlineMaxStack, unsigned inlineMaxFunctionSize, AnalysisInliningMode inliningMode, bool NoRetry)
 AnalysisManager (ASTContext &ctx, DiagnosticsEngine &diags, AnalysisManager &ParentAM)
 ~AnalysisManager ()
void ClearContexts ()
AnalysisDeclContextManagergetAnalysisDeclContextManager ()
StoreManagerCreator getStoreManagerCreator ()
ConstraintManagerCreator getConstraintManagerCreator ()
CheckerManagergetCheckerManager () const
virtual ASTContextgetASTContext ()
virtual SourceManagergetSourceManager ()
virtual DiagnosticsEnginegetDiagnostic ()
const LangOptionsgetLangOpts () const
virtual PathDiagnosticConsumergetPathDiagnosticConsumer ()
void FlushDiagnostics ()
unsigned getMaxNodes () const
unsigned getMaxVisit () const
bool shouldVisualizeGraphviz () const
bool shouldVisualizeUbigraph () const
bool shouldVisualize () const
bool shouldEagerlyTrimExplodedGraph () const
bool shouldTrimGraph () const
AnalysisPurgeMode getPurgeMode () const
bool shouldEagerlyAssume () const
bool shouldInlineCall () const
CFGgetCFG (Decl const *D)
template<typename T >
T * getAnalysis (Decl const *D)
ParentMapgetParentMap (Decl const *D)
AnalysisDeclContextgetAnalysisDeclContext (const Decl *D)

Public Attributes

AnalysisIPAMode IPAMode
unsigned InlineMaxStackDepth
 The inlining stack depth limit.
unsigned InlineMaxFunctionSize
 The max number of basic blocks in a function being inlined.
AnalysisInliningMode InliningMode
 The mode of function selection used during inlining.
bool NoRetryExhausted
 Do not re-analyze paths leading to exhausted nodes with a different strategy. We get better code coverage when retry is enabled.

Detailed Description

Definition at line 28 of file AnalysisManager.h.


Constructor & Destructor Documentation

clang::ento::AnalysisManager::AnalysisManager ( ASTContext ctx,
DiagnosticsEngine diags,
const LangOptions lang,
PathDiagnosticConsumer pd,
StoreManagerCreator  storemgr,
ConstraintManagerCreator  constraintmgr,
CheckerManager checkerMgr,
unsigned  maxnodes,
unsigned  maxvisit,
bool  vizdot,
bool  vizubi,
AnalysisPurgeMode  purge,
bool  eager,
bool  trim,
bool  useUnoptimizedCFG,
bool  addImplicitDtors,
bool  addInitializers,
bool  eagerlyTrimEGraph,
AnalysisIPAMode  ipa,
unsigned  inlineMaxStack,
unsigned  inlineMaxFunctionSize,
AnalysisInliningMode  inliningMode,
bool  NoRetry 
)
AnalysisManager::AnalysisManager ( ASTContext ctx,
DiagnosticsEngine diags,
AnalysisManager ParentAM 
)
clang::ento::AnalysisManager::~AnalysisManager ( ) [inline]

Definition at line 109 of file AnalysisManager.h.

References FlushDiagnostics().


Member Function Documentation

void clang::ento::AnalysisManager::ClearContexts ( ) [inline]

Definition at line 111 of file AnalysisManager.h.

References clang::AnalysisDeclContextManager::clear().

void PathDiagnosticConsumer::FlushDiagnostics ( ) [inline]

Definition at line 149 of file AnalysisManager.h.

Referenced by ~AnalysisManager().

template<typename T >
T* clang::ento::AnalysisManager::getAnalysis ( Decl const *  D) [inline]
AnalysisDeclContext* clang::ento::AnalysisManager::getAnalysisDeclContext ( const Decl D) [inline]
AnalysisDeclContextManager& clang::ento::AnalysisManager::getAnalysisDeclContextManager ( ) [inline]

Definition at line 115 of file AnalysisManager.h.

virtual ASTContext& clang::ento::AnalysisManager::getASTContext ( ) [inline, virtual]
CFG* clang::ento::AnalysisManager::getCFG ( Decl const *  D) [inline]
CheckerManager* clang::ento::AnalysisManager::getCheckerManager ( ) const [inline]

Definition at line 127 of file AnalysisManager.h.

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

ConstraintManagerCreator clang::ento::AnalysisManager::getConstraintManagerCreator ( ) [inline]

Definition at line 123 of file AnalysisManager.h.

virtual DiagnosticsEngine& clang::ento::AnalysisManager::getDiagnostic ( ) [inline, virtual]

Implements clang::ento::BugReporterData.

Definition at line 137 of file AnalysisManager.h.

const LangOptions& clang::ento::AnalysisManager::getLangOpts ( ) const [inline]

Definition at line 141 of file AnalysisManager.h.

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

unsigned clang::ento::AnalysisManager::getMaxNodes ( ) const [inline]

Definition at line 154 of file AnalysisManager.h.

unsigned clang::ento::AnalysisManager::getMaxVisit ( ) const [inline]

Definition at line 156 of file AnalysisManager.h.

Referenced by clang::ento::SubEngine::processCFGBlockEntrance().

ParentMap& clang::ento::AnalysisManager::getParentMap ( Decl const *  D) [inline]
virtual PathDiagnosticConsumer* clang::ento::AnalysisManager::getPathDiagnosticConsumer ( ) [inline, virtual]

Implements clang::ento::BugReporterData.

Definition at line 145 of file AnalysisManager.h.

AnalysisPurgeMode clang::ento::AnalysisManager::getPurgeMode ( ) const [inline]

Definition at line 170 of file AnalysisManager.h.

virtual SourceManager& clang::ento::AnalysisManager::getSourceManager ( ) [inline, virtual]
StoreManagerCreator clang::ento::AnalysisManager::getStoreManagerCreator ( ) [inline]

Definition at line 119 of file AnalysisManager.h.

bool clang::ento::AnalysisManager::shouldEagerlyAssume ( ) const [inline]

Definition at line 172 of file AnalysisManager.h.

bool clang::ento::AnalysisManager::shouldEagerlyTrimExplodedGraph ( ) const [inline]

Definition at line 166 of file AnalysisManager.h.

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

bool clang::ento::AnalysisManager::shouldInlineCall ( ) const [inline]
bool clang::ento::AnalysisManager::shouldTrimGraph ( ) const [inline]

Definition at line 168 of file AnalysisManager.h.

bool clang::ento::AnalysisManager::shouldVisualize ( ) const [inline]

Definition at line 162 of file AnalysisManager.h.

bool clang::ento::AnalysisManager::shouldVisualizeGraphviz ( ) const [inline]

Definition at line 158 of file AnalysisManager.h.

bool clang::ento::AnalysisManager::shouldVisualizeUbigraph ( ) const [inline]

Definition at line 160 of file AnalysisManager.h.


Member Data Documentation

The max number of basic blocks in a function being inlined.

Definition at line 78 of file AnalysisManager.h.

The inlining stack depth limit.

Definition at line 76 of file AnalysisManager.h.

The mode of function selection used during inlining.

Definition at line 80 of file AnalysisManager.h.

Definition at line 72 of file AnalysisManager.h.

Referenced by shouldInlineCall().

Do not re-analyze paths leading to exhausted nodes with a different strategy. We get better code coverage when retry is enabled.

Definition at line 84 of file AnalysisManager.h.

Referenced by clang::ento::SubEngine::processCFGBlockEntrance().


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