#include "HeaderIncludeCycleCheck.h"
#include "../utils/OptionsUtils.h"
#include "clang/AST/ASTContext.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include "clang/Lex/PPCallbacks.h"
#include "clang/Lex/Preprocessor.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Regex.h"
#include <algorithm>
#include <deque>
#include <optional>
#include <string>
usingnamespaceclang::ast_matchers;
namespace clang::tidy::misc {
namespace {
struct Include { … };
class CyclicDependencyCallbacks : public PPCallbacks { … };
}
HeaderIncludeCycleCheck::HeaderIncludeCycleCheck(StringRef Name,
ClangTidyContext *Context)
: … { … }
void HeaderIncludeCycleCheck::registerPPCallbacks(
const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) { … }
void HeaderIncludeCycleCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { … }
}