11 using namespace clang;
14 void AnalysisManager::anchor() { }
24 ASTCtx, Options.UnoptimizedCFG,
25 Options.ShouldIncludeImplicitDtorsInCFG,
27 Options.ShouldIncludeTemporaryDtorsInCFG,
28 Options.ShouldIncludeLifetimeInCFG,
31 Options.ShouldIncludeLoopExitInCFG ||
32 Options.ShouldUnrollLoops,
33 Options.ShouldIncludeScopesInCFG,
34 Options.ShouldSynthesizeBodies,
35 Options.ShouldConditionalizeStaticInitializers,
37 Options.ShouldIncludeRichConstructorsInCFG,
38 Options.ShouldElideConstructors,
42 PathConsumers(PDC), CreateStoreMgr(storemgr),
43 CreateConstraintMgr(constraintmgr), CheckerMgr(checkerMgr),
48 Options.ShouldIncludeDefaultInitForAggregates;
53 for (PathDiagnosticConsumers::iterator I = PathConsumers.begin(),
54 E = PathConsumers.end(); I != E; ++I) {
61 for (PathDiagnosticConsumers::iterator I = PathConsumers.begin(),
62 E = PathConsumers.end();
64 (*I)->FlushDiagnostics(&filesMade);
AnalysisManager(ASTContext &ctx, const PathDiagnosticConsumers &Consumers, StoreManagerCreator storemgr, ConstraintManagerCreator constraintmgr, CheckerManager *checkerMgr, AnalyzerOptions &Options, CodeInjector *injector=nullptr)
~AnalysisManager() override
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
std::unique_ptr< StoreManager >(* StoreManagerCreator)(ProgramStateManager &)
std::unique_ptr< ConstraintManager >(* ConstraintManagerCreator)(ProgramStateManager &, SubEngine *)
CFG::BuildOptions & getCFGBuildOptions()
std::vector< PathDiagnosticConsumer * > PathDiagnosticConsumers
bool AddCXXDefaultInitExprInAggregates
AnalyzerOptions & options
BuildOptions & setAllAlwaysAdd()
Dataflow Directional Tag Classes.
CodeInjector is an interface which is responsible for injecting AST of function definitions that may ...
const LangOptions & getLangOpts() const
Stores options for the analyzer from the command line.
bool OmitImplicitValueInitializers