File indexing completed on 2026-05-10 08:36:20
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_C_HEADERS_TO_CXX_H
0010 #define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_C_HEADERS_TO_CXX_H
0011
0012 #include "../ClangTidyCheck.h"
0013
0014 namespace clang::tidy::modernize {
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033 class DeprecatedHeadersCheck : public ClangTidyCheck {
0034 public:
0035 DeprecatedHeadersCheck(StringRef Name, ClangTidyContext *Context);
0036 bool isLanguageVersionSupported(const LangOptions &LangOpts) const override {
0037 return LangOpts.CPlusPlus;
0038 }
0039 void storeOptions(ClangTidyOptions::OptionMap &Opts) override;
0040 void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP,
0041 Preprocessor *ModuleExpanderPP) override;
0042 void registerMatchers(ast_matchers::MatchFinder *Finder) override;
0043 void onEndOfTranslationUnit() override;
0044 void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
0045
0046 struct IncludeMarker {
0047 std::string Replacement;
0048 StringRef FileName;
0049 SourceRange ReplacementRange;
0050 SourceLocation DiagLoc;
0051 };
0052
0053 private:
0054 std::vector<IncludeMarker> IncludesToBeProcessed;
0055 bool CheckHeaderFile;
0056 };
0057
0058 }
0059
0060 #endif