9#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_USESTDPRINTCHECK_H
10#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_USESTDPRINTCHECK_H
12#include "../ClangTidyCheck.h"
13#include "../utils/IncludeInserter.h"
24 if (ReplacementPrintFunction ==
"std::print" ||
25 ReplacementPrintlnFunction ==
"std::println")
26 return LangOpts.CPlusPlus23;
27 return LangOpts.CPlusPlus;
30 Preprocessor *ModuleExpanderPP)
override;
33 void check(
const ast_matchers::MatchFinder::MatchResult &Result)
override;
35 return TK_IgnoreUnlessSpelledInSource;
40 std::vector<StringRef> PrintfLikeFunctions;
41 std::vector<StringRef> FprintfLikeFunctions;
42 StringRef ReplacementPrintFunction;
43 StringRef ReplacementPrintlnFunction;
45 std::optional<StringRef> MaybeHeaderToInclude;
llvm::SmallString< 256U > Name
Base class for all clang-tidy checks.
Every ClangTidyCheck reports errors through a DiagnosticsEngine provided by this context.
Convert calls to printf-like functions to std::print and std::println.
void registerMatchers(ast_matchers::MatchFinder *Finder) override
Override this to register AST matchers with Finder.
void storeOptions(ClangTidyOptions::OptionMap &Opts) override
Should store all options supported by this check with their current values or default values for opti...
std::optional< TraversalKind > getCheckTraversalKind() const override
void check(const ast_matchers::MatchFinder::MatchResult &Result) override
ClangTidyChecks that register ASTMatchers should do the actual work in here.
void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) override
Override this to register PPCallbacks in the preprocessor.
bool isLanguageVersionSupported(const LangOptions &LangOpts) const override
Override this to disable registering matchers and PP callbacks if an invalid language version is bein...
Produces fixes to insert specified includes to source files, if not yet present.
llvm::StringMap< ClangTidyValue > OptionMap