//===------------- Aliasing.cpp - clang-tidy ------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "Aliasing.h" #include "clang/AST/Expr.h" #include "clang/AST/ExprCXX.h" namespace clang::tidy::utils { /// Return whether \p S is a reference to the declaration of \p Var. static bool isAccessForVar(const Stmt *S, const VarDecl *Var) { … } static bool capturesByRef(const CXXRecordDecl *RD, const VarDecl *Var) { … } /// Return whether \p Var has a pointer or reference in \p S. static bool isPtrOrReferenceForVar(const Stmt *S, const VarDecl *Var) { … } /// Return whether \p Var has a pointer or reference in \p S. static bool hasPtrOrReferenceInStmt(const Stmt *S, const VarDecl *Var) { … } static bool refersToEnclosingLambdaCaptureByRef(const Decl *Func, const VarDecl *Var) { … } bool hasPtrOrReferenceInFunc(const Decl *Func, const VarDecl *Var) { … } } // namespace clang::tidy::utils