9#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_ASTUTILS_H
10#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_ASTUTILS_H
12#include "clang/AST/AST.h"
17 const Stmt &Statement);
25 const LangOptions &LangOpts,
30 const SourceManager *SM);
41 const ASTContext &Context,
bool Canonical =
false);
45const IndirectFieldDecl *
CharSourceRange Range
SourceRange for the file name.
bool rangeCanBeFixed(SourceRange Range, const SourceManager *SM)
bool isBinaryOrTernary(const Expr *E)
bool rangeContainsMacroExpansion(SourceRange Range, const SourceManager *SM)
bool areStatementsIdentical(const Stmt *FirstStmt, const Stmt *SecondStmt, const ASTContext &Context, bool Canonical)
bool exprHasBitFlagWithSpelling(const Expr *Flags, const SourceManager &SM, const LangOptions &LangOpts, StringRef FlagName)
Checks whether a macro flag is present in the given argument.
const IndirectFieldDecl * findOutermostIndirectFieldDeclForField(const FieldDecl *FD)
bool rangeIsEntirelyWithinMacroArgument(SourceRange Range, const SourceManager *SM)
const FunctionDecl * getSurroundingFunction(ASTContext &Context, const Stmt &Statement)