28 return LangOpts.CPlusPlus;
32 void check(
const ast_matchers::MatchFinder::MatchResult &Result)
override;
35 void registerScope(
const Stmt *LocalScope, ASTContext *Context);
37 bool isMutated(
const VarDecl *Variable,
const Stmt *Scope,
38 const FunctionDecl *Func, ASTContext *Context);
39 using MutationAnalyzer = std::unique_ptr<ExprMutationAnalyzer>;
40 llvm::DenseMap<const Stmt *, MutationAnalyzer> ScopesCache;
41 llvm::DenseSet<SourceLocation> TemplateDiagnosticsCache;
42 ExprMutationAnalyzer::Memoized ParamMutationAnalyzerMemoized;
44 const bool AnalyzePointers;
45 const bool AnalyzeReferences;
46 const bool AnalyzeValues;
47 const bool AnalyzeParameters;
49 const bool WarnPointersAsPointers;
50 const bool WarnPointersAsValues;
52 const bool TransformPointersAsPointers;
53 const bool TransformPointersAsValues;
54 const bool TransformReferences;
55 const bool TransformValues;
57 const std::vector<StringRef> AllowedTypes;
Every ClangTidyCheck reports errors through a DiagnosticsEngine provided by this context.