#include "ASTUtils.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include "clang/ASTMatchers/ASTMatchers.h"
#include "clang/Lex/Lexer.h"
namespace clang::tidy::utils {
usingnamespaceast_matchers;
const FunctionDecl *getSurroundingFunction(ASTContext &Context,
const Stmt &Statement) { … }
bool isBinaryOrTernary(const Expr *E) { … }
bool exprHasBitFlagWithSpelling(const Expr *Flags, const SourceManager &SM,
const LangOptions &LangOpts,
StringRef FlagName) { … }
bool rangeIsEntirelyWithinMacroArgument(SourceRange Range,
const SourceManager *SM) { … }
bool rangeContainsMacroExpansion(SourceRange Range, const SourceManager *SM) { … }
bool rangeCanBeFixed(SourceRange Range, const SourceManager *SM) { … }
bool areStatementsIdentical(const Stmt *FirstStmt, const Stmt *SecondStmt,
const ASTContext &Context, bool Canonical) { … }
const IndirectFieldDecl *
findOutermostIndirectFieldDeclForField(const FieldDecl *FD) { … }
}