14void AnalysisManager::anchor() { }
22 std::unique_ptr<CodeInjector> injector)
24 ASTCtx, Options.UnoptimizedCFG,
25 Options.ShouldIncludeImplicitDtorsInCFG,
26 true, Options.ShouldIncludeTemporaryDtorsInCFG,
27 Options.ShouldIncludeLifetimeInCFG,
30 Options.ShouldIncludeLoopExitInCFG || Options.ShouldUnrollLoops,
31 Options.ShouldIncludeScopesInCFG, Options.ShouldSynthesizeBodies,
32 Options.ShouldConditionalizeStaticInitializers,
34 Options.ShouldIncludeRichConstructorsInCFG,
35 Options.ShouldElideConstructors,
37 Ctx(ASTCtx), PP(PP), LangOpts(ASTCtx.getLangOpts()),
38 PathConsumers(
std::move(PDC)), CreateStoreMgr(storemgr),
39 CreateConstraintMgr(constraintmgr), CheckerMgr(checkerMgr),
44 Options.ShouldIncludeDefaultInitForAggregates;
53 for (
const auto &Consumer : PathConsumers) {
54 Consumer->FlushDiagnostics(&filesMade);
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
CFG::BuildOptions & getCFGBuildOptions()
Stores options for the analyzer from the command line.
bool OmitImplicitValueInitializers
bool AddCXXDefaultInitExprInAggregates
BuildOptions & setAllAlwaysAdd()
Engages in a tight little dance with the lexer to efficiently preprocess tokens.
~AnalysisManager() override
AnalysisManager(ASTContext &ctx, Preprocessor &PP, PathDiagnosticConsumers Consumers, StoreManagerCreator storemgr, ConstraintManagerCreator constraintmgr, CheckerManager *checkerMgr, AnalyzerOptions &Options, std::unique_ptr< CodeInjector > injector=nullptr)
std::unique_ptr< ConstraintManager >(* ConstraintManagerCreator)(ProgramStateManager &, ExprEngine *)
std::unique_ptr< StoreManager >(* StoreManagerCreator)(ProgramStateManager &)
std::vector< std::unique_ptr< PathDiagnosticConsumer > > PathDiagnosticConsumers
The JSON file list parser is used to communicate input to InstallAPI.