reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Derived Classes

tools/clang/include/clang/AST/DeclCXX.h
 2365 class CXXConstructorDecl final
 2629 class CXXDestructorDecl : public CXXMethodDecl {
 2690 class CXXConversionDecl : public CXXMethodDecl {

Declarations

gen/tools/clang/include/clang/AST/DeclNodes.inc
  405 CXXMETHOD(CXXMethod, FunctionDecl)
tools/clang/include/clang/AST/ASTConsumer.h
   18   class CXXMethodDecl;
tools/clang/include/clang/AST/ASTContext.h
   94 class CXXMethodDecl;
tools/clang/include/clang/AST/DeclCXX.h
   66 class CXXMethodDecl;
tools/clang/include/clang/AST/Mangle.h
   31   class CXXMethodDecl;
tools/clang/include/clang/AST/MangleNumberingContext.h
   23 class CXXMethodDecl;
tools/clang/include/clang/Basic/ABI.h
  174 class CXXMethodDecl;
tools/clang/include/clang/CodeGen/CodeGenABITypes.h
   41 class CXXMethodDecl;
tools/clang/include/clang/Sema/ScopeInfo.h
   45 class CXXMethodDecl;
tools/clang/include/clang/Sema/Sema.h
   93   class CXXMethodDecl;
tools/clang/include/clang/Sema/Template.h
   32 class CXXMethodDecl;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
   38 class CXXMethodDecl;
tools/clang/lib/CodeGen/CGCXXABI.h
   31 class CXXMethodDecl;
tools/clang/lib/CodeGen/CodeGenTypes.h
   35 class CXXMethodDecl;
tools/lldb/include/lldb/Core/ClangForward.h
   36 class CXXMethodDecl;

References

gen/tools/clang/include/clang/Sema/AttrParsedAttrImpl.inc
  694   if (!D || (!isa<CXXMethodDecl>(D))) {
 1917   if (const auto *S = dyn_cast<CXXMethodDecl>(D))
 1917   if (const auto *S = dyn_cast<CXXMethodDecl>(D))
 2550   if (const auto *S = dyn_cast<CXXMethodDecl>(D))
 2550   if (const auto *S = dyn_cast<CXXMethodDecl>(D))
 2793   if (!D || (!isa<CXXMethodDecl>(D))) {
 2900   if (!D || (!isa<CXXMethodDecl>(D))) {
 3534     return isa<CXXMethodDecl>(D);
include/llvm/ADT/STLExtras.h
   75       typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h
   34   using SimpleType = From; // The real type this represents...
   37   static SimpleType &getSimplifiedValue(From &Val) { return Val; }
   41   using NonConstSimpleType = typename simplify_type<From>::SimpleType;
   47   static RetType getSimplifiedValue(const From& Val) {
   57   static inline bool doit(const From &Val) {
   58     return To::classof(&Val);
   66   static inline bool doit(const From &) { return true; }
   76   static inline bool doit(const From &Val) {
   77     return isa_impl<To, From>::doit(Val);
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  141 template <class X, class Y> LLVM_NODISCARD inline bool isa(const Y &Val) {
  142   return isa_impl_wrap<X, const Y,
  142   return isa_impl_wrap<X, const Y,
  143                        typename simplify_type<const Y>::SimpleType>::doit(Val);
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  265   return cast_convert_val<X, Y*,
  266                           typename simplify_type<Y*>::SimpleType>::doit(Val);
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  306 cast_or_null(Y *Val) {
  309   return cast<X>(Val);
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  360                             typename cast_retty<X, Y>::ret_type>::type
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
include/llvm/Support/type_traits.h
   55 struct add_const_past_pointer { using type = const T; };
tools/clang/include/clang/AST/ASTContext.h
  509   using CXXMethodVector = llvm::TinyPtrVector<const CXXMethodDecl *>;
  510   llvm::DenseMap<const CXXMethodDecl *, CXXMethodVector> OverriddenMethods;
  928   overridden_methods_begin(const CXXMethodDecl *Method) const;
  931   overridden_methods_end(const CXXMethodDecl *Method) const;
  933   unsigned overridden_methods_size(const CXXMethodDecl *Method) const;
  938   overridden_method_range overridden_methods(const CXXMethodDecl *Method) const;
  942   void addOverriddenMethod(const CXXMethodDecl *Method,
  943                            const CXXMethodDecl *Overridden);
 2228   const CXXMethodDecl *getCurrentKeyFunction(const CXXRecordDecl *RD);
 2238   void setNonKeyFunction(const CXXMethodDecl *method);
tools/clang/include/clang/AST/ASTLambda.h
   27 inline bool isLambdaCallOperator(const CXXMethodDecl *MD) {
   34   if (!DC || !isa<CXXMethodDecl>(DC)) return false;
   35   return isLambdaCallOperator(cast<CXXMethodDecl>(DC));
   38 inline bool isGenericLambdaCallOperatorSpecialization(const CXXMethodDecl *MD) {
   64                                           dyn_cast<CXXMethodDecl>(DC));
tools/clang/include/clang/AST/ASTTypeTraits.h
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
  234   static DynTypedNode create(const T &Node) {
  235     return BaseConverter<T>::create(Node);
  251   const T *get() const {
  252     return BaseConverter<T>::get(NodeKind, Storage.buffer);
  259   const T &getUnchecked() const {
  260     return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
  394     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  395       if (ASTNodeKind::getFromNodeKind<T>().isBaseOf(NodeKind))
  399     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  401       return *cast<T>(static_cast<const BaseT *>(
  469     : public DynCastPtrConverter<T, Decl> {};
tools/clang/include/clang/AST/CXXInheritance.h
  243   CXXMethodDecl *Method = nullptr;
  256   UniqueVirtualMethod(CXXMethodDecl *Method, unsigned Subobject,
  369   : public llvm::MapVector<const CXXMethodDecl *, OverridingMethods> {};
tools/clang/include/clang/AST/DeclBase.h
 2058       while (*Current && !isa<SpecificDecl>(*Current))
 2063     using value_type = SpecificDecl *;
 2086     value_type operator*() const { return cast<SpecificDecl>(*Current); }
 2474   static const ToTy *doit(const DeclContext *Val) {
 2478   static ToTy *doit(DeclContext *Val) {
 2491     return To::classofKind(Val.getDeclKind());
 2514   static const ToTy *doit(const ::clang::DeclContext *Val) {
 2515     return ::clang::cast_convert_decl_context<ToTy>::doit(Val);
 2521   static ToTy *doit(::clang::DeclContext *Val) {
 2522     return ::clang::cast_convert_decl_context<ToTy>::doit(Val);
 2536   static ::clang::DeclContext *doit(const FromTy *Val) {
 2537     return FromTy::castToDeclContext(Val);
tools/clang/include/clang/AST/DeclCXX.h
  627   using method_iterator = specific_decl_iterator<CXXMethodDecl>;
  629       llvm::iterator_range<specific_decl_iterator<CXXMethodDecl>>;
  979   CXXMethodDecl *getLambdaCallOperator() const;
  988   CXXMethodDecl *getLambdaStaticInvoker() const;
 1675   void finishedDefaultedOrDeletedMember(CXXMethodDecl *MD);
 1677   void setTrivialForCallFlags(CXXMethodDecl *MD);
 1921   static CXXMethodDecl *Create(ASTContext &C, CXXRecordDecl *RD,
 1928   static CXXMethodDecl *CreateDeserialized(ASTContext &C, unsigned ID);
 1949     CXXMethodDecl *CD = const_cast<CXXMethodDecl*>(this)->getCanonicalDecl();
 1964   CXXMethodDecl *getDevirtualizedMethod(const Expr *Base, bool IsAppleKext);
 1966   const CXXMethodDecl *getDevirtualizedMethod(const Expr *Base,
 1989   CXXMethodDecl *getCanonicalDecl() override {
 1990     return cast<CXXMethodDecl>(FunctionDecl::getCanonicalDecl());
 1992   const CXXMethodDecl *getCanonicalDecl() const {
 1996   CXXMethodDecl *getMostRecentDecl() {
 1997     return cast<CXXMethodDecl>(
 2000   const CXXMethodDecl *getMostRecentDecl() const {
 2009       DeclAsWritten = cast<CXXMethodDecl>(Pattern);
 2014   void addOverriddenMethod(const CXXMethodDecl *MD);
 2016   using method_iterator = const CXXMethodDecl *const *;
 2093   CXXMethodDecl *
 2097   const CXXMethodDecl *
 2106   CXXMethodDecl *getCorrespondingMethodDeclaredInClass(const CXXRecordDecl *RD,
 2108   const CXXMethodDecl *
 2366     : public CXXMethodDecl,
 2629 class CXXDestructorDecl : public CXXMethodDecl {
 2690 class CXXConversionDecl : public CXXMethodDecl {
tools/clang/include/clang/AST/DeclTemplate.h
 2426   CXXMethodDecl *Specialization;
 2430       DeclContext *DC, SourceLocation Loc, CXXMethodDecl *FD,
 2444   CXXMethodDecl *getSpecialization() const { return Specialization; }
 2451   Create(ASTContext &C, DeclContext *DC, SourceLocation Loc, CXXMethodDecl *FD,
tools/clang/include/clang/AST/ExprCXX.h
  200   CXXMethodDecl *getMethodDecl() const;
 1999   CXXMethodDecl *getCallOperator() const;
tools/clang/include/clang/AST/Mangle.h
  101   virtual void mangleThunk(const CXXMethodDecl *MD,
  206   virtual void mangleVirtualMemPtrThunk(const CXXMethodDecl *MD,
tools/clang/include/clang/AST/MangleNumberingContext.h
   37   virtual unsigned getManglingNumber(const CXXMethodDecl *CallOperator) = 0;
tools/clang/include/clang/AST/RecursiveASTVisitor.h
 2038   if (const auto *MD = dyn_cast<CXXMethodDecl>(D))
 2038   if (const auto *MD = dyn_cast<CXXMethodDecl>(D))
 2065   ReturnValue = TraverseFunctionHelper(D);
tools/clang/include/clang/AST/VTableBuilder.h
   70   static VTableComponent MakeFunction(const CXXMethodDecl *MD) {
   88   static VTableComponent MakeUnusedFunction(const CXXMethodDecl *MD) {
  123   const CXXMethodDecl *getFunctionDecl() const {
  135   const CXXMethodDecl *getUnusedFunctionDecl() const {
  317   typedef llvm::DenseMap<const CXXMethodDecl *, ThunkInfoVectorTy> ThunksMapTy;
  330     const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl()->getCanonicalDecl());
  330     const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl()->getCanonicalDecl());
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  110   const T *getNodeAs(StringRef ID) const {
  111     return MyBoundNodes.getNodeAs<T>(ID);
 1120 extern const internal::VariadicDynCastAllOfMatcher<Decl, CXXMethodDecl>
 4419   const Stmt *const Statement = internal::GetBodyMatcher<NodeType>::get(Node);
 4824   for (const auto *Overridden : Node.overridden_methods()) {
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  160   const T *getNodeAs(StringRef ID) const {
  165     return It->second.get<T>();
  302   virtual bool matches(const T &Node,
  309     return matches(DynNode.getUnchecked<T>(), Finder, Builder);
  316 class SingleNodeMatcherInterface : public MatcherInterface<T> {
  321   virtual bool matchesNode(const T &Node) const = 0;
  325   bool matches(const T &Node,
  345   DynTypedMatcher(MatcherInterface<T> *Implementation)
  346       : SupportedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()),
  436     return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  445   template <typename T> Matcher<T> convertTo() const {
  447     return unconditionalConvertTo<T>();
  479 class WrapperMatcherInterface : public MatcherInterface<T> {
  499   explicit Matcher(MatcherInterface<T> *Implementation)
  506   Matcher(const Matcher<From> &Other,
  507           typename std::enable_if<std::is_base_of<From, T>::value &&
  507           typename std::enable_if<std::is_base_of<From, T>::value &&
  508                                !std::is_same<From, T>::value>::type * = nullptr)
  508                                !std::is_same<From, T>::value>::type * = nullptr)
  520             std::is_same<T, QualType>::value &&
  529     static_assert(std::is_base_of<To, T>::value, "Invalid dynCast call.");
  534   bool matches(const T &Node,
  581     return Other.dynCastTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
  668 class HasOverloadedOperatorNameMatcher : public SingleNodeMatcherInterface<T> {
  669   static_assert(std::is_same<T, CXXOperatorCallExpr>::value ||
  670                 std::is_base_of<FunctionDecl, T>::value,
  679   bool matchesNode(const T &Node) const override {
 1009   bool matchesDescendantOf(const T &Node,
 1013     static_assert(std::is_base_of<Decl, T>::value ||
 1014                   std::is_base_of<Stmt, T>::value ||
 1015                   std::is_base_of<NestedNameSpecifier, T>::value ||
 1016                   std::is_base_of<NestedNameSpecifierLoc, T>::value ||
 1017                   std::is_base_of<TypeLoc, T>::value ||
 1018                   std::is_base_of<QualType, T>::value,
 1026   bool matchesAncestorOf(const T &Node,
 1030     static_assert(std::is_base_of<Decl, T>::value ||
 1031                       std::is_base_of<NestedNameSpecifierLoc, T>::value ||
 1032                       std::is_base_of<Stmt, T>::value ||
 1033                       std::is_base_of<TypeLoc, T>::value,
 1067   using head = T1;
 1073   using tail = TypeList<Ts...>;
 1084       std::is_base_of<typename AnyTypeList::head, T>::value ||
 1085       TypeListContainsSuperOf<typename AnyTypeList::tail, T>::value;
 1146     template <typename To> operator Matcher<To>() const {
 1184   operator Matcher<T>() const {
 1185     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
 1202   operator Matcher<T>() const {
 1203     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
 1223   operator Matcher<T>() const {
 1224     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
 1243   operator Matcher<T>() const {
 1245                ast_type_traits::ASTNodeKind::getFromNodeKind<T>())
 1246         .template unconditionalConvertTo<T>();
 1255 class BindableMatcher : public Matcher<T> {
 1257   explicit BindableMatcher(const Matcher<T> &M) : Matcher<T>(M) {}
 1258   explicit BindableMatcher(MatcherInterface<T> *Implementation)
 1265   Matcher<T> bind(StringRef ID) const {
 1335   template <typename T> operator Matcher<T>() const {
 1337                Op, ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1338                getMatchers<T>(std::index_sequence_for<Ps...>()))
 1339         .template unconditionalConvertTo<T>();
 1370 inline Matcher<T> DynTypedMatcher::unconditionalConvertTo() const {
 1376 BindableMatcher<T> makeAllOfComposite(
 1377     ArrayRef<const Matcher<T> *> InnerMatchers) {
 1388   using PI = llvm::pointee_iterator<const Matcher<T> *const *>;
 1395           ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1397           .template unconditionalConvertTo<T>());
 1408     ArrayRef<const Matcher<InnerT> *> InnerMatchers) {
 1418 class HasDescendantMatcher : public WrapperMatcherInterface<T> {
 1426   bool matches(const T &Node, ASTMatchFinder *Finder,
 1438 class HasParentMatcher : public WrapperMatcherInterface<T> {
 1446   bool matches(const T &Node, ASTMatchFinder *Finder,
 1557     : public VariadicFunction<BindableMatcher<SourceT>, Matcher<TargetT>,
 1558                               makeDynCastAllOfComposite<SourceT, TargetT>> {
 1767   static const Stmt *get(const Ty &Node) {
tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h
  199   ast_matchers::internal::Matcher<T> getTypedMatcher() const {
  202         ->template convertTo<T>();
  227       : MatcherOps(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()) {}
  228   typedef ast_matchers::internal::Matcher<T> MatcherT;
  232     return DynTypedMatcher(Matcher.convertTo<T>());
tools/clang/include/clang/Basic/ABI.h
  190   const CXXMethodDecl *Method;
  195             const CXXMethodDecl *Method = nullptr)
tools/clang/include/clang/CodeGen/CodeGenABITypes.h
   66                                            const CXXMethodDecl *MD);
tools/clang/include/clang/Sema/ScopeInfo.h
  798   CXXMethodDecl *CallOperator = nullptr;
tools/clang/include/clang/Sema/Sema.h
  363   void setupImplicitSpecialMemberType(CXXMethodDecl *SpecialMem,
  685   SmallVector<std::pair<const CXXMethodDecl*, const CXXMethodDecl*>, 2>
  685   SmallVector<std::pair<const CXXMethodDecl*, const CXXMethodDecl*>, 2>
 1122     llvm::PointerIntPair<CXXMethodDecl*, 2> Pair;
 1126     SpecialMemberOverloadResult(CXXMethodDecl *MD)
 1129     CXXMethodDecl *getMethod() const { return Pair.getPointer(); }
 1130     void setMethod(CXXMethodDecl *MD) { Pair.setPointer(MD); }
 1781   bool isUsualDeallocationFunction(const CXXMethodDecl *FD);
 2171   bool AddOverriddenMethods(CXXRecordDecl *DC, CXXMethodDecl *MD);
 2184   void DiagnoseHiddenVirtualMethods(CXXMethodDecl *MD);
 2185   void FindHiddenVirtualMethods(CXXMethodDecl *MD,
 2186                           SmallVectorImpl<CXXMethodDecl*> &OverloadedMethods);
 2187   void NoteHiddenVirtualMethods(CXXMethodDecl *MD,
 2188                           SmallVectorImpl<CXXMethodDecl*> &OverloadedMethods);
 2559   bool SpecialMemberIsTrivial(CXXMethodDecl *MD, CXXSpecialMember CSM,
 2601   CXXSpecialMember getSpecialMember(const CXXMethodDecl *MD) {
 2945                                                  CXXMethodDecl *Method);
 3103   void AddMethodCandidate(CXXMethodDecl *Method,
 3567   CXXMethodDecl *LookupCopyingAssignment(CXXRecordDecl *Class, unsigned Quals,
 3571   CXXMethodDecl *LookupMovingAssignment(CXXRecordDecl *Class, unsigned Quals,
 5199     void CalledDecl(SourceLocation CallLoc, const CXXMethodDecl *Method);
 5227                                            CXXMethodDecl *MD);
 5233   ComputeDefaultedCopyCtorExceptionSpec(CXXMethodDecl *MD);
 5239   ComputeDefaultedCopyAssignmentExceptionSpec(CXXMethodDecl *MD);
 5244   ComputeDefaultedMoveCtorExceptionSpec(CXXMethodDecl *MD);
 5249   ComputeDefaultedMoveAssignmentExceptionSpec(CXXMethodDecl *MD);
 5254   ComputeDefaultedDtorExceptionSpec(CXXMethodDecl *MD);
 5264   void EvaluateImplicitExceptionSpec(SourceLocation Loc, CXXMethodDecl *MD);
 5299   bool ShouldDeleteSpecialMember(CXXMethodDecl *MD, CXXSpecialMember CSM,
 5373   CXXMethodDecl *DeclareImplicitCopyAssignment(CXXRecordDecl *ClassDecl);
 5377                                     CXXMethodDecl *MethodDecl);
 5386   CXXMethodDecl *DeclareImplicitMoveAssignment(CXXRecordDecl *ClassDecl);
 5390                                     CXXMethodDecl *MethodDecl);
 5407   bool checkThisInStaticMemberFunctionType(CXXMethodDecl *Method);
 5411   bool checkThisInStaticMemberFunctionExceptionSpec(CXXMethodDecl *Method);
 5417   bool checkThisInStaticMemberFunctionAttributes(CXXMethodDecl *Method);
 5992   CXXMethodDecl *startLambdaDefinition(CXXRecordDecl *Class,
 6001       CXXRecordDecl *Class, CXXMethodDecl *Method,
 6006                         CXXMethodDecl *CallOperator,
 6056       CXXMethodDecl *CallOperator, Scope *CurScope);
 6429   bool CheckExplicitlyDefaultedSpecialMember(CXXMethodDecl *MD,
 6481   bool CheckOverridingFunctionAttributes(const CXXMethodDecl *New,
 6482                                          const CXXMethodDecl *Old);
 6486   bool CheckOverridingFunctionReturnType(const CXXMethodDecl *New,
 6487                                          const CXXMethodDecl *Old);
 6491   bool CheckOverridingFunctionExceptionSpec(const CXXMethodDecl *New,
 6492                                             const CXXMethodDecl *Old);
 6494   bool CheckPureMethod(CXXMethodDecl *Method, SourceRange InitRange);
 6506   bool CheckIfOverriddenFunctionIsMarkedFinal(const CXXMethodDecl *New,
 6507                                               const CXXMethodDecl *Old);
 6571   bool isSpecialMemberAccessibleForDeletion(CXXMethodDecl *decl,
11000   void CUDASetLambdaAttrs(CXXMethodDecl *Method);
11022                                                CXXMethodDecl *MemberDecl,
11540   SmallVector<CXXMethodDecl*, 4> DelayedDllExportMemberFunctions;
tools/clang/include/clang/Sema/Template.h
  476     Decl *VisitCXXMethodDecl(CXXMethodDecl *D,
  535     bool InitMethodInstantiation(CXXMethodDecl *New, CXXMethodDecl *Tmpl);
  535     bool InitMethodInstantiation(CXXMethodDecl *New, CXXMethodDecl *Tmpl);
tools/clang/include/clang/Serialization/ASTReader.h
 1887   T *ReadDeclAs(ModuleFile &F, const RecordData &R, unsigned &I) {
 1888     return cast_or_null<T>(GetDecl(ReadDeclID(F, R, I)));
 2541   T *readDeclAs() {
 2542     return Reader->ReadDeclAs<T>(*F, Record, Idx);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
  615     CXXMethodDecl* LambdaCallOperator = LambdaDecl->getLambdaCallOperator();
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
  379   loc::MemRegionVal getCXXThis(const CXXMethodDecl *D,
tools/clang/lib/ARCMigrate/TransGCAttrs.cpp
  134       for (const auto *MI : RD->methods()) {
tools/clang/lib/AST/ASTContext.cpp
 1509 ASTContext::overridden_methods_begin(const CXXMethodDecl *Method) const {
 1514 ASTContext::overridden_methods_end(const CXXMethodDecl *Method) const {
 1519 ASTContext::overridden_methods_size(const CXXMethodDecl *Method) const {
 1525 ASTContext::overridden_methods(const CXXMethodDecl *Method) const {
 1526   llvm::DenseMap<const CXXMethodDecl *, CXXMethodVector>::const_iterator Pos =
 1533 void ASTContext::addOverriddenMethod(const CXXMethodDecl *Method,
 1534                                      const CXXMethodDecl *Overridden) {
 1544   if (const auto *CXXMethod = dyn_cast<CXXMethodDecl>(D)) {
 1544   if (const auto *CXXMethod = dyn_cast<CXXMethodDecl>(D)) {
 9765   if (const auto *MD = dyn_cast<CXXMethodDecl>(FD))
 9765   if (const auto *MD = dyn_cast<CXXMethodDecl>(FD))
10006         isa<CXXMethodDecl>(D) &&
10007         cast<CXXMethodDecl>(D)->getParent()->getTemplateSpecializationKind() ==
10038       if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
10038       if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
10041           const CXXMethodDecl *KeyFunc = getCurrentKeyFunction(RD);
tools/clang/lib/AST/ASTImporter.cpp
  162     Expected<T *> import(T *From) {
  162     Expected<T *> import(T *From) {
  166       return cast_or_null<T>(*ToOrErr);
  170     Expected<T *> import(const T *From) {
  170     Expected<T *> import(const T *From) {
  217           -> decltype(ToDeclT::Create(std::forward<Args>(args)...)) {
  218         return ToDeclT::Create(std::forward<Args>(args)...);
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  247       CallOverloadedCreateFun<NewDeclT> OC;
  465     ExpectedDecl VisitCXXMethodDecl(CXXMethodDecl *D);
  642     Error ImportOverriddenMethods(CXXMethodDecl *ToMethod,
  643                                   CXXMethodDecl *FromMethod);
 1771   for (CXXMethodDecl *FromM : From->methods())
 1773       Expected<CXXMethodDecl *> ToMOrErr = import(FromM);
 3089     if (isa<CXXMethodDecl>(FoundByLookup)) {
 3211   } else if (auto *Method = dyn_cast<CXXMethodDecl>(D)) {
 3211   } else if (auto *Method = dyn_cast<CXXMethodDecl>(D)) {
 3212     if (GetImportedOrCreateDecl<CXXMethodDecl>(
 3329   if (auto *FromCXXMethod = dyn_cast<CXXMethodDecl>(D))
 3329   if (auto *FromCXXMethod = dyn_cast<CXXMethodDecl>(D))
 3330     if (Error Err = ImportOverriddenMethods(cast<CXXMethodDecl>(ToFunction),
 3344 ExpectedDecl ASTNodeImporter::VisitCXXMethodDecl(CXXMethodDecl *D) {
 5193         for (CXXMethodDecl *FromM : D->methods()) {
 7765 Error ASTNodeImporter::ImportOverriddenMethods(CXXMethodDecl *ToMethod,
 7766                                                CXXMethodDecl *FromMethod) {
 7770       ToMethod->getCanonicalDecl()->addOverriddenMethod(cast<CXXMethodDecl>(
tools/clang/lib/AST/ASTStructuralEquivalence.cpp
 1038                                      CXXMethodDecl *Method1,
 1039                                      CXXMethodDecl *Method2) {
 1844   } else if (auto *MD1 = dyn_cast<CXXMethodDecl>(D1)) {
 1844   } else if (auto *MD1 = dyn_cast<CXXMethodDecl>(D1)) {
 1845     if (auto *MD2 = dyn_cast<CXXMethodDecl>(D2)) {
 1845     if (auto *MD2 = dyn_cast<CXXMethodDecl>(D2)) {
tools/clang/lib/AST/CXXInheritance.cpp
  651         const CXXMethodDecl *CanonOM = OM->first->getCanonicalDecl();
  657   for (auto *M : RD->methods()) {
  662     CXXMethodDecl *CanonM = M->getCanonicalDecl();
  664         llvm::iterator_range<CXXMethodDecl::method_iterator>;
  688       for (const CXXMethodDecl *OM : Stack.pop_back_val()) {
  689         const CXXMethodDecl *CanonOM = OM->getCanonicalDecl();
tools/clang/lib/AST/Comment.cpp
  246       const CXXMethodDecl *MD = cast<CXXMethodDecl>(CommentDecl);
  246       const CXXMethodDecl *MD = cast<CXXMethodDecl>(CommentDecl);
tools/clang/lib/AST/Decl.cpp
  188 std::enable_if<!std::is_base_of<RedeclarableTemplateDecl, T>::value, bool>::type
  189 isExplicitMemberSpecialization(const T *D) {
  921   if (!(isa<CXXMethodDecl>(D) ||
  966   if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
  966   if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
 1298       if (const auto *MD = dyn_cast<CXXMethodDecl>(FD))
 1298       if (const auto *MD = dyn_cast<CXXMethodDecl>(FD))
 1795   if (const auto *MD = dyn_cast_or_null<CXXMethodDecl>(D->getAsFunction()))
 1795   if (const auto *MD = dyn_cast_or_null<CXXMethodDecl>(D->getAsFunction()))
 3006   if (!isa<CXXMethodDecl>(this) || getOverloadedOperator() != OO_Delete ||
 3034   if (const auto *Method = dyn_cast<CXXMethodDecl>(this))
 3034   if (const auto *Method = dyn_cast<CXXMethodDecl>(this))
 3551           dyn_cast<CXXMethodDecl>(this))) {
tools/clang/lib/AST/DeclBase.cpp
  975     auto *MD = cast<CXXMethodDecl>(D);
  975     auto *MD = cast<CXXMethodDecl>(D);
tools/clang/lib/AST/DeclCXX.cpp
  695   if (const auto *Method = dyn_cast<CXXMethodDecl>(D)) {
  695   if (const auto *Method = dyn_cast<CXXMethodDecl>(D)) {
  816   if (const auto *Method = dyn_cast<CXXMethodDecl>(D)) {
  816   if (const auto *Method = dyn_cast<CXXMethodDecl>(D)) {
 1326 void CXXRecordDecl::finishedDefaultedOrDeletedMember(CXXMethodDecl *D) {
 1362 void CXXRecordDecl::setTrivialForCallFlags(CXXMethodDecl *D) {
 1420 CXXMethodDecl *CXXRecordDecl::getLambdaCallOperator() const {
 1427     return cast<CXXMethodDecl>(CallOpTmpl->getTemplatedDecl());
 1429   return cast<CXXMethodDecl>(CallOp);
 1432 CXXMethodDecl* CXXRecordDecl::getLambdaStaticInvoker() const {
 1442     return cast<CXXMethodDecl>(InvokerTemplate->getTemplatedDecl());
 1444   return cast<CXXMethodDecl>(InvokerFun);
 1468   CXXMethodDecl *CallOp = getLambdaCallOperator();
 1825   for (const auto *const Method : methods())
 1969   const CXXMethodDecl *MD = getCanonicalDecl();
 1978 static bool recursivelyOverrides(const CXXMethodDecl *DerivedMD,
 1979                                  const CXXMethodDecl *BaseMD) {
 1980   for (const CXXMethodDecl *MD : DerivedMD->overridden_methods()) {
 1989 CXXMethodDecl *
 1997     CXXMethodDecl *MD = RD->getDestructor();
 2008     auto *MD = dyn_cast<CXXMethodDecl>(ND);
 2008     auto *MD = dyn_cast<CXXMethodDecl>(ND);
 2020 CXXMethodDecl *
 2023   if (auto *MD = getCorrespondingMethodDeclaredInClass(RD, MayBeBase))
 2031     CXXMethodDecl *T = this->getCorrespondingMethodInClass(Base);
 2039 CXXMethodDecl *CXXMethodDecl::Create(ASTContext &C, CXXRecordDecl *RD,
 2047       CXXMethodDecl(CXXMethod, C, RD, StartLoc, NameInfo, T, TInfo, SC,
 2051 CXXMethodDecl *CXXMethodDecl::CreateDeserialized(ASTContext &C, unsigned ID) {
 2052   return new (C, ID) CXXMethodDecl(
 2057 CXXMethodDecl *CXXMethodDecl::getDevirtualizedMethod(const Expr *Base,
 2087   CXXMethodDecl *DevirtualizedMethod =
 2260 void CXXMethodDecl::addOverriddenMethod(const CXXMethodDecl *MD) {
 2269 CXXMethodDecl::method_iterator CXXMethodDecl::begin_overridden_methods() const {
 2274 CXXMethodDecl::method_iterator CXXMethodDecl::end_overridden_methods() const {
 2284 CXXMethodDecl::overridden_method_range
 2318   return CXXMethodDecl::getThisType(getType()->getAs<FunctionProtoType>(),
 2326   return CXXMethodDecl::getThisObjectType(getType()->getAs<FunctionProtoType>(),
 2345     if (const CXXMethodDecl *StaticInvoker = P->getLambdaStaticInvoker()) {
tools/clang/lib/AST/Expr.cpp
  455   if (isa<CXXMethodDecl>(D) && D->getDeclContext()->isDependentContext()) {
  721     if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
  721     if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
  773     if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
  773     if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
  843     if (isa<CXXMethodDecl>(FD) &&
  844          cast<CXXMethodDecl>(FD)->getParent()->isLambda())
 3639       if (const CXXMethodDecl *Method
 3640           = dyn_cast_or_null<const CXXMethodDecl>(E->getCalleeDecl())) {
tools/clang/lib/AST/ExprCXX.cpp
  737 CXXMethodDecl *CXXMemberCallExpr::getMethodDecl() const {
  739     return cast<CXXMethodDecl>(MemExpr->getMemberDecl());
 1286 CXXMethodDecl *LambdaExpr::getCallOperator() const {
 1489     if (cast<CXXMethodDecl>(decl->getUnderlyingDecl()->getAsFunction())
tools/clang/lib/AST/ExprClassification.cpp
  444   if (isa<CXXMethodDecl>(D) && cast<CXXMethodDecl>(D)->isInstance())
  444   if (isa<CXXMethodDecl>(D) && cast<CXXMethodDecl>(D)->isInstance())
  530   if (const auto *Method = dyn_cast<CXXMethodDecl>(Member))
  530   if (const auto *Method = dyn_cast<CXXMethodDecl>(Member))
tools/clang/lib/AST/ExprConstant.cpp
 1007         const auto *MD = dyn_cast_or_null<CXXMethodDecl>(Call->Callee);
 1007         const auto *MD = dyn_cast_or_null<CXXMethodDecl>(Call->Callee);
 1805   bool IsMemberCall = isa<CXXMethodDecl>(Callee) &&
 1807                       cast<CXXMethodDecl>(Callee)->isInstance();
 2115   const auto *FD = dyn_cast_or_null<CXXMethodDecl>(Member);
 2115   const auto *FD = dyn_cast_or_null<CXXMethodDecl>(Member);
 4905   if (!Info.Ctx.getLangOpts().CPlusPlus2a && isa<CXXMethodDecl>(Declaration) &&
 4906       cast<CXXMethodDecl>(Declaration)->isVirtual())
 5003                                      const CXXMethodDecl *NamedMember) {
 5080 static const CXXMethodDecl *HandleVirtualDispatch(
 5081     EvalInfo &Info, const Expr *E, LValue &This, const CXXMethodDecl *Found,
 5093   const CXXMethodDecl *Callee = Found;
 5097     const CXXMethodDecl *Overrider =
 5124       const CXXMethodDecl *Next =
 5492   const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(Callee);
 5492   const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(Callee);
 6853       const CXXMethodDecl *Member = nullptr;
 6858         Member = dyn_cast<CXXMethodDecl>(ME->getMemberDecl());
 6869         Member = dyn_cast<CXXMethodDecl>(D);
 6903       const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD);
 6903       const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD);
 6925         const CXXMethodDecl *LambdaCallOp =
 6945           FD = cast<CXXMethodDecl>(CorrespondingCallOpSpecialization);
 6965       auto *NamedMember = dyn_cast<CXXMethodDecl>(FD);
 7579   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(E->getMemberDecl())) {
 7579   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(E->getMemberDecl())) {
 8489         << isa<CXXMethodDecl>(OperatorNew) << OperatorNew;
11715     if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(LHSValue.getDecl()))
11715     if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(LHSValue.getDecl()))
11718     if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(RHSValue.getDecl()))
11718     if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(RHSValue.getDecl()))
13199         << isa<CXXMethodDecl>(OperatorDelete) << OperatorDelete;
13243           << isa<CXXMethodDecl>(VirtualDelete) << VirtualDelete;
14339     auto *MD = dyn_cast<CXXMethodDecl>(Callee);
14395   const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD);
14395   const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD);
tools/clang/lib/AST/Interp/ByteCodeStmtGen.cpp
  100   if (auto *MD = dyn_cast<CXXMethodDecl>(F))
tools/clang/lib/AST/Interp/Function.cpp
   45   if (auto *M = dyn_cast<CXXMethodDecl>(F))
tools/clang/lib/AST/Interp/Interp.cpp
  393 bool CheckPure(InterpState &S, CodePtr OpPC, const CXXMethodDecl *MD) {
tools/clang/lib/AST/Interp/Interp.h
   92 bool CheckPure(InterpState &S, CodePtr OpPC, const CXXMethodDecl *MD);
tools/clang/lib/AST/Interp/InterpFrame.cpp
  114   auto *M = dyn_cast<CXXMethodDecl>(F);
tools/clang/lib/AST/ItaniumCXXABI.cpp
  142   unsigned getManglingNumber(const CXXMethodDecl *CallOperator) override {
tools/clang/lib/AST/ItaniumMangle.cpp
  138   void mangleThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk,
 1467       if (const auto *MD = dyn_cast<CXXMethodDecl>(ND))
 1467       if (const auto *MD = dyn_cast<CXXMethodDecl>(ND))
 1511   if (const CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(ND)) {
 1511   if (const CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(ND)) {
 4975 void ItaniumMangleContextImpl::mangleThunk(const CXXMethodDecl *MD,
tools/clang/lib/AST/Mangle.cpp
  185   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD))
  185   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD))
  376     if (!(isa<CXXRecordDecl>(D) || isa<CXXMethodDecl>(D)))
  411     } else if (const auto *MD = dyn_cast_or_null<CXXMethodDecl>(ND)) {
  411     } else if (const auto *MD = dyn_cast_or_null<CXXMethodDecl>(ND)) {
  463   std::string getMangledThunk(const CXXMethodDecl *MD, const ThunkInfo &T) {
tools/clang/lib/AST/MicrosoftCXXABI.cpp
   40   unsigned getManglingNumber(const CXXMethodDecl *CallOperator) override {
tools/clang/lib/AST/MicrosoftMangle.cpp
  139   void mangleVirtualMemPtrThunk(const CXXMethodDecl *MD,
  142   void mangleThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk,
  317                                    const CXXMethodDecl *MD);
  318   void mangleVirtualMemPtrThunk(const CXXMethodDecl *MD,
  637                                                      const CXXMethodDecl *MD) {
  702     const CXXMethodDecl *MD, const MethodVFTableLocation &ML) {
 1464       const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD);
 1464       const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD);
 2183   if (const CXXMethodDecl *MD = dyn_cast_or_null<CXXMethodDecl>(D)) {
 2183   if (const CXXMethodDecl *MD = dyn_cast_or_null<CXXMethodDecl>(D)) {
 2338   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
 2338   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
 3050     const CXXMethodDecl *MD, const MethodVFTableLocation &ML,
 3058 void MicrosoftMangleContextImpl::mangleThunk(const CXXMethodDecl *MD,
 3076   const CXXMethodDecl *DeclForFPT = Thunk.Method ? Thunk.Method : MD;
tools/clang/lib/AST/ODRHash.cpp
  343   void VisitCXXMethodDecl(const CXXMethodDecl *D) {
  346     Inherited::VisitCXXMethodDecl(D);
  524         if (!isa<CXXMethodDecl>(DC)) return;
  544   if (const auto *Method = dyn_cast<CXXMethodDecl>(Function)) {
  544   if (const auto *Method = dyn_cast<CXXMethodDecl>(Function)) {
tools/clang/lib/AST/RecordLayoutBuilder.cpp
 2075 static const CXXMethodDecl *computeKeyFunction(ASTContext &Context,
 2098   for (const CXXMethodDecl *MD : RD->methods()) {
 2992   llvm::SmallPtrSet<const CXXMethodDecl *, 8> Work;
 2995   for (const CXXMethodDecl *MD : RD->methods())
 2999     const CXXMethodDecl *MD = *Work.begin();
 3112 const CXXMethodDecl *ASTContext::getCurrentKeyFunction(const CXXRecordDecl *RD) {
 3132   return cast_or_null<CXXMethodDecl>(Result);
 3135 void ASTContext::setNonKeyFunction(const CXXMethodDecl *Method) {
tools/clang/lib/AST/StmtPrinter.cpp
 1683   CXXMethodDecl *MD = Node->getMethodDecl();
 1961     CXXMethodDecl *Method = Node->getCallOperator();
tools/clang/lib/AST/TextNodeDumper.cpp
 1310   if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
 1310   if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
 1323         for (const auto *Override :
tools/clang/lib/AST/TypePrinter.cpp
 1242       if (auto M = dyn_cast_or_null<CXXMethodDecl>(D->getDeclContext()))
tools/clang/lib/AST/VTableBuilder.cpp
   66     const CXXMethodDecl *Method;
  101   typedef std::pair<const CXXMethodDecl *, CharUnits> MethodBaseOffsetPairTy;
  140   OverriderInfo getOverrider(const CXXMethodDecl *MD,
  180     const CXXMethodDecl *MD = Overrider.first;
  271                                   const CXXMethodDecl *DerivedMD,
  272                                   const CXXMethodDecl *BaseMD) {
  410   for (const auto *MD : RD->methods()) {
  444   typedef std::pair<const CXXMethodDecl *, CharUnits> MethodAndOffsetPairTy;
  452   static bool MethodsCanShareVCallOffset(const CXXMethodDecl *LHS,
  453                                          const CXXMethodDecl *RHS);
  459   bool AddVCallOffset(const CXXMethodDecl *MD, CharUnits OffsetOffset);
  463   CharUnits getVCallOffsetOffset(const CXXMethodDecl *MD);
  469 static bool HasSameVirtualSignature(const CXXMethodDecl *LHS,
  470                                     const CXXMethodDecl *RHS) {
  487 bool VCallOffsetMap::MethodsCanShareVCallOffset(const CXXMethodDecl *LHS,
  488                                                 const CXXMethodDecl *RHS) {
  508 bool VCallOffsetMap::AddVCallOffset(const CXXMethodDecl *MD,
  521 CharUnits VCallOffsetMap::getVCallOffsetOffset(const CXXMethodDecl *MD) {
  691   for (const auto *MD : RD->methods()) {
  853   typedef llvm::DenseMap<const CXXMethodDecl *, MethodInfo> MethodInfoMapTy;
  870   typedef llvm::DenseMap<const CXXMethodDecl *, ThunkInfoVectorTy> ThunksMapTy;
  877   void AddThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk);
  902   ComputeThisAdjustment(const CXXMethodDecl *MD,
  908   void AddMethod(const CXXMethodDecl *MD, ReturnAdjustment ReturnAdjustment);
  929   bool IsOverriderUsed(const CXXMethodDecl *Overrider,
 1057 void ItaniumVTableBuilder::AddThunk(const CXXMethodDecl *MD,
 1071 typedef llvm::SmallPtrSet<const CXXMethodDecl *, 8> OverriddenMethodsSetTy;
 1079 visitAllOverriddenMethods(const CXXMethodDecl *MD, VisitorTy &Visitor) {
 1082   for (const CXXMethodDecl *OverriddenMD : MD->overridden_methods()) {
 1092 ComputeAllOverriddenMethods(const CXXMethodDecl *MD,
 1105     const CXXMethodDecl *MD = MI.first;
 1155     const CXXMethodDecl *MD;
 1247     const CXXMethodDecl *MD, CharUnits BaseOffsetInLayoutClass,
 1295 void ItaniumVTableBuilder::AddMethod(const CXXMethodDecl *MD,
 1326     const CXXMethodDecl *MD,
 1331   for (const CXXMethodDecl *OverriddenMD : MD->overridden_methods()) {
 1341     const CXXMethodDecl *Overrider, CharUnits BaseOffsetInLayoutClass,
 1407 static const CXXMethodDecl *
 1408 FindNearestOverriddenMethod(const CXXMethodDecl *MD,
 1416     for (const CXXMethodDecl *OverriddenMD : OverriddenMethods) {
 1479   typedef llvm::SmallVector<const CXXMethodDecl *, 8> NewVirtualFunctionsTy;
 1483   for (const auto *MD : RD->methods()) {
 1495     if (const CXXMethodDecl *OverriddenMD =
 1564   for (const CXXMethodDecl *MD : NewVirtualFunctions) {
 1578     const CXXMethodDecl *OverriderMD = Overrider.Method;
 1669       const CXXMethodDecl *MD = I.first;
 1935       const CXXMethodDecl *MD = Component.getFunctionDecl();
 2015       const CXXMethodDecl *MD = Component.getUnusedFunctionDecl();
 2092     std::map<std::string, const CXXMethodDecl *> MethodNamesAndDecls;
 2095       const CXXMethodDecl *MD = I.first;
 2105       const CXXMethodDecl *MD = I.second;
 2156   for (const auto *MD : MostDerivedClass->methods()) {
 2229   const CXXRecordDecl *RD = cast<CXXMethodDecl>(GD.getDecl())->getParent();
 2430   typedef llvm::DenseMap<const CXXMethodDecl *, MethodInfo> MethodInfoMapTy;
 2443   typedef llvm::DenseMap<const CXXMethodDecl *, ThunkInfoVectorTy> ThunksMapTy;
 2450   void AddThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk) {
 2469   void AddMethod(const CXXMethodDecl *MD, ThunkInfo TI) {
 2502       const CXXMethodDecl *MD = I.first;
 2855     SmallVector<const CXXMethodDecl *, 10> &VirtualMethods) {
 2862   typedef SmallVector<const CXXMethodDecl *, 1> MethodGroup;
 2876     if (const auto *MD = dyn_cast<CXXMethodDecl>(ND))
 2876     if (const auto *MD = dyn_cast<CXXMethodDecl>(ND))
 2930   SmallVector<const CXXMethodDecl*, 10> VirtualMethods;
 2942   for (const CXXMethodDecl *MD : VirtualMethods) {
 2945     const CXXMethodDecl *FinalOverriderMD = FinalOverrider.Method;
 2946     const CXXMethodDecl *OverriddenMD =
 3121       const CXXMethodDecl *MD = Component.getFunctionDecl();
 3176     std::map<std::string, const CXXMethodDecl *> MethodNamesAndDecls;
 3179       const CXXMethodDecl *MD = I.first;
 3188       const CXXMethodDecl *MD = MethodNameAndDecl.second;
 3461   typedef std::set<const CXXMethodDecl *> OverriderSetTy;
 3472     for (const CXXMethodDecl *MD : Info.IntroducingObject->methods()) {
 3477       const CXXMethodDecl *OverridingMethod = OI.Method;
 3505       const CXXMethodDecl *CovariantMD = *NewOverrides.begin();
 3506       const CXXMethodDecl *ConflictMD = *MissingOverrides.begin();
 3611     const CXXMethodDecl *MD = cast<const CXXMethodDecl>(I.first.getDecl());
 3611     const CXXMethodDecl *MD = cast<const CXXMethodDecl>(I.first.getDecl());
 3743   const CXXRecordDecl *RD = cast<CXXMethodDecl>(GD.getDecl())->getParent();
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  603 const internal::VariadicDynCastAllOfMatcher<Decl, CXXMethodDecl> cxxMethodDecl;
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h
   75     return Value.isMatcher() && Value.getMatcher().hasTypedMatcher<T>();
   78   static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) {
   79     return Value.getMatcher().getTypedMatcher<T>();
   83     return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  361     RetTypes.push_back(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  466       ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT> Func,
  469         DerivedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<DerivedT>()) {
  778     ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT>
tools/clang/lib/Analysis/AnalysisDeclContext.cpp
  160   auto *CXXMethod = dyn_cast<CXXMethodDecl>(D);
tools/clang/lib/Analysis/CallGraph.cpp
   86     else if (CXXMethodDecl *MD = LE->getCallOperator())
tools/clang/lib/Analysis/Consumed.cpp
  614   if (isa<CXXOperatorCallExpr>(Call) && isa<CXXMethodDecl>(FunD))
  804   CXXMethodDecl* MD = Call->getMethodDecl();
tools/clang/lib/Analysis/PathDiagnostic.cpp
  929   if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
  929   if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
 1010   if (const auto *MD = dyn_cast<CXXMethodDecl>(Callee))
 1010   if (const auto *MD = dyn_cast<CXXMethodDecl>(Callee))
tools/clang/lib/Analysis/RetainSummaryManager.cpp
  203 static bool isOSObjectRelated(const CXXMethodDecl *MD) {
  263   if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
  263   if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
  514   if (const auto *MD = dyn_cast<CXXMethodDecl>(FD))
  514   if (const auto *MD = dyn_cast<CXXMethodDecl>(FD))
  755       } else if (isOSObjectThisCast(FName) && isa<CXXMethodDecl>(FD) &&
  756                  !cast<CXXMethodDecl>(FD)->isStatic()) {
  768   if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
  768   if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
  874   if (const auto *MD = dyn_cast<CXXMethodDecl>(D))
  874   if (const auto *MD = dyn_cast<CXXMethodDecl>(D))
  875     for (const auto *PD : MD->overridden_methods())
  957   if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
  957   if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
  958     for (const auto *OD : MD->overridden_methods()) {
tools/clang/lib/Analysis/ThreadSafety.cpp
 1017   const CXXMethodDecl *CurrentMethod;
 2036     const CXXMethodDecl *MD = CE->getMethodDecl();
 2080                          /*SkipFirstParam*/ !isa<CXXMethodDecl>(FD));
 2266   CurrentMethod = dyn_cast<CXXMethodDecl>(D);
tools/clang/lib/Analysis/ThreadSafetyCommon.cpp
  334 static const CXXMethodDecl *getFirstVirtualDecl(const CXXMethodDecl *D) {
  334 static const CXXMethodDecl *getFirstVirtualDecl(const CXXMethodDecl *D) {
  352   if (const auto *VD = dyn_cast<CXXMethodDecl>(D))
  352   if (const auto *VD = dyn_cast<CXXMethodDecl>(D))
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGBlocks.cpp
  554     QualType thisType = cast<CXXMethodDecl>(CGF->CurFuncDecl)->getThisType();
tools/clang/lib/CodeGen/CGCXX.cpp
  216   SetLLVMFunctionAttributesForDefinition(cast<CXXMethodDecl>(GD.getDecl()), Fn);
  223   auto *MD = cast<CXXMethodDecl>(GD.getDecl());
  275 CodeGenFunction::BuildAppleKextVirtualCall(const CXXMethodDecl *MD,
tools/clang/lib/CodeGen/CGCXXABI.cpp
  102 llvm::Constant *CGCXXABI::EmitMemberFunctionPointer(const CXXMethodDecl *MD) {
  122   const CXXMethodDecl *MD = cast<CXXMethodDecl>(CGF.CurGD.getDecl());
  122   const CXXMethodDecl *MD = cast<CXXMethodDecl>(CGF.CurGD.getDecl());
tools/clang/lib/CodeGen/CGCXXABI.h
  189   virtual llvm::Constant *EmitMemberFunctionPointer(const CXXMethodDecl *MD);
  333   getThisArgumentTypeForMethod(const CXXMethodDecl *MD) {
tools/clang/lib/CodeGen/CGCall.cpp
   74                                          const CXXMethodDecl *MD) {
   87 static CanQual<FunctionProtoType> GetFormalType(const CXXMethodDecl *MD) {
  252                                    const CXXMethodDecl *MD) {
  278 CodeGenTypes::arrangeCXXMethodDeclaration(const CXXMethodDecl *MD) {
  306   auto *MD = cast<CXXMethodDecl>(GD.getDecl());
  434   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD))
  434   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD))
  529 CodeGenTypes::arrangeUnprototypedMustTailThunk(const CXXMethodDecl *MD) {
 1670   const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
 1670   const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
 1858       const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(Fn);
 1858       const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(Fn);
tools/clang/lib/CodeGen/CGClass.cpp
  118     auto RD = cast<CXXMethodDecl>(CurFuncDecl)->getParent();
  443   const CXXRecordDecl *RD = cast<CXXMethodDecl>(CurCodeDecl)->getParent();
  444   const CXXRecordDecl *Base = cast<CXXMethodDecl>(GD.getDecl())->getParent();
  494         cast<CXXMethodDecl>(CGF.CurCodeDecl)->getParent();
  575 static bool isMemcpyEquivalentSpecialMember(const CXXMethodDecl *D) {
 1163         CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(MCE->getCalleeDecl());
 1163         CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(MCE->getCalleeDecl());
 1211     AssignmentMemcpyizer(CodeGenFunction &CGF, const CXXMethodDecl *AD,
 1534   const CXXMethodDecl *AssignOp = cast<CXXMethodDecl>(CurGD.getDecl());
 1534   const CXXMethodDecl *AssignOp = cast<CXXMethodDecl>(CurGD.getDecl());
 2623   for (const CXXMethodDecl *MD : RD->methods()) {
 2836                                       const CXXMethodDecl *callOperator,
 2877   const CXXMethodDecl *CallOp = Lambda->getLambdaCallOperator();
 2903 void CodeGenFunction::EmitLambdaDelegatingInvokeBody(const CXXMethodDecl *MD) {
 2917   const CXXMethodDecl *CallOp = Lambda->getLambdaCallOperator();
 2928     CallOp = cast<CXXMethodDecl>(CorrespondingCallOpSpecialization);
 2933 void CodeGenFunction::EmitLambdaStaticInvokeBody(const CXXMethodDecl *MD) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 1465 CGDebugInfo::getOrCreateMethodType(const CXXMethodDecl *Method,
 1539     const CXXMethodDecl *Method, llvm::DIFile *Unit, llvm::DIType *RecordTy) {
 1652     const auto *Method = dyn_cast<CXXMethodDecl>(I);
 1652     const auto *Method = dyn_cast<CXXMethodDecl>(I);
 1775         const CXXMethodDecl *MD;
 1782         else if ((MD = dyn_cast<CXXMethodDecl>(D)) && MD->isInstance())
 2087   for (const CXXMethodDecl *MD : RD->methods())
 2154   for (CXXMethodDecl *MD : llvm::make_range(I, End))
 2741           CXXMethodDecl::getThisType(FPT, Ty->getMostRecentCXXRecordDecl()),
 3441     if (const auto *MD = dyn_cast<CXXMethodDecl>(FD->getCanonicalDecl())) {
 3441     if (const auto *MD = dyn_cast<CXXMethodDecl>(FD->getCanonicalDecl())) {
 3473   if (const auto *Method = dyn_cast<CXXMethodDecl>(D))
 3473   if (const auto *Method = dyn_cast<CXXMethodDecl>(D))
 4277               cast_or_null<CXXMethodDecl>(blockDecl->getNonClosureContext()))
tools/clang/lib/CodeGen/CGDebugInfo.h
  204   llvm::DISubroutineType *getOrCreateMethodType(const CXXMethodDecl *Method,
  222   llvm::DISubprogram *CreateCXXMemberFunction(const CXXMethodDecl *Method,
tools/clang/lib/CodeGen/CGExpr.cpp
 4521     if (const CXXMethodDecl *MD =
 4522           dyn_cast_or_null<CXXMethodDecl>(CE->getCalleeDecl()))
tools/clang/lib/CodeGen/CGExprCXX.cpp
   36 commonEmitCXXMemberOrOperatorCall(CodeGenFunction &CGF, const CXXMethodDecl *MD,
   79     const CXXMethodDecl *MD, const CGCallee &Callee,
   96   const CXXMethodDecl *DtorDecl = cast<CXXMethodDecl>(Dtor.getDecl());
   96   const CXXMethodDecl *DtorDecl = cast<CXXMethodDecl>(Dtor.getDecl());
  187   const CXXMethodDecl *MD = cast<CXXMethodDecl>(ME->getMemberDecl());
  187   const CXXMethodDecl *MD = cast<CXXMethodDecl>(ME->getMemberDecl());
  207     const CallExpr *CE, const CXXMethodDecl *MD, ReturnValueSlot ReturnValue,
  215   const CXXMethodDecl *DevirtualizedMethod = nullptr;
  303   const CXXMethodDecl *CalleeDecl =
  464                                                const CXXMethodDecl *MD,
tools/clang/lib/CodeGen/CGExprConstant.cpp
 2178   if (const CXXMethodDecl *method = dyn_cast<CXXMethodDecl>(decl))
 2178   if (const CXXMethodDecl *method = dyn_cast<CXXMethodDecl>(decl))
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
10272     if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
10272     if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
10675   if (isa<CXXMethodDecl>(FD))
tools/clang/lib/CodeGen/CGVTables.cpp
  159   const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
  159   const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
  243   const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
  243   const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
  296   const CXXMethodDecl *MD = cast<CXXMethodDecl>(CurGD.getDecl());
  296   const CXXMethodDecl *MD = cast<CXXMethodDecl>(CurGD.getDecl());
  469 static bool shouldEmitVTableThunk(CodeGenModule &CGM, const CXXMethodDecl *MD,
  490   const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
  490   const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
  601   const CXXMethodDecl *MD =
  602     cast<CXXMethodDecl>(GD.getDecl())->getCanonicalDecl();
  666       const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
  666       const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
  691     if (cast<CXXMethodDecl>(GD.getDecl())->isPure()) {
  698     } else if (cast<CXXMethodDecl>(GD.getDecl())->isDeleted()) {
  832   const CXXMethodDecl *keyFunction = Context.getCurrentKeyFunction(RD);
  838       keyFunction = cast<CXXMethodDecl>(def);
  965   const CXXMethodDecl *keyFunction = CGM.getContext().getCurrentKeyFunction(RD);
tools/clang/lib/CodeGen/CodeGenABITypes.cpp
   51                               const CXXMethodDecl *MD) {
tools/clang/lib/CodeGen/CodeGenFunction.cpp
  610   auto *MD = dyn_cast_or_null<CXXMethodDecl>(D);
  632   if (const auto *MD = dyn_cast<CXXMethodDecl>(FD))
  632   if (const auto *MD = dyn_cast<CXXMethodDecl>(FD))
  948   if (D && isa<CXXMethodDecl>(D) && cast<CXXMethodDecl>(D)->isInstance()) {
  948   if (D && isa<CXXMethodDecl>(D) && cast<CXXMethodDecl>(D)->isInstance()) {
  950     const CXXMethodDecl *MD = cast<CXXMethodDecl>(D);
  950     const CXXMethodDecl *MD = cast<CXXMethodDecl>(D);
 1090   const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD);
 1090   const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD);
 1195   else if (isa<CXXMethodDecl>(FD) &&
 1196            cast<CXXMethodDecl>(FD)->isLambdaStaticInvoker()) {
 1199     EmitLambdaStaticInvokeBody(cast<CXXMethodDecl>(FD));
 1200   } else if (FD->isDefaulted() && isa<CXXMethodDecl>(FD) &&
 1201              (cast<CXXMethodDecl>(FD)->isCopyAssignmentOperator() ||
 1202               cast<CXXMethodDecl>(FD)->isMoveAssignmentOperator())) {
tools/clang/lib/CodeGen/CodeGenFunction.h
 1855   void EmitForwardingCallToLambda(const CXXMethodDecl *LambdaCallOperator,
 1858   void EmitLambdaDelegatingInvokeBody(const CXXMethodDecl *MD);
 1859   void EmitLambdaStaticInvokeBody(const CXXMethodDecl *MD);
 3643   CGCallee BuildAppleKextVirtualCall(const CXXMethodDecl *MD,
 3675   EmitCXXMemberOrOperatorCall(const CXXMethodDecl *Method,
 3688                                                const CXXMethodDecl *MD,
 3703                                        const CXXMethodDecl *MD,
tools/clang/lib/CodeGen/CodeGenModule.cpp
 1453                                                       const CXXMethodDecl *MD) {
 1608     if (F->getAlignment() < 2 && isa<CXXMethodDecl>(D))
 1627   auto *MD = dyn_cast<CXXMethodDecl>(D);
 1778   if (isa<CXXMethodDecl>(FD) && !cast<CXXMethodDecl>(FD)->isStatic())
 1778   if (isa<CXXMethodDecl>(FD) && !cast<CXXMethodDecl>(FD)->isStatic())
 1852   else if (const auto *MD = dyn_cast<CXXMethodDecl>(FD))
 1852   else if (const auto *MD = dyn_cast<CXXMethodDecl>(FD))
 2650       CXXMethodDecl *M = E->getMethodDecl();
 2810     if (const auto *Method = dyn_cast<CXXMethodDecl>(D)) {
 2810     if (const auto *Method = dyn_cast<CXXMethodDecl>(D)) {
 2917   if (const auto *CXXFD = dyn_cast<CXXMethodDecl>(FD)) {
 2917   if (const auto *CXXFD = dyn_cast<CXXMethodDecl>(FD)) {
 3598   else if (isa<CXXMethodDecl>(D)) {
 3600         cast<CXXMethodDecl>(D));
tools/clang/lib/CodeGen/CodeGenTypes.h
  128   CanQualType DeriveThisType(const CXXRecordDecl *RD, const CXXMethodDecl *MD);
  239   const CGFunctionInfo &arrangeCXXMethodDeclaration(const CXXMethodDecl *MD);
  253   arrangeUnprototypedMustTailThunk(const CXXMethodDecl *MD);
  258                                              const CXXMethodDecl *MD);
tools/clang/lib/CodeGen/CoverageMappingGen.cpp
  884     if (auto *Method = dyn_cast<CXXMethodDecl>(D))
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
  141   llvm::Constant *EmitMemberFunctionPointer(const CXXMethodDecl *MD) override;
  145   llvm::Constant *BuildMemberPointer(const CXXMethodDecl *MD,
  418        const CXXMethodDecl *Method = VtableComponent.getFunctionDecl();
  445         const CXXMethodDecl *Method = VtableComponent.getFunctionDecl();
  956 ItaniumCXXABI::EmitMemberFunctionPointer(const CXXMethodDecl *MD) {
  960 llvm::Constant *ItaniumCXXABI::BuildMemberPointer(const CXXMethodDecl *MD,
 1027   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(MPD))
 1027   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(MPD))
 1528       cast<CXXMethodDecl>(GD.getDecl())->getParent()->getNumVBases() != 0) {
 1555   const CXXMethodDecl *MD = cast<CXXMethodDecl>(CGF.CurGD.getDecl());
 1555   const CXXMethodDecl *MD = cast<CXXMethodDecl>(CGF.CurGD.getDecl());
 1780   auto *MethodDecl = cast<CXXMethodDecl>(GD.getDecl());
 2738   const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
 2738   const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
 3885                                        const CXXMethodDecl *MD) {
 3955   auto *MD = cast<CXXMethodDecl>(GD.getDecl());
tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp
  228   getThisArgumentTypeForMethod(const CXXMethodDecl *MD) override {
  619   llvm::Function *EmitVirtualMemPtrThunk(const CXXMethodDecl *MD,
  636   llvm::Constant *EmitMemberFunctionPointer(const CXXMethodDecl *MD) override;
 1209                                   const CXXMethodDecl *MD) {
 1346   const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
 1346   const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
 1394   const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
 1394   const CXXMethodDecl *MD = cast<CXXMethodDecl>(GD.getDecl());
 1452   const CXXMethodDecl *MD = cast<CXXMethodDecl>(CGF.CurGD.getDecl());
 1452   const CXXMethodDecl *MD = cast<CXXMethodDecl>(CGF.CurGD.getDecl());
 1495   const CXXMethodDecl *MD = cast<CXXMethodDecl>(CGF.CurGD.getDecl());
 1495   const CXXMethodDecl *MD = cast<CXXMethodDecl>(CGF.CurGD.getDecl());
 1867   auto *MethodDecl = cast<CXXMethodDecl>(GD.getDecl());
 1966 MicrosoftCXXABI::EmitVirtualMemPtrThunk(const CXXMethodDecl *MD,
 2726   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(MPD)) {
 2726   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(MPD)) {
 2770 MicrosoftCXXABI::EmitMemberFunctionPointer(const CXXMethodDecl *MD) {
tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
   99       if (isa<CXXMethodDecl>(D))
tools/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
   62         if (FD->isInlined() && !isa<CXXMethodDecl>(FD) &&
   65         if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
   65         if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
tools/clang/lib/Index/IndexBody.cpp
   97           if (auto *CXXMD = dyn_cast_or_null<CXXMethodDecl>(ME->getMemberDecl()))
   97           if (auto *CXXMD = dyn_cast_or_null<CXXMethodDecl>(ME->getMemberDecl()))
tools/clang/lib/Index/IndexDecl.cpp
  232     if (auto *CXXMD = dyn_cast<CXXMethodDecl>(D)) {
  235       for (const CXXMethodDecl *O : CXXMD->overridden_methods()) {
tools/clang/lib/Index/IndexSymbol.cpp
  273       const CXXMethodDecl *MD = cast<CXXMethodDecl>(D);
  273       const CXXMethodDecl *MD = cast<CXXMethodDecl>(D);
  290       if (const CXXMethodDecl *MD = dyn_cast_or_null<CXXMethodDecl>(
  290       if (const CXXMethodDecl *MD = dyn_cast_or_null<CXXMethodDecl>(
tools/clang/lib/Index/USRGeneration.cpp
  274   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(D)) {
  274   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(D)) {
tools/clang/lib/Parse/ParseCXXInlineMethods.cpp
  410     CXXMethodDecl *Method;
  413       Method = cast<CXXMethodDecl>(FunTmpl->getTemplatedDecl());
  415       Method = cast<CXXMethodDecl>(LM.Method);
  563     if (isa<CXXMethodDecl>(FD) ||
tools/clang/lib/Parse/ParseStmt.cpp
 2085       getLangOpts().CPlusPlus && Decl && isa<CXXMethodDecl>(Decl);
 2124       getLangOpts().CPlusPlus && Decl && isa<CXXMethodDecl>(Decl);
tools/clang/lib/Sema/AnalysisBasedWarnings.cpp
  545     if (const CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Func))
  545     if (const CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Func))
 2140              : (isa<CXXMethodDecl>(D) &&
 2141                 cast<CXXMethodDecl>(D)->getOverloadedOperator() == OO_Call &&
 2142                 cast<CXXMethodDecl>(D)->getParent()->isLambda())
tools/clang/lib/Sema/DeclSpec.cpp
  400           CXXMethodDecl::isStaticOverloadedOperator(
tools/clang/lib/Sema/Sema.cpp
  789     if (const CXXMethodDecl *M = dyn_cast<CXXMethodDecl>(*I))
  789     if (const CXXMethodDecl *M = dyn_cast<CXXMethodDecl>(*I))
 1156           if (isa<CXXMethodDecl>(DiagD))
 1177                  isa<CXXMethodDecl>(DiagD) ? diag::warn_unused_member_function
 1257     } else if (isa<CXXMethodDecl>(DC) &&
 1258                cast<CXXMethodDecl>(DC)->getOverloadedOperator() == OO_Call &&
tools/clang/lib/Sema/SemaAccess.cpp
  792           if (CXXMethodDecl* MD = dyn_cast<CXXMethodDecl>(EC.Functions.front()))
  792           if (CXXMethodDecl* MD = dyn_cast<CXXMethodDecl>(EC.Functions.front()))
 1565 bool Sema::isSpecialMemberAccessibleForDeletion(CXXMethodDecl *decl,
 1778   CXXMethodDecl *method = cast<CXXMethodDecl>(target->getAsFunction());
 1778   CXXMethodDecl *method = cast<CXXMethodDecl>(target->getAsFunction());
tools/clang/lib/Sema/SemaCUDA.cpp
  267                                                    CXXMethodDecl *MemberDecl,
  732 void Sema::CUDASetLambdaAttrs(CXXMethodDecl *Method) {
tools/clang/lib/Sema/SemaCXXScopeSpec.cpp
  284       if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(S->getEntity()))
  284       if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(S->getEntity()))
tools/clang/lib/Sema/SemaCast.cpp
 1545       CXXMethodDecl *M = cast<CXXMethodDecl>(Fn);
 1545       CXXMethodDecl *M = cast<CXXMethodDecl>(Fn);
tools/clang/lib/Sema/SemaChecking.cpp
 4376                               isa<CXXMethodDecl>(FDecl);
 6939               if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(ND))
 6939               if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(ND))
 7899 static llvm::SmallPtrSet<MemberKind*, 1>
 7902   llvm::SmallPtrSet<MemberKind*, 1> Results;
 7919       if (MemberKind *FK = dyn_cast<MemberKind>(decl))
 7919       if (MemberKind *FK = dyn_cast<MemberKind>(decl))
 7930   using MethodSet = llvm::SmallPtrSet<CXXMethodDecl *, 1>;
 7933       CXXRecordMembersNamed<CXXMethodDecl>("c_str", *this, E->getType());
 7946   using MethodSet = llvm::SmallPtrSet<CXXMethodDecl *, 1>;
 7949       CXXRecordMembersNamed<CXXMethodDecl>("c_str", S, E->getType());
 7953     const CXXMethodDecl *Method = *MI;
tools/clang/lib/Sema/SemaCodeComplete.cpp
 1184 static OverloadCompare compareOverloads(const CXXMethodDecl &Candidate,
 1185                                         const CXXMethodDecl &Incumbent,
 1295     if (const auto *Method = dyn_cast<CXXMethodDecl>(R.Declaration))
 1295     if (const auto *Method = dyn_cast<CXXMethodDecl>(R.Declaration))
 1327                                    *cast<CXXMethodDecl>(Incumbent.Declaration),
 1947   for (auto *Method : CR->methods()) {
 1957     for (auto *Method : BR->methods()) {
 3957   CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(CurContext);
 3957   CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(CurContext);
 3968   for (const CXXMethodDecl *Overridden : Method->overridden_methods()) {
tools/clang/lib/Sema/SemaCoroutine.cpp
   77   if (auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
  222   auto *MD = dyn_cast<CXXMethodDecl>(FD);
  222   auto *MD = dyn_cast<CXXMethodDecl>(FD);
  484     if (auto *MD = dyn_cast_or_null<CXXMethodDecl>(FD))
  484     if (auto *MD = dyn_cast_or_null<CXXMethodDecl>(FD))
  509   if (auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
  509   if (auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
 1056     if (CXXMethodDecl *Method = dyn_cast_or_null<CXXMethodDecl>(Decl)) {
 1056     if (CXXMethodDecl *Method = dyn_cast_or_null<CXXMethodDecl>(Decl)) {
 1156   if (auto *MD = dyn_cast<CXXMethodDecl>(&FD)) {
 1156   if (auto *MD = dyn_cast<CXXMethodDecl>(&FD)) {
 1407     auto *MethodDecl = MbrRef->getMethodDecl();
tools/clang/lib/Sema/SemaDecl.cpp
  548     if (const auto *MD = dyn_cast<CXXMethodDecl>(DC))
  548     if (const auto *MD = dyn_cast<CXXMethodDecl>(DC))
 1591 static bool IsDisallowedCopyOrAssign(const CXXMethodDecl *D) {
 1656     if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
 1656     if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
 2865       !NewCSA->isImplicit() && isa<CXXMethodDecl>(New)) {
 3205   if (!isa<CXXMethodDecl>(New) && !isa<CXXMethodDecl>(Old) &&
 3205   if (!isa<CXXMethodDecl>(New) && !isa<CXXMethodDecl>(Old) &&
 3468     const CXXMethodDecl *OldMethod = dyn_cast<CXXMethodDecl>(Old);
 3468     const CXXMethodDecl *OldMethod = dyn_cast<CXXMethodDecl>(Old);
 3469     CXXMethodDecl *NewMethod = dyn_cast<CXXMethodDecl>(New);
 3469     CXXMethodDecl *NewMethod = dyn_cast<CXXMethodDecl>(New);
 6188     if (auto *MD = dyn_cast<CXXMethodDecl>(&ND))
 6188     if (auto *MD = dyn_cast<CXXMethodDecl>(&ND))
 6209         const auto *MD = dyn_cast<CXXMethodDecl>(FD);
 6209         const auto *MD = dyn_cast<CXXMethodDecl>(FD);
 6344   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewDecl)) {
 6344   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewDecl)) {
 7265     if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewDC))
 7265     if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewDC))
 7296       isa<CXXMethodDecl>(NewDC)) {
 7799   CXXMethodDecl *Method;
 7822       if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(D)) {
 7822       if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(D)) {
 7841 static void ReportOverrides(Sema& S, unsigned DiagID, const CXXMethodDecl *MD,
 7844   for (const CXXMethodDecl *O : MD->overridden_methods()) {
 7857 bool Sema::AddOverriddenMethods(CXXRecordDecl *DC, CXXMethodDecl *MD) {
 7868       if (CXXMethodDecl *OldMD = dyn_cast<CXXMethodDecl>(I)) {
 7868       if (CXXMethodDecl *OldMD = dyn_cast<CXXMethodDecl>(I)) {
 7926         if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
 7926         if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
 7989   CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewFD);
 7989   CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewFD);
 8077   if (CXXMethodDecl *NewMD = dyn_cast<CXXMethodDecl>(NewFD))
 8077   if (CXXMethodDecl *NewMD = dyn_cast<CXXMethodDecl>(NewFD))
 8084     CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD);
 8084     CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD);
 8273     CXXMethodDecl *Ret = CXXMethodDecl::Create(
 8273     CXXMethodDecl *Ret = CXXMethodDecl::Create(
 8632       if (Parent->isInterface() && cast<CXXMethodDecl>(NewFD)->isUserProvided())
 8873     if (isa<CXXMethodDecl>(NewFD) && DC == CurContext &&
 8881     if (SC == SC_Static && isa<CXXMethodDecl>(NewFD) &&
 9227     } else if (isMemberSpecialization && isa<CXXMethodDecl>(NewFD)) {
 9349                isa<CXXMethodDecl>(NewFD) && NewFD->isOutOfLine() &&
 9511                                 cast<CXXMethodDecl>(NewFD),
 9546   const auto *Method = dyn_cast<CXXMethodDecl>(FD);
 9546   const auto *Method = dyn_cast<CXXMethodDecl>(FD);
 9759   if (const auto *NewCXXFD = dyn_cast<CXXMethodDecl>(NewFD)) {
 9759   if (const auto *NewCXXFD = dyn_cast<CXXMethodDecl>(NewFD)) {
10318   CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewFD);
10318   CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewFD);
10322     CXXMethodDecl *OldMD = nullptr;
10324       OldMD = dyn_cast_or_null<CXXMethodDecl>(OldDecl->getAsFunction());
10466     if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(NewFD)) {
10466     if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(NewFD)) {
10955       CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(E->getMemberDecl());
10955       CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(E->getMemberDecl());
11556   if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(RealDecl)) {
11556   if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(RealDecl)) {
13292   if (isa<CXXMethodDecl>(FD))
13435 static void RebuildLambdaScopeInfo(CXXMethodDecl *CallOperator,
13545     RebuildLambdaScopeInfo(cast<CXXMethodDecl>(D), *this);
13899     if (auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
13899     if (auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
13900       const CXXMethodDecl *KeyFunction;
14086   if (CXXMethodDecl *Method = dyn_cast_or_null<CXXMethodDecl>(D))
14086   if (CXXMethodDecl *Method = dyn_cast_or_null<CXXMethodDecl>(D))
tools/clang/lib/Sema/SemaDeclAttr.cpp
  145   if (const auto *MethodDecl = dyn_cast<CXXMethodDecl>(D))
  145   if (const auto *MethodDecl = dyn_cast<CXXMethodDecl>(D))
  638     const auto *MD = dyn_cast<const CXXMethodDecl>(D);
  638     const auto *MD = dyn_cast<const CXXMethodDecl>(D);
 1014     if (const auto *MD = dyn_cast<CXXMethodDecl>(FD))
 1014     if (const auto *MD = dyn_cast<CXXMethodDecl>(FD))
 1124 static bool checkForConsumableClass(Sema &S, const CXXMethodDecl *MD,
 1144   if (!checkForConsumableClass(S, cast<CXXMethodDecl>(D), AL))
 1255   if (!checkForConsumableClass(S, cast<CXXMethodDecl>(D), AL))
 1277   if (!checkForConsumableClass(S, cast<CXXMethodDecl>(D), AL))
 1884   if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
 1884   if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
 4237   if (const auto *Method = dyn_cast<CXXMethodDecl>(FD)) {
 4237   if (const auto *Method = dyn_cast<CXXMethodDecl>(FD)) {
 5571       CXXMethodDecl::isStaticOverloadedOperator(
 5992   if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
 5992   if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
tools/clang/lib/Sema/SemaDeclCXX.cpp
  153                                                  const CXXMethodDecl *Method) {
  515         CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(New);
  515         CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(New);
  627     CXXSpecialMember NewSM = getSpecialMember(cast<CXXMethodDecl>(New)),
  628                      OldSM = getSpecialMember(cast<CXXMethodDecl>(Old));
 1678   const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewFD);
 1678   const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewFD);
 1707     const CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(NewFD);
 1707     const CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(NewFD);
 1721         const CXXMethodDecl *WrittenVirtual = Method;
 2969   CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(D);
 2969   CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(D);
 2980     SmallVector<CXXMethodDecl *, 8> OverloadedMethods;
 3032   CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(D);
 3032   CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(D);
 3049     const CXXMethodDecl *OMD = *MD->begin_overridden_methods();
 3057 bool Sema::CheckIfOverriddenFunctionIsMarkedFinal(const CXXMethodDecl *New,
 3058                                                   const CXXMethodDecl *Old) {
 3425     if (CXXMethodDecl *MD = dyn_cast_or_null<CXXMethodDecl>(Member))
 3425     if (CXXMethodDecl *MD = dyn_cast_or_null<CXXMethodDecl>(Member))
 5551   llvm::SmallPtrSet<const CXXMethodDecl *, 8> SeenPureMethods;
 5704                                     CXXMethodDecl *MD) {
 5724     if (isa<CXXMethodDecl>(D)) {
 5725       CheckAbstractClassUsage(Info, cast<CXXMethodDecl>(D));
 5728       CheckAbstractClassUsage(Info, cast<CXXMethodDecl>(FD));
 5776     auto *MD = dyn_cast<CXXMethodDecl>(Member);
 5776     auto *MD = dyn_cast<CXXMethodDecl>(Member);
 5855   for (auto *Method : Class->methods()) {
 5892       if (!isa<VarDecl>(Member) && !isa<CXXMethodDecl>(Member))
 5939     CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(Member);
 5939     CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(Member);
 6096   if (auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
 6148 static void DefineImplicitSpecialMember(Sema &S, CXXMethodDecl *MD,
 6272   for (const CXXMethodDecl *MD : D->methods()) {
 6454     for (auto *M : Record->methods()) {
 6473     for (auto *M : Record->methods())
 6785     Sema &S, SourceLocation Loc, CXXMethodDecl *MD, Sema::CXXSpecialMember CSM,
 6789 computeImplicitExceptionSpec(Sema &S, SourceLocation Loc, CXXMethodDecl *MD) {
 6804                                                             CXXMethodDecl *MD) {
 6818 void Sema::EvaluateImplicitExceptionSpec(SourceLocation Loc, CXXMethodDecl *MD) {
 6846           ? CheckExplicitlyDefaultedSpecialMember(cast<CXXMethodDecl>(FD),
 6852 bool Sema::CheckExplicitlyDefaultedSpecialMember(CXXMethodDecl *MD,
 7074   if (auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
 7074   if (auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
 7186   CXXMethodDecl *MD;
 7193   SpecialMemberVisitor(Sema &S, CXXMethodDecl *MD, Sema::CXXSpecialMember CSM,
 7307   SpecialMemberDeletionInfo(Sema &S, CXXMethodDecl *MD,
 7334   bool isAccessible(Subobject Subobj, CXXMethodDecl *D);
 7341                                              CXXMethodDecl *target) {
 7363   CXXMethodDecl *Decl = SMOR.getMethod();
 7486   if (auto *BaseCtor = SMOR.getMethod()) {
 7635 bool Sema::ShouldDeleteSpecialMember(CXXMethodDecl *MD, CXXSpecialMember CSM,
 7670     CXXMethodDecl *UserDeclaredMove = nullptr;
 7696       for (auto *I : RD->methods()) {
 7781                                      CXXMethodDecl **Selected) {
 7941   CXXMethodDecl *Selected;
 8046 bool Sema::SpecialMemberIsTrivial(CXXMethodDecl *MD, CXXSpecialMember CSM,
 8168     for (const auto *MI : RD->methods()) {
 8186   CXXMethodDecl *Method;
 8187   llvm::SmallPtrSet<const CXXMethodDecl *, 8> OverridenAndUsingBaseMethods;
 8188   SmallVector<CXXMethodDecl *, 8> OverloadedMethods;
 8193       const CXXMethodDecl *MD,
 8194       const llvm::SmallPtrSetImpl<const CXXMethodDecl *> &Methods) {
 8197     for (const CXXMethodDecl *O : MD->overridden_methods())
 8215     SmallVector<CXXMethodDecl *, 8> overloadedMethods;
 8219       if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(D)) {
 8219       if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(D)) {
 8252 static void AddMostOverridenMethods(const CXXMethodDecl *MD,
 8253                         llvm::SmallPtrSetImpl<const CXXMethodDecl *>& Methods) {
 8257     for (const CXXMethodDecl *O : MD->overridden_methods())
 8263 void Sema::FindHiddenVirtualMethods(CXXMethodDecl *MD,
 8264                           SmallVectorImpl<CXXMethodDecl*> &OverloadedMethods) {
 8283     if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(ND))
 8283     if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(ND))
 8291 void Sema::NoteHiddenVirtualMethods(CXXMethodDecl *MD,
 8292                           SmallVectorImpl<CXXMethodDecl*> &OverloadedMethods) {
 8294     CXXMethodDecl *overloadedMD = OverloadedMethods[i];
 8304 void Sema::DiagnoseHiddenVirtualMethods(CXXMethodDecl *MD) {
 8311   SmallVector<CXXMethodDecl *, 8> OverloadedMethods;
11199   SpecialMemberExceptionSpecInfo(Sema &S, CXXMethodDecl *MD,
11223   if (auto *BaseCtor = SMOR.getMethod()) {
11264   if (CXXMethodDecl *MD = SMOR.getMethod())
11273   ComputingExceptionSpec(Sema &S, CXXMethodDecl *MD, SourceLocation Loc)
11311     Sema &S, SourceLocation Loc, CXXMethodDecl *MD, Sema::CXXSpecialMember CSM,
11414 void Sema::setupImplicitSpecialMemberType(CXXMethodDecl *SpecialMem,
11837     SmallVector<CXXMethodDecl*, 4> WorkList;
11839     for (CXXMethodDecl *M : WorkList) {
12142         if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(D))
12142         if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(D))
12321 CXXMethodDecl *Sema::DeclareImplicitCopyAssignment(CXXRecordDecl *ClassDecl) {
12351   CXXMethodDecl *CopyAssignment = CXXMethodDecl::Create(
12351   CXXMethodDecl *CopyAssignment = CXXMethodDecl::Create(
12401 static void diagnoseDeprecatedCopyOperation(Sema &S, CXXMethodDecl *CopyOp) {
12405   CXXMethodDecl *UserDeclaredOperation = nullptr;
12426     for (auto *I : RD->methods()) {
12444                                         CXXMethodDecl *CopyAssignOperator) {
12647 CXXMethodDecl *Sema::DeclareImplicitMoveAssignment(CXXRecordDecl *ClassDecl) {
12672   CXXMethodDecl *MoveAssignment = CXXMethodDecl::Create(
12672   CXXMethodDecl *MoveAssignment = CXXMethodDecl::Create(
12809                                         CXXMethodDecl *MoveAssignOperator) {
13283   return FD->isDeleted() && FD->isDefaulted() && isa<CXXMethodDecl>(FD);
13805   auto *MD = dyn_cast<CXXMethodDecl>(FnDecl);
13805   auto *MD = dyn_cast<CXXMethodDecl>(FnDecl);
13864   if (CXXMethodDecl *MethodDecl = dyn_cast<CXXMethodDecl>(FnDecl)) {
13864   if (CXXMethodDecl *MethodDecl = dyn_cast<CXXMethodDecl>(FnDecl)) {
13916                      + (isa<CXXMethodDecl>(FnDecl)? 1 : 0);
13945   if (MustBeMemberOperator && !isa<CXXMethodDecl>(FnDecl)) {
14022   if (isa<CXXMethodDecl>(FnDecl)) {
15174   if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(Fn)) {
15174   if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(Fn)) {
15176     for (const CXXMethodDecl *O : MD->overridden_methods()) {
15268   auto *MD = cast<CXXMethodDecl>(FD);
15268   auto *MD = cast<CXXMethodDecl>(FD);
15307 bool Sema::CheckOverridingFunctionAttributes(const CXXMethodDecl *New,
15308                                              const CXXMethodDecl *Old) {
15355 bool Sema::CheckOverridingFunctionReturnType(const CXXMethodDecl *New,
15356                                              const CXXMethodDecl *Old) {
15466 bool Sema::CheckPureMethod(CXXMethodDecl *Method, SourceRange InitRange) {
15485   else if (auto *M = dyn_cast<CXXMethodDecl>(D))
15485   else if (auto *M = dyn_cast<CXXMethodDecl>(D))
15674     const CXXMethodDecl *KeyFunction = Context.getCurrentKeyFunction(Class);
15746   for (const auto *I : RD->methods())
15764       CXXMethodDecl *Overrider = OI->second.front().Method;
15935 bool Sema::checkThisInStaticMemberFunctionType(CXXMethodDecl *Method) {
15967 bool Sema::checkThisInStaticMemberFunctionExceptionSpec(CXXMethodDecl *Method) {
16009 bool Sema::checkThisInStaticMemberFunctionAttributes(CXXMethodDecl *Method) {
16118   CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(MethodD);
16118   CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(MethodD);
16137     for (const CXXMethodDecl *O : Method->overridden_methods())
tools/clang/lib/Sema/SemaExceptionSpec.cpp
  207     EvaluateImplicitExceptionSpec(Loc, cast<CXXMethodDecl>(SourceDecl));
  233   auto *MD = dyn_cast<CXXMethodDecl>(FD);
  938 bool Sema::CheckOverridingFunctionExceptionSpec(const CXXMethodDecl *New,
  939                                                 const CXXMethodDecl *Old) {
tools/clang/lib/Sema/SemaExpr.cpp
  102   CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Decl);
  102   CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Decl);
  276   if (auto *MD = dyn_cast<CXXMethodDecl>(D)) {
  276   if (auto *MD = dyn_cast<CXXMethodDecl>(D)) {
 1955         CXXMethodDecl *CurMethod = dyn_cast<CXXMethodDecl>(CurContext);
 1955         CXXMethodDecl *CurMethod = dyn_cast<CXXMethodDecl>(CurContext);
 2129   else if (auto *MD = dyn_cast<CXXMethodDecl>(S.CurContext))
 2129   else if (auto *MD = dyn_cast<CXXMethodDecl>(S.CurContext))
 2693   } else if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Member)) {
 2693   } else if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Member)) {
 3167       if (cast<CXXMethodDecl>(VD)->isStatic()) {
 4945       if (CXXMethodDecl *Method = dyn_cast_or_null<CXXMethodDecl>(FDecl))
 4945       if (CXXMethodDecl *Method = dyn_cast_or_null<CXXMethodDecl>(FDecl))
 5491            isa<CXXMethodDecl>(Callee)
 5513     if (const auto *MD = dyn_cast<CXXMethodDecl>(DC))
 5513     if (const auto *MD = dyn_cast<CXXMethodDecl>(DC))
 6004   if (CXXMethodDecl *Method = dyn_cast_or_null<CXXMethodDecl>(FDecl))
 6004   if (CXXMethodDecl *Method = dyn_cast_or_null<CXXMethodDecl>(FDecl))
11611       if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(DC)) {
11611       if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(DC)) {
12385     CXXMethodDecl *MD = cast<CXXMethodDecl>(DRE->getDecl());
12385     CXXMethodDecl *MD = cast<CXXMethodDecl>(DRE->getDecl());
13685     if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(VD))
13685     if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(VD))
13696       if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(D)) {
13696       if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(D)) {
15388   CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(Func);
15388   CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(Func);
15516       } else if (CXXMethodDecl *MethodDecl = dyn_cast<CXXMethodDecl>(Func)) {
15516       } else if (CXXMethodDecl *MethodDecl = dyn_cast<CXXMethodDecl>(Func)) {
15519           MethodDecl = cast<CXXMethodDecl>(MethodDecl->getFirstDecl());
15679   if (isa<CXXMethodDecl>(VarDC) &&
16881   CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(ME->getMemberDecl());
16881   CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(ME->getMemberDecl());
16892   CXXMethodDecl *DM = MD->getDevirtualizedMethod(
16904   if (const CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(E->getDecl()))
16904   if (const CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(E->getDecl()))
16921     if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(E->getMemberDecl()))
16921     if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(E->getMemberDecl()))
17392           !(isa<CXXMethodDecl>(VD) &&
17393             cast<CXXMethodDecl>(VD)->isInstance()))
17728     if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD))
17728     if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD))
tools/clang/lib/Sema/SemaExprCXX.cpp
 1085   if (CXXMethodDecl *method = dyn_cast<CXXMethodDecl>(DC)) {
 1085   if (CXXMethodDecl *method = dyn_cast<CXXMethodDecl>(DC)) {
 1434 bool Sema::isUsualDeallocationFunction(const CXXMethodDecl *Method) {
 1459   if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(FD))
 1459   if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(FD))
 2911     Operator = cast<CXXMethodDecl>(Matches[0].FD);
 3362         else if (OperatorDelete && isa<CXXMethodDecl>(OperatorDelete))
 3846           cast<CXXMethodDecl>(FD), ICS.UserDefined.FoundConversionFunction,
 4487       CXXMethodDecl *Operator = cast<CXXMethodDecl>(*Op);
 4487       CXXMethodDecl *Operator = cast<CXXMethodDecl>(*Op);
 4787                                 &CXXMethodDecl::isCopyAssignmentOperator);
 4800                                 &CXXMethodDecl::isMoveAssignmentOperator);
tools/clang/lib/Sema/SemaExprMember.cpp
   95     (!isa<CXXMethodDecl>(DC) || cast<CXXMethodDecl>(DC)->isStatic());
   95     (!isa<CXXMethodDecl>(DC) || cast<CXXMethodDecl>(DC)->isStatic());
  163   if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(DC))
  163   if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(DC))
  208   CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(FunctionLevelDC);
  208   CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(FunctionLevelDC);
 1138   if (CXXMethodDecl *MemberFn = dyn_cast<CXXMethodDecl>(MemberDecl)) {
 1138   if (CXXMethodDecl *MemberFn = dyn_cast<CXXMethodDecl>(MemberDecl)) {
 1803   auto *CurMethod = dyn_cast<CXXMethodDecl>(CurContext);
 1803   auto *CurMethod = dyn_cast<CXXMethodDecl>(CurContext);
tools/clang/lib/Sema/SemaInit.cpp
 6727 static bool shouldTrackImplicitObjectArg(const CXXMethodDecl *Callee) {
 6803     const auto *MD = cast_or_null<CXXMethodDecl>(MCE->getDirectCallee());
 6803     const auto *MD = cast_or_null<CXXMethodDecl>(MCE->getDirectCallee());
 6810         shouldTrackImplicitObjectArg(cast<CXXMethodDecl>(Callee)))
 9076             << S.getSpecialMember(cast<CXXMethodDecl>(Best->Function))
tools/clang/lib/Sema/SemaLambda.cpp
  359 CXXMethodDecl *Sema::startLambdaDefinition(CXXRecordDecl *Class,
  393   CXXMethodDecl *Method = CXXMethodDecl::Create(
  393   CXXMethodDecl *Method = CXXMethodDecl::Create(
  433     CXXRecordDecl *Class, CXXMethodDecl *Method,
  482                                         CXXMethodDecl *CallOperator,
  539     CXXMethodDecl *CallOperator, Scope *CurScope) {
  969   CXXMethodDecl *Method =
 1279                                          CXXMethodDecl *CallOperator) {
 1411   CXXMethodDecl *Invoke = CXXMethodDecl::Create(
 1411   CXXMethodDecl *Invoke = CXXMethodDecl::Create(
 1439                                       CXXMethodDecl *CallOperator) {
 1654   CXXMethodDecl *CallOperator;
 1865   CXXMethodDecl *CallOperator
 1866     = cast<CXXMethodDecl>(
tools/clang/lib/Sema/SemaLookup.cpp
 2147   if (isa<CXXMethodDecl>(D)) {
 2153       if (!isa<CXXMethodDecl>(D)) {
 2158       if (!cast<CXXMethodDecl>(D)->isStatic()) {
 2552     while (isa<CXXMethodDecl>(*Found) &&
 2553            cast<CXXMethodDecl>(*Found)->isStatic())
 3220     if (CXXMethodDecl *M = dyn_cast<CXXMethodDecl>(Cand->getUnderlyingDecl())) {
 3220     if (CXXMethodDecl *M = dyn_cast<CXXMethodDecl>(Cand->getUnderlyingDecl())) {
 3253       Result->setMethod(cast<CXXMethodDecl>(Best->Function));
 3258       Result->setMethod(cast<CXXMethodDecl>(Best->Function));
 3327 CXXMethodDecl *Sema::LookupCopyingAssignment(CXXRecordDecl *Class,
 3344 CXXMethodDecl *Sema::LookupMovingAssignment(CXXRecordDecl *Class,
 4729       if (isa<CXXMethodDecl>(SemaRef.CurContext) &&
 4730           cast<CXXMethodDecl>(SemaRef.CurContext)->isInstance())
 4811       isa<CXXMethodDecl>(CurContext))
 5180     if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(D)) {
 5180     if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(D)) {
 5251     if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
 5251     if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
 5253         CXXMethodDecl *CurMD =
 5255                 ? dyn_cast_or_null<CXXMethodDecl>(MemberFn->getMemberDecl())
 5256                 : dyn_cast_or_null<CXXMethodDecl>(CurContext);
tools/clang/lib/Sema/SemaOpenMP.cpp
 4765         << FD->getDeclName() << (isa<CXXMethodDecl>(ADecl) ? 1 : 0);
 4820         << FD->getDeclName() << (isa<CXXMethodDecl>(ADecl) ? 1 : 0);
 4906         << FD->getDeclName() << (isa<CXXMethodDecl>(ADecl) ? 1 : 0);
 5023     auto *Method = dyn_cast<CXXMethodDecl>(FD);
 5023     auto *Method = dyn_cast<CXXMethodDecl>(FD);
 5115   if (const auto *CXXFD = dyn_cast<CXXMethodDecl>(FD)) {
 5115   if (const auto *CXXFD = dyn_cast<CXXMethodDecl>(FD)) {
tools/clang/lib/Sema/SemaOverload.cpp
 1179   CXXMethodDecl *OldMethod = dyn_cast<CXXMethodDecl>(Old);
 1179   CXXMethodDecl *OldMethod = dyn_cast<CXXMethodDecl>(Old);
 1180   CXXMethodDecl *NewMethod = dyn_cast<CXXMethodDecl>(New);
 1180   CXXMethodDecl *NewMethod = dyn_cast<CXXMethodDecl>(New);
 1679       CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Fn);
 1679       CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Fn);
 5168                                 CXXMethodDecl *Method,
 5296                                           CXXMethodDecl *Method) {
 6094   if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Function)) {
 6094   if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Function)) {
 6396     CXXMethodDecl *Method = cast<CXXMethodDecl>(Function);
 6396     CXXMethodDecl *Method = cast<CXXMethodDecl>(Function);
 6406     if (auto *MD = dyn_cast<CXXMethodDecl>(Function)) {
 6406     if (auto *MD = dyn_cast<CXXMethodDecl>(Function)) {
 6577     if (isa<CXXMethodDecl>(FD) && !cast<CXXMethodDecl>(FD)->isStatic()) {
 6577     if (isa<CXXMethodDecl>(FD) && !cast<CXXMethodDecl>(FD)->isStatic()) {
 6601         AddMethodCandidate(cast<CXXMethodDecl>(FD), F.getPair(),
 6602                            cast<CXXMethodDecl>(FD)->getParent(), ObjectType,
 6612           (!Args[0] || (FirstArgumentIsBase && isa<CXXMethodDecl>(FD) &&
 6652     AddMethodCandidate(cast<CXXMethodDecl>(Decl), FoundDecl, ActingContext,
 6666 Sema::AddMethodCandidate(CXXMethodDecl *Method, DeclAccessPair FoundDecl,
 6848         cast<CXXMethodDecl>(Candidate.Function)->isStatic() ||
 6866   AddMethodCandidate(cast<CXXMethodDecl>(Specialization), FoundDecl,
 6915         isa<CXXMethodDecl>(Candidate.Function) &&
 6952   auto *Method = dyn_cast<CXXMethodDecl>(FD);
 6952   auto *Method = dyn_cast<CXXMethodDecl>(FD);
 6966   if (HasThisConversion && !cast<CXXMethodDecl>(FD)->isStatic() &&
 9742     if (CXXMethodDecl *Meth = dyn_cast<CXXMethodDecl>(Fn)) {
 9742     if (CXXMethodDecl *Meth = dyn_cast<CXXMethodDecl>(Fn)) {
 9926   if (isa<CXXMethodDecl>(Fn) && !isa<CXXConstructorDecl>(Fn)) {
10515   CXXMethodDecl *Meth = dyn_cast<CXXMethodDecl>(Callee);
10515   CXXMethodDecl *Meth = dyn_cast<CXXMethodDecl>(Callee);
11000     if (isa<CXXMethodDecl>(Cand->Function) &&
11334         if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Fn))
11334         if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Fn))
11431     if (CXXMethodDecl *Method
11432               = dyn_cast<CXXMethodDecl>(FunctionTemplate->getTemplatedDecl())) {
11477     if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Fn)) {
11477     if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Fn)) {
11924         isa<CXXMethodDecl>(fn) &&
11925         cast<CXXMethodDecl>(fn)->isInstance()) {
12607       if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(FnDecl)) {
12607       if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(FnDecl)) {
12908         if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(FnDecl)) {
12908         if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(FnDecl)) {
12970         if (isa<CXXMethodDecl>(FnDecl)) {
12980                   isa<CXXMethodDecl>(FnDecl), OpLoc, TheCall->getSourceRange(),
13101         CXXMethodDecl *Method = cast<CXXMethodDecl>(Best->Function);
13101         CXXMethodDecl *Method = cast<CXXMethodDecl>(Best->Function);
13189         CXXMethodDecl *Method = cast<CXXMethodDecl>(FnDecl);
13189         CXXMethodDecl *Method = cast<CXXMethodDecl>(FnDecl);
13373   CXXMethodDecl *Method = nullptr;
13378     Method = cast<CXXMethodDecl>(MemExpr->getMemberDecl());
13416       } else if ((Method = dyn_cast<CXXMethodDecl>(Func))) {
13441       Method = cast<CXXMethodDecl>(Best->Function);
13553     const CXXMethodDecl *MD = TheCall->getMethodDecl();
13758   CXXMethodDecl *Method = cast<CXXMethodDecl>(Best->Function);
13758   CXXMethodDecl *Method = cast<CXXMethodDecl>(Best->Function);
13953   CXXMethodDecl *Method = cast<CXXMethodDecl>(Best->Function);
13953   CXXMethodDecl *Method = cast<CXXMethodDecl>(Best->Function);
14189     if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Fn)) {
14189     if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Fn)) {
14270       if (cast<CXXMethodDecl>(Fn)->isStatic()) {
14289     if (cast<CXXMethodDecl>(Fn)->isStatic()) {
tools/clang/lib/Sema/SemaStmt.cpp
 3093       } else if (isa<CXXMethodDecl>(FD)) {
 3096         if (cast<CXXMethodDecl>(FD)->getRefQualifier() != RQ_RValue)
tools/clang/lib/Sema/SemaTemplate.cpp
  698       isa<CXXMethodDecl>(DC) && cast<CXXMethodDecl>(DC)->isInstance()) {
  698       isa<CXXMethodDecl>(DC) && cast<CXXMethodDecl>(DC)->isInstance()) {
  699     QualType ThisType = cast<CXXMethodDecl>(DC)->getThisType();
 6066   if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Entity)) {
 6066   if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Entity)) {
 6305       isa<CXXMethodDecl>(DRE->getDecl())) {
 6969       (isa<CXXMethodDecl>(VD) || isa<FieldDecl>(VD) ||
 6989       if (isa<CXXMethodDecl>(VD) && cast<CXXMethodDecl>(VD)->isInstance())
 6989       if (isa<CXXMethodDecl>(VD) && cast<CXXMethodDecl>(VD)->isInstance())
 7471   else if (isa<CXXMethodDecl>(Specialized))
 8423         CXXMethodDecl *OldMD =
 8424           dyn_cast<CXXMethodDecl>(FunTmpl->getTemplatedDecl());
 8643       if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(D)) {
 8643       if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(D)) {
 8702     if (InstantiatedFrom && isa<CXXMethodDecl>(Member)) {
 8703       cast<CXXMethodDecl>(Member)->setInstantiationOfMemberFunction(
 8704                                       cast<CXXMethodDecl>(InstantiatedFrom),
 8705         cast<CXXMethodDecl>(Instantiation)->getTemplateSpecializationKind());
 8767         cast<CXXMethodDecl>(InstantiatedFrom), TSK_ExplicitSpecialization);
 8794 static void completeMemberSpecializationImpl(Sema &S, DeclT *OrigD,
 8813   if (auto *Function = dyn_cast<CXXMethodDecl>(Instantiation))
 8813   if (auto *Function = dyn_cast<CXXMethodDecl>(Instantiation))
 9585       if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Prev)) {
 9585       if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Prev)) {
tools/clang/lib/Sema/SemaTemplateDeduction.cpp
 3082     if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Function)) {
 3082     if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Function)) {
 3457   if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Fn))
 3457   if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(Fn))
 4638     CXXRecordDecl *Lambda = cast<CXXMethodDecl>(FD)->getParent();
 4693                                CXXMethodDecl *Method,
 4738     CXXMethodDecl *Method1 = dyn_cast<CXXMethodDecl>(FD1);
 4738     CXXMethodDecl *Method1 = dyn_cast<CXXMethodDecl>(FD1);
 4739     CXXMethodDecl *Method2 = dyn_cast<CXXMethodDecl>(FD2);
 4739     CXXMethodDecl *Method2 = dyn_cast<CXXMethodDecl>(FD2);
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
  676       auto *MD = dyn_cast<CXXMethodDecl>(Active->Entity);
  676       auto *MD = dyn_cast<CXXMethodDecl>(Active->Entity);
  898       auto *NewMD = dyn_cast<CXXMethodDecl>(New);
  898       auto *NewMD = dyn_cast<CXXMethodDecl>(New);
  900         auto *OldMD = dyn_cast<CXXMethodDecl>(Old);
  900         auto *OldMD = dyn_cast<CXXMethodDecl>(Old);
 2203       } else if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewMember)) {
 2203       } else if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewMember)) {
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
 1614   if (CXXMethodDecl *DMethod = dyn_cast<CXXMethodDecl>(D->getTemplatedDecl()))
 1614   if (CXXMethodDecl *DMethod = dyn_cast<CXXMethodDecl>(D->getTemplatedDecl()))
 2068     CXXMethodDecl *D, TemplateParameterList *TemplateParams,
 2151   CXXMethodDecl *Method = nullptr;
 2174     Method = CXXMethodDecl::Create(SemaRef.Context, Record, StartLoc, NameInfo,
 2975   CXXMethodDecl *OldFD = Decl->getSpecialization();
 2976   return cast_or_null<CXXMethodDecl>(
 3235 Decl *TemplateDeclInstantiator::VisitCXXMethodDecl(CXXMethodDecl *D) {
 3821   if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(D)) {
 3821   if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(D)) {
 4107 TemplateDeclInstantiator::InitMethodInstantiation(CXXMethodDecl *New,
 4108                                                   CXXMethodDecl *Tmpl) {
tools/clang/lib/Sema/TreeTransform.h
 7238     auto *MD = dyn_cast_or_null<CXXMethodDecl>(FD);
 7238     auto *MD = dyn_cast_or_null<CXXMethodDecl>(FD);
 9811     if (!Callee || isa<CXXMethodDecl>(Callee->getDecl()))
11507   CXXMethodDecl *NewCallOperator = getSema().startLambdaDefinition(
13266     if (!isa<CXXMethodDecl>(ND))
tools/clang/lib/Serialization/ASTReader.cpp
10036           if (!isa<CXXMethodDecl>(FD)) {
10959         const CXXMethodDecl *FirstMethod = cast<CXXMethodDecl>(FirstDecl);
10959         const CXXMethodDecl *FirstMethod = cast<CXXMethodDecl>(FirstDecl);
10960         const CXXMethodDecl *SecondMethod = cast<CXXMethodDecl>(SecondDecl);
10960         const CXXMethodDecl *SecondMethod = cast<CXXMethodDecl>(SecondDecl);
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  144     T *ReadDeclAs() {
  145       return Record.readDeclAs<T>();
  370     void VisitCXXMethodDecl(CXXMethodDecl *D);
 1904 void ASTDeclReader::VisitCXXMethodDecl(CXXMethodDecl *D) {
 1912       if (auto *MD = ReadDeclAs<CXXMethodDecl>())
 1912       if (auto *MD = ReadDeclAs<CXXMethodDecl>())
 2184   D->Specialization = ReadDeclAs<CXXMethodDecl>();
 3709     D = CXXMethodDecl::CreateDeserialized(Context, ID);
tools/clang/lib/Serialization/ASTWriter.cpp
 6397   if (!isa<CXXMethodDecl>(D))
tools/clang/lib/Serialization/ASTWriterDecl.cpp
   91     void VisitCXXMethodDecl(CXXMethodDecl *D);
 1329 void ASTDeclWriter::VisitCXXMethodDecl(CXXMethodDecl *D) {
 1333     for (const CXXMethodDecl *MD : D->overridden_methods())
tools/clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp
   42   const auto *MD = dyn_cast<CXXMethodDecl>(LCtx->getDecl());
   42   const auto *MD = dyn_cast<CXXMethodDecl>(LCtx->getDecl());
tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
  131 static void recordFixedType(const MemRegion *Region, const CXXMethodDecl *MD,
tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp
  570       if (cast<CXXMethodDecl>(Func)->isMoveAssignmentOperator()) {
 1663   for (const auto *Method : CRD->methods()) {
 1871   for (const auto *Method : CRD->methods()) {
 1887   for (const auto *Method : CRD->methods()) {
 1902   for (const auto *Method : CRD->methods()) {
tools/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
  173   if (const auto *MD = dyn_cast<CXXMethodDecl>(D))
  173   if (const auto *MD = dyn_cast<CXXMethodDecl>(D))
  174     for (const auto *OMD: MD->overridden_methods())
tools/clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
  220   bool isStateResetMethod(const CXXMethodDecl *MethodDec) const;
  221   bool isMoveSafeMethod(const CXXMethodDecl *MethodDec) const;
  449   const auto MethodDecl = dyn_cast_or_null<CXXMethodDecl>(AFC->getDecl());
  497 bool MoveChecker::isMoveSafeMethod(const CXXMethodDecl *MethodDec) const {
  513 bool MoveChecker::isStateResetMethod(const CXXMethodDecl *MethodDec) const {
  537     auto *MethodDec = dyn_cast_or_null<CXXMethodDecl>(CtxDec);
  635   const auto MethodDecl = dyn_cast_or_null<CXXMethodDecl>(IC->getDecl());
tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp
   94   if (isa<CXXMethodDecl>(FD))
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
 1057     if (!isa<CXXMethodDecl>(FD)) {
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
  226     if (const auto *MD = dyn_cast<CXXMethodDecl>(CE->getCalleeDecl())) {
  226     if (const auto *MD = dyn_cast<CXXMethodDecl>(CE->getCalleeDecl())) {
tools/clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp
   62   if (const auto *MD = dyn_cast<CXXMethodDecl>(Call.getDecl()))
   62   if (const auto *MD = dyn_cast<CXXMethodDecl>(Call.getDecl()))
tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
  515 static const Stmt *getMethodBody(const CXXMethodDecl *M) {
  560   for (const CXXMethodDecl *M : Parent->methods()) {
tools/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
   78   const CXXMethodDecl *MD =
   79       dyn_cast_or_null<CXXMethodDecl>(CE->getDirectCallee());
  103   const CXXMethodDecl *MD = dyn_cast_or_null<CXXMethodDecl>(Call.getDecl());
  103   const CXXMethodDecl *MD = dyn_cast_or_null<CXXMethodDecl>(Call.getDecl());
  167   const auto *MD = dyn_cast_or_null<CXXMethodDecl>(LCtx->getDecl());
  167   const auto *MD = dyn_cast_or_null<CXXMethodDecl>(LCtx->getDecl());
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
 2698       if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
 2698       if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
 2718         const auto *MD = dyn_cast<CXXMethodDecl>(LCtx->getDecl());
 2718         const auto *MD = dyn_cast<CXXMethodDecl>(LCtx->getDecl());
tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
  687   if (const auto *D = cast_or_null<CXXMethodDecl>(getDecl())) {
  687   if (const auto *D = cast_or_null<CXXMethodDecl>(getDecl())) {
  730   const auto *MD = cast<CXXMethodDecl>(D);
  730   const auto *MD = cast<CXXMethodDecl>(D);
  753   const CXXMethodDecl *Result = MD->getCorrespondingMethodInClass(RD, true);
  798     const auto *MD = cast<CXXMethodDecl>(CalleeCtx->getDecl());
  798     const auto *MD = cast<CXXMethodDecl>(CalleeCtx->getDecl());
  815         const CXXMethodDecl *StaticMD = cast<CXXMethodDecl>(getDecl());
  815         const CXXMethodDecl *StaticMD = cast<CXXMethodDecl>(getDecl());
  873     auto *LambdaOperatorDecl = cast<CXXMethodDecl>(CalleeCtx->getDecl());
  916     const auto *MD = cast<CXXMethodDecl>(CalleeCtx->getDecl());
  916     const auto *MD = cast<CXXMethodDecl>(CalleeCtx->getDecl());
 1366     if (const auto *MD = dyn_cast<CXXMethodDecl>(DirectCallee))
 1366     if (const auto *MD = dyn_cast<CXXMethodDecl>(DirectCallee))
 1397     const auto *Ctor = cast<CXXMethodDecl>(CalleeCtx->getDecl());
 1397     const auto *Ctor = cast<CXXMethodDecl>(CalleeCtx->getDecl());
tools/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
   37   if (isa<ObjCMethodDecl>(D) || isa<CXXMethodDecl>(D))
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
  289   if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
  289   if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
 1568       if (const auto *MD = dyn_cast_or_null<CXXMethodDecl>(Callee)) {
 1568       if (const auto *MD = dyn_cast_or_null<CXXMethodDecl>(Callee)) {
 2433     const auto *MD = dyn_cast_or_null<CXXMethodDecl>(D);
 2433     const auto *MD = dyn_cast_or_null<CXXMethodDecl>(D);
 2585       if (const auto *MD = dyn_cast<CXXMethodDecl>(Member)) {
 2585       if (const auto *MD = dyn_cast<CXXMethodDecl>(Member)) {
tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
  982         if (isa<CXXMethodDecl>(VD) || isa<FieldDecl>(VD)) {
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
   56     ThisRD = cast<CXXMethodDecl>(Call.getDecl())->getParent();
  141       const CXXMethodDecl *CurCtor = cast<CXXMethodDecl>(LCtx->getDecl());
  141       const CXXMethodDecl *CurCtor = cast<CXXMethodDecl>(LCtx->getDecl());
  466     const CXXMethodDecl *CurCtor = cast<CXXMethodDecl>(LCtx->getDecl());
  466     const CXXMethodDecl *CurCtor = cast<CXXMethodDecl>(LCtx->getDecl());
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
  835   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD))
  835   if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD))
  993   const CXXMethodDecl *MD = dyn_cast_or_null<CXXMethodDecl>(ICall->getDecl());
  993   const CXXMethodDecl *MD = dyn_cast_or_null<CXXMethodDecl>(ICall->getDecl());
tools/clang/lib/StaticAnalyzer/Core/IssueHash.cpp
   60   if (!TargetT || !isa<CXXMethodDecl>(Target))
tools/clang/lib/StaticAnalyzer/Core/LoopWidening.cpp
   85   const CXXMethodDecl *CXXMD = dyn_cast<CXXMethodDecl>(STC->getDecl());
   85   const CXXMethodDecl *CXXMD = dyn_cast<CXXMethodDecl>(STC->getDecl());
tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
 1106   const auto *D = dyn_cast<CXXMethodDecl>(LC->getDecl());
 1106   const auto *D = dyn_cast<CXXMethodDecl>(LC->getDecl());
 1113     D = dyn_cast<CXXMethodDecl>(LC->getDecl());
tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
  242   if (const auto *MD = dyn_cast_or_null<CXXMethodDecl>(DD)) {
  242   if (const auto *MD = dyn_cast_or_null<CXXMethodDecl>(DD)) {
  271 loc::MemRegionVal SValBuilder::getCXXThis(const CXXMethodDecl *D,
tools/clang/lib/StaticAnalyzer/Core/SVals.cpp
   72     if (const auto *MD = dyn_cast_or_null<CXXMethodDecl>(X->getDecl()))
   72     if (const auto *MD = dyn_cast_or_null<CXXMethodDecl>(X->getDecl()))
tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
  518   if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
  518   if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
tools/clang/lib/Tooling/Refactoring/Extract/Extract.cpp
   48   if (isa<CXXMethodDecl>(D)) {
tools/clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp
   71     if (const auto *MethodDecl = dyn_cast<CXXMethodDecl>(FoundDecl)) {
   71     if (const auto *MethodDecl = dyn_cast<CXXMethodDecl>(FoundDecl)) {
   91   bool VisitCXXMethodDecl(const CXXMethodDecl *MethodDecl) {
  143   void addUSRsOfOverridenFunctions(const CXXMethodDecl *MethodDecl) {
  150   void addUSRsOfInstantiatedMethods(const CXXMethodDecl *MethodDecl) {
  157     for (const auto *Method : InstantiatedMethods) {
  164   bool checkIfOverriddenFunctionAscends(const CXXMethodDecl *MethodDecl) {
  176   std::vector<const CXXMethodDecl *> OverriddenMethods;
  177   std::vector<const CXXMethodDecl *> InstantiatedMethods;
tools/clang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp
  264     if (const auto *MD = llvm::dyn_cast<CXXMethodDecl>(Decl)) {
  264     if (const auto *MD = llvm::dyn_cast<CXXMethodDecl>(Decl)) {
tools/clang/tools/extra/clang-doc/Mapper.cpp
   26 template <typename T> bool MapASTVisitor::mapDecl(const T *D) {
   65 bool MapASTVisitor::VisitCXXMethodDecl(const CXXMethodDecl *D) {
   71   if (dyn_cast<CXXMethodDecl>(D))
tools/clang/tools/extra/clang-doc/Mapper.h
   40   bool VisitCXXMethodDecl(const CXXMethodDecl *D);
tools/clang/tools/extra/clang-doc/Serialize.cpp
  461           if (const auto *MD = dyn_cast<CXXMethodDecl>(Decl)) {
  461           if (const auto *MD = dyn_cast<CXXMethodDecl>(Decl)) {
  586 emitInfo(const CXXMethodDecl *D, const FullComment *FC, int LineNumber,
tools/clang/tools/extra/clang-doc/Serialize.h
   52 emitInfo(const CXXMethodDecl *D, const FullComment *FC, int LineNumber,
tools/clang/tools/extra/clang-move/Move.cpp
  231     if (const auto *CMD = Result.Nodes.getNodeAs<CXXMethodDecl>("class_method"))
  231     if (const auto *CMD = Result.Nodes.getNodeAs<CXXMethodDecl>("class_method"))
  242   void MatchClassMethod(const CXXMethodDecl *CMD, SourceManager *SM) {
tools/clang/tools/extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
  168 static bool looksLikeExpectMethod(const CXXMethodDecl *Expect) {
  173 static bool areMockAndExpectMethods(const CXXMethodDecl *Mock,
  174                                     const CXXMethodDecl *Expect) {
  188 static const CXXMethodDecl *findMockedMethod(const CXXMethodDecl *Method) {
  188 static const CXXMethodDecl *findMockedMethod(const CXXMethodDecl *Method) {
  195         const auto *Previous = dyn_cast<CXXMethodDecl>(D);
  195         const auto *Previous = dyn_cast<CXXMethodDecl>(D);
  201   if (const auto *Next =
  202           dyn_cast_or_null<CXXMethodDecl>(Method->getNextDeclInContext())) {
  214   if (const auto *Method = dyn_cast<CXXMethodDecl>(Func)) {
  214   if (const auto *Method = dyn_cast<CXXMethodDecl>(Func)) {
  215     if (const auto *MockedMethod = findMockedMethod(Method)) {
tools/clang/tools/extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
   60       else if (const auto *MethodDecl = dyn_cast<CXXMethodDecl>(FuncDecl))
   60       else if (const auto *MethodDecl = dyn_cast<CXXMethodDecl>(FuncDecl))
tools/clang/tools/extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
  204     if (const CXXMethodDecl *DestMD = DestExpr->getMethodDecl())
  208     if (const CXXMethodDecl *SrcMD = SrcExpr->getMethodDecl())
  212     if (const CXXMethodDecl *LengthMD = LengthExpr->getMethodDecl())
tools/clang/tools/extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
   45     const CXXMethodDecl *ActualMemberDecl =
  104   const auto *MemberDecl = cast<CXXMethodDecl>(Member->getMemberDecl());
  104   const auto *MemberDecl = cast<CXXMethodDecl>(Member->getMemberDecl());
tools/clang/tools/extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.cpp
  106   const auto *MatchedDecl =
  107       Result.Nodes.getNodeAs<CXXMethodDecl>("copyAssignmentOperator");
tools/clang/tools/extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
   30 static bool isOverrideMethod(const CXXMethodDecl *MD) {
   40                                               const CXXMethodDecl *BaseMD,
   41                                               const CXXMethodDecl *DerivedMD) {
  131 static bool checkParamTypes(const CXXMethodDecl *BaseMD,
  132                             const CXXMethodDecl *DerivedMD) {
  150                                      const CXXMethodDecl *BaseMD,
  151                                      const CXXMethodDecl *DerivedMD) {
  169 static bool checkOverrideByDerivedMethod(const CXXMethodDecl *BaseMD,
  170                                          const CXXMethodDecl *DerivedMD) {
  171   for (CXXMethodDecl::method_iterator I = DerivedMD->begin_overridden_methods(),
  174     const CXXMethodDecl *OverriddenMD = *I;
  183     const CXXMethodDecl *BaseMD) {
  197     const CXXMethodDecl *BaseMD, const CXXRecordDecl *DerivedRD) {
  204   for (const CXXMethodDecl *DerivedMD : DerivedRD->methods()) {
  231   const auto *DerivedMD = Result.Nodes.getNodeAs<CXXMethodDecl>("method");
  231   const auto *DerivedMD = Result.Nodes.getNodeAs<CXXMethodDecl>("method");
  241       for (const auto *BaseMD : BaseRD->methods()) {
tools/clang/tools/extra/clang-tidy/bugprone/VirtualNearMissCheck.h
   38   bool isPossibleToBeOverridden(const CXXMethodDecl *BaseMD);
   44   bool isOverriddenByDerivedClass(const CXXMethodDecl *BaseMD,
   49   llvm::DenseMap<const CXXMethodDecl *, bool> PossibleMap;
   54   llvm::DenseMap<std::pair<const CXXMethodDecl *, const CXXRecordDecl *>, bool>
tools/clang/tools/extra/clang-tidy/cert/PostfixOperatorCheck.cpp
   35   if (const auto *MethodDecl = dyn_cast<CXXMethodDecl>(FuncDecl))
   35   if (const auto *MethodDecl = dyn_cast<CXXMethodDecl>(FuncDecl))
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
  115   if (const auto *Dtor = Result.Nodes.getNodeAs<CXXMethodDecl>("dtor")) {
  115   if (const auto *Dtor = Result.Nodes.getNodeAs<CXXMethodDecl>("dtor")) {
  128     if (Result.Nodes.getNodeAs<CXXMethodDecl>(KV.first)) {
tools/clang/tools/extra/clang-tidy/fuchsia/OverloadedOperatorCheck.cpp
   19   if (const auto *CXXMethodNode = dyn_cast<CXXMethodDecl>(&Node)) {
   19   if (const auto *CXXMethodNode = dyn_cast<CXXMethodDecl>(&Node)) {
tools/clang/tools/extra/clang-tidy/google/DefaultArgumentsCheck.cpp
   28   const auto *MatchedDecl = Result.Nodes.getNodeAs<CXXMethodDecl>("Decl");
   28   const auto *MatchedDecl = Result.Nodes.getNodeAs<CXXMethodDecl>("Decl");
tools/clang/tools/extra/clang-tidy/google/NonConstReferences.cpp
   61   if (const auto *Method = dyn_cast<CXXMethodDecl>(Function)) {
   61   if (const auto *Method = dyn_cast<CXXMethodDecl>(Function)) {
tools/clang/tools/extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp
  228 static bool isInInstantiation(const NodeType &Node,
  266   if (const auto *Method = Result.Nodes.getNodeAs<CXXMethodDecl>("method")) {
  266   if (const auto *Method = Result.Nodes.getNodeAs<CXXMethodDecl>("method")) {
tools/clang/tools/extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
  114     if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
  114     if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
tools/clang/tools/extra/clang-tidy/misc/NewDeleteOverloadsCheck.cpp
  101 bool hasCorrespondingOverloadInBaseClass(const CXXMethodDecl *MD,
  105     for (const auto *BMD : RD->methods())
  159   if (const auto *MD = dyn_cast<CXXMethodDecl>(FD))
  159   if (const auto *MD = dyn_cast<CXXMethodDecl>(FD))
  197         const auto *MD = dyn_cast<CXXMethodDecl>(Overload);
  197         const auto *MD = dyn_cast<CXXMethodDecl>(Overload);
tools/clang/tools/extra/clang-tidy/misc/UnconventionalAssignOperatorCheck.cpp
   81     const auto *Method = Result.Nodes.getNodeAs<CXXMethodDecl>("method");
   81     const auto *Method = Result.Nodes.getNodeAs<CXXMethodDecl>("method");
tools/clang/tools/extra/clang-tidy/misc/UnusedParametersCheck.cpp
   25   if (const auto *MD = dyn_cast<CXXMethodDecl>(Function))
   25   if (const auto *MD = dyn_cast<CXXMethodDecl>(Function))
  174   if (const auto *Method = dyn_cast<CXXMethodDecl>(Function))
  174   if (const auto *Method = dyn_cast<CXXMethodDecl>(Function))
tools/clang/tools/extra/clang-tidy/modernize/LoopConvertUtils.cpp
  405     const auto *MDecl = MemCall->getMethodDecl();
tools/clang/tools/extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
  118                                               const CXXMethodDecl *Operator) {
  246   const auto *SpecialFunctionDecl =
  247       Result.Nodes.getNodeAs<CXXMethodDecl>(SpecialFunction);
tools/clang/tools/extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
   58   if (const auto *Func =
   59           Result.Nodes.getNodeAs<CXXMethodDecl>(SpecialFunction)) {
   69   } else if (const auto *Func =
   70                  Result.Nodes.getNodeAs<CXXMethodDecl>(DeletedNotPublic)) {
tools/clang/tools/extra/clang-tidy/modernize/UseNodiscardCheck.cpp
  118   const auto *MatchedDecl = Result.Nodes.getNodeAs<CXXMethodDecl>("no_discard");
  118   const auto *MatchedDecl = Result.Nodes.getNodeAs<CXXMethodDecl>("no_discard");
tools/clang/tools/extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
  323   const auto *M = dyn_cast<CXXMethodDecl>(&F);
  323   const auto *M = dyn_cast<CXXMethodDecl>(&F);
tools/clang/tools/extra/clang-tidy/performance/NoexceptMoveConstructorCheck.cpp
   35   if (const auto *Decl = Result.Nodes.getNodeAs<CXXMethodDecl>("decl")) {
   35   if (const auto *Decl = Result.Nodes.getNodeAs<CXXMethodDecl>("decl")) {
tools/clang/tools/extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
   58   if (const auto *Method = llvm::dyn_cast<CXXMethodDecl>(&Function))
   58   if (const auto *Method = llvm::dyn_cast<CXXMethodDecl>(&Function))
  152   const auto *Method = llvm::dyn_cast<CXXMethodDecl>(Function);
  152   const auto *Method = llvm::dyn_cast<CXXMethodDecl>(Function);
tools/clang/tools/extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
  128   const auto *Definition = Result.Nodes.getNodeAs<CXXMethodDecl>("x");
  128   const auto *Definition = Result.Nodes.getNodeAs<CXXMethodDecl>("x");
  142   const CXXMethodDecl *Declaration = Definition->getCanonicalDecl();
tools/clang/tools/extra/clang-tidy/readability/DeletedDefaultCheck.cpp
   56   } else if (const auto *Assignment =
   57                  Result.Nodes.getNodeAs<CXXMethodDecl>("method-decl")) {
tools/clang/tools/extra/clang-tidy/readability/IdentifierNamingCheck.cpp
  580   if (const auto *Decl = dyn_cast<CXXMethodDecl>(D)) {
  580   if (const auto *Decl = dyn_cast<CXXMethodDecl>(D)) {
tools/clang/tools/extra/clang-tidy/readability/NamedParameterCheck.cpp
   38       (!isa<CXXMethodDecl>(Function) ||
   39        cast<CXXMethodDecl>(Function)->size_overridden_methods() == 0))
   97       const auto *M = dyn_cast<CXXMethodDecl>(P.first);
   97       const auto *M = dyn_cast<CXXMethodDecl>(P.first);
tools/clang/tools/extra/clang-tidy/readability/NonConstParameterCheck.cpp
   43       if (const auto *M = dyn_cast<CXXMethodDecl>(D)) {
   43       if (const auto *M = dyn_cast<CXXMethodDecl>(D)) {
tools/clang/tools/extra/clangd/Quality.cpp
  164   if (const auto *CM = dyn_cast<CXXMethodDecl>(ND))
  164   if (const auto *CM = dyn_cast<CXXMethodDecl>(ND))
tools/clang/tools/extra/clangd/SemanticHighlighting.cpp
   63   if (auto *MD = dyn_cast<CXXMethodDecl>(D))
tools/clang/tools/extra/clangd/XRefs.cpp
 1172   if (const CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(D)) {
 1172   if (const CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(D)) {
tools/clang/tools/extra/clangd/refactor/tweaks/DefineInline.cpp
  106   if (const auto *MD = llvm::dyn_cast<CXXMethodDecl>(Target))
  106   if (const auto *MD = llvm::dyn_cast<CXXMethodDecl>(Target))
  128     if (const auto *MD = llvm::dyn_cast<CXXMethodDecl>(D))
  128     if (const auto *MD = llvm::dyn_cast<CXXMethodDecl>(D))
  295     if (auto *MD = llvm::dyn_cast<CXXMethodDecl>(Source)) {
tools/clang/tools/extra/clangd/refactor/tweaks/ExtractFunction.cpp
  187       if (isa<CXXMethodDecl>(Func))
tools/clang/tools/extra/unittests/clang-doc/SerializeTest.cpp
   38   template <typename T> bool mapDecl(const T *D) {
   52     if (dyn_cast<CXXMethodDecl>(D))
   57   bool VisitCXXMethodDecl(const CXXMethodDecl *D) { return mapDecl(D); }
tools/clang/tools/libclang/CIndex.cpp
 4762   if (!(isa<CXXRecordDecl>(D) || isa<CXXMethodDecl>(D)))
 7124       if (const CXXMethodDecl *Method
 7125                   = dyn_cast_or_null<CXXMethodDecl>(getCursorDecl(cursor))) {
 8417   const CXXMethodDecl *Method =
 8418       D ? dyn_cast_or_null<CXXMethodDecl>(D->getAsFunction()) : nullptr;
 8427   const CXXMethodDecl *Method =
 8428       D ? dyn_cast_or_null<CXXMethodDecl>(D->getAsFunction()) : nullptr;
 8437   const CXXMethodDecl *Method =
 8438       D ? dyn_cast_or_null<CXXMethodDecl>(D->getAsFunction()) : nullptr;
 8447   const CXXMethodDecl *Method =
 8448       D ? dyn_cast_or_null<CXXMethodDecl>(D->getAsFunction()) : nullptr;
 8457   const CXXMethodDecl *Method =
 8458       D ? dyn_cast_or_null<CXXMethodDecl>(D->getAsFunction()) : nullptr;
tools/clang/tools/libclang/CIndexHigh.cpp
   27   if (!isa<ObjCMethodDecl>(D) && !isa<CXXMethodDecl>(D))
  104     if (isa<ObjCMethodDecl>(D) || isa<CXXMethodDecl>(D))
tools/clang/tools/libclang/CXCursor.cpp
 1589     if (const CXXMethodDecl *
 1590           MD = dyn_cast_or_null<CXXMethodDecl>(ME->getMemberDecl()))
 1620     if (dyn_cast_or_null<CXXMethodDecl>(ME->getMemberDecl())) {
tools/clang/unittests/AST/ASTImporterFixtures.h
  174   template <class DeclT> DeclT *Import(DeclT *From, Language Lang) {
  174   template <class DeclT> DeclT *Import(DeclT *From, Language Lang) {
  175     return cast_or_null<DeclT>(Import(cast<Decl>(From), Lang));
tools/clang/unittests/AST/ASTImporterTest.cpp
 2054   CXXMethodDecl *Proto =
 2058   CXXMethodDecl *To = cast<CXXMethodDecl>(Import(Proto, Lang_CXX));
 2058   CXXMethodDecl *To = cast<CXXMethodDecl>(Import(Proto, Lang_CXX));
 2071   CXXMethodDecl *Proto =
 2073   CXXMethodDecl *Def = LastDeclMatcher<CXXMethodDecl>().match(FromTU, Pattern);
 2077   CXXMethodDecl *To = cast<CXXMethodDecl>(Import(Proto, Lang_CXX));
 2077   CXXMethodDecl *To = cast<CXXMethodDecl>(Import(Proto, Lang_CXX));
 2117   auto *DF = FirstDeclMatcher<CXXMethodDecl>().match(FromTU0, DFP);
 2121   auto *BF = FirstDeclMatcher<CXXMethodDecl>().match(FromTU1, BFP);
 2153     auto *FromD = FirstDeclMatcher<CXXMethodDecl>().match(FromTU, DFP);
 2158     auto *FromB = FirstDeclMatcher<CXXMethodDecl>().match(FromTU, BFP);
 2187   auto *D = FirstDeclMatcher<CXXMethodDecl>().match(FromTU0, DFP);
 2191   auto *B = FirstDeclMatcher<CXXMethodDecl>().match(FromTU1, BFP);
 2201   auto *ToBFInClass = FirstDeclMatcher<CXXMethodDecl>().match(ToTU, BFP);
 2202   auto *ToBFOutOfClass = FirstDeclMatcher<CXXMethodDecl>().match(
 2244     auto *D = FirstDeclMatcher<CXXMethodDecl>().match(FromTU0, DFP);
 2265   auto *ToBFInClass = FirstDeclMatcher<CXXMethodDecl>().match(ToTU, BFP);
 2266   auto *ToBFOutOfClass = FirstDeclMatcher<CXXMethodDecl>().match(
 2268   auto *ToDFInClass = FirstDeclMatcher<CXXMethodDecl>().match(ToTU, DFP);
 2269   auto *ToDFOutOfClass = LastDeclMatcher<CXXMethodDecl>().match(
 3026       CXXMethodDecl *Method =
 4994   auto *FromF = FirstDeclMatcher<CXXMethodDecl>().match(
 5000   CXXMethodDecl *ImportedF = Import(FromF, Lang_CXX);
 5004   auto *FromOK = FirstDeclMatcher<CXXMethodDecl>().match(
 5009   CXXMethodDecl *ImportedOK = Import(FromOK, Lang_CXX);
tools/clang/unittests/AST/ASTTypeTraitsTest.cpp
   25   return ASTNodeKind::getFromNodeKind<T>();
tools/clang/unittests/AST/DeclMatcher.h
   22   NodeType *Node = nullptr;
   26       Node = const_cast<NodeType *>(Result.Nodes.getNodeAs<NodeType>(""));
   32   NodeType *match(const Decl *D, const MatcherType &AMatcher) {
   47   using UnaryPredicate = std::function<bool(const NodeType *)>;
   51     if (auto N = Result.Nodes.getNodeAs<NodeType>("")) {
tools/clang/unittests/AST/StructuralEquivalenceTest.cpp
   25   std::tuple<NodeType *, NodeType *> makeDecls(
   25   std::tuple<NodeType *, NodeType *> makeDecls(
   37     NodeType *D0 = FirstDeclMatcher<NodeType>().match(
   39     NodeType *D1 = FirstDeclMatcher<NodeType>().match(
   63   std::tuple<NodeType *, NodeType *> makeDecls(
   63   std::tuple<NodeType *, NodeType *> makeDecls(
   66     return makeDecls<NodeType, MatcherType>(
  435   auto t = makeDecls<CXXMethodDecl>(
  480   auto t = makeDecls<CXXMethodDecl>(
tools/clang/unittests/ASTMatchers/ASTMatchersTest.h
  421     if (Nodes->getNodeAs<T>(Id)) {
tools/clang/unittests/Tooling/RecursiveASTVisitorTestPostOrderVisitor.cpp
   53   bool VisitCXXMethodDecl(CXXMethodDecl *D) {
tools/lldb/include/lldb/Symbol/ClangASTContext.h
  311   GetAsDeclContext(clang::CXXMethodDecl *cxx_method_decl);
  494   static clang::CXXMethodDecl *
  815   clang::CXXMethodDecl *
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
  886       clang::CXXMethodDecl *method_decl =
 2113     CXXMethodDecl *method_decl =
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
  153   } else if (clang::CXXMethodDecl *method_decl =
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
  967                           clang::CXXMethodDecl *method_decl = *method_iter;
 1004                       clang::CXXMethodDecl *cxx_method_decl =
tools/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
 1336     if (clang::CXXMethodDecl *decl =
 1341 clang::CXXMethodDecl *
tools/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.h
  101   clang::CXXMethodDecl *
tools/lldb/source/Symbol/ClangASTContext.cpp
  136 bool isOverload(clang::CXXMethodDecl *m1, clang::CXXMethodDecl *m2) {
  136 bool isOverload(clang::CXXMethodDecl *m1, clang::CXXMethodDecl *m2) {
  164 void addOverridesForMethod(clang::CXXMethodDecl *decl) {
  192             if (auto *method_decl =
  193                     llvm::dyn_cast<clang::CXXMethodDecl>(path.Decls.front()))
  207           llvm::cast<clang::CXXMethodDecl>(overridden_decl));
 2505 ClangASTContext::GetAsDeclContext(clang::CXXMethodDecl *cxx_method_decl) {
 4640             clang::CXXMethodDecl *cxx_method_decl =
 8121 clang::CXXMethodDecl *ClangASTContext::AddMethodToCXXRecordType(
 8140   clang::CXXMethodDecl *cxx_method_decl = nullptr;
 8203         cxx_method_decl = clang::CXXMethodDecl::Create(
 8228       cxx_method_decl = clang::CXXMethodDecl::Create(
 8308     for (auto *method : record->methods())
10194     } else if (CXXMethodDecl *cxx_method =
10195                    llvm::dyn_cast<clang::CXXMethodDecl>(decl_ctx)) {
10253 CXXMethodDecl *
10256     return llvm::dyn_cast<clang::CXXMethodDecl>(
tools/lldb/tools/lldb-instr/Instrument.cpp
  167   bool VisitCXXMethodDecl(CXXMethodDecl *Decl) {
  268   bool ShouldSkip(CXXMethodDecl *Decl) {
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
 1554     { typedef _Tp     type; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1580     { typedef _Tp const     type; };
 1629     { typedef _Tp   type; };
 1983     { typedef _Up     type; };
 1999     { typedef typename remove_reference<_Tp>::type*     type; };
 2003     : public __add_pointer_helper<_Tp>
utils/unittest/googletest/include/gtest/gtest-printers.h
  407                     T* p, ::std::ostream* os) {
  416     if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {