26#include <clang/AST/RecursiveASTVisitor.h>
27#include <clang/Basic/SourceManager.h>
28#include <clang/Lex/PPCallbacks.h>
55 :
public clang::RecursiveASTVisitor<translation_unit_visitor> {
77#if LLVM_VERSION_MAJOR >= 19
79 const clang::Token &IncludeTok, clang::StringRef FileName,
80 bool IsAngled, clang::CharSourceRange FilenameRange,
81 clang::OptionalFileEntryRef File, clang::StringRef SearchPath,
82 clang::StringRef RelativePath,
const clang::Module *SuggestedModule,
84 clang::SrcMgr::CharacteristicKind FileType)
override;
85#elif LLVM_VERSION_MAJOR >= 16
87 const clang::Token &IncludeTok, clang::StringRef FileName,
88 bool IsAngled, clang::CharSourceRange FilenameRange,
89 clang::OptionalFileEntryRef File, clang::StringRef SearchPath,
90 clang::StringRef RelativePath,
const clang::Module *Imported,
91 clang::SrcMgr::CharacteristicKind FileType)
override;
92#elif LLVM_VERSION_MAJOR > 14
94 const clang::Token &include_tok, clang::StringRef file_name,
95 bool is_angled, clang::CharSourceRange filename_range,
96 clang::Optional<clang::FileEntryRef> file,
97 clang::StringRef search_path, clang::StringRef relative_path,
98 const clang::Module *imported,
99 clang::SrcMgr::CharacteristicKind file_type)
override;
102 const clang::Token &include_tok, clang::StringRef file_name,
103 bool is_angled, clang::CharSourceRange filename_range,
104 const clang::FileEntry *file, clang::StringRef search_path,
105 clang::StringRef relative_path,
const clang::Module *imported,
106 clang::SrcMgr::CharacteristicKind file_type)
override;
117 bool is_system,
eid_t current_file_id);
126 const std::filesystem::path &include_path,
eid_t current_file_id);
138 const std::filesystem::path &file);