#include "ConfusableIdentifierCheck.h"
#include "clang/Frontend/CompilerInstance.h"
#include "clang/Lex/Preprocessor.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/Support/ConvertUTF.h"
namespace {
#include "Confusables.inc"
}
namespace clang::tidy::misc {
ConfusableIdentifierCheck::ConfusableIdentifierCheck(StringRef Name,
ClangTidyContext *Context)
: … { … }
ConfusableIdentifierCheck::~ConfusableIdentifierCheck() = default;
static llvm::SmallString<64U> skeleton(StringRef Name) { … }
static bool mayShadowImpl(const DeclContext *DC0, const DeclContext *DC1) { … }
static bool mayShadowImpl(const NamedDecl *ND0, const NamedDecl *ND1) { … }
static bool isMemberOf(const ConfusableIdentifierCheck::ContextInfo *DC0,
const ConfusableIdentifierCheck::ContextInfo *DC1) { … }
static bool enclosesContext(const ConfusableIdentifierCheck::ContextInfo *DC0,
const ConfusableIdentifierCheck::ContextInfo *DC1) { … }
static bool mayShadow(const NamedDecl *ND0,
const ConfusableIdentifierCheck::ContextInfo *DC0,
const NamedDecl *ND1,
const ConfusableIdentifierCheck::ContextInfo *DC1) { … }
const ConfusableIdentifierCheck::ContextInfo *
ConfusableIdentifierCheck::getContextInfo(const DeclContext *DC) { … }
void ConfusableIdentifierCheck::check(
const ast_matchers::MatchFinder::MatchResult &Result) { … }
void ConfusableIdentifierCheck::onEndOfTranslationUnit() { … }
void ConfusableIdentifierCheck::registerMatchers(
ast_matchers::MatchFinder *Finder) { … }
}