Lines Matching defs:CXXMethodDecl
187 const CXXMethodDecl *Method) {
534 CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(New);
646 CXXSpecialMemberKind NewSM = getSpecialMember(cast<CXXMethodDecl>(New)),
647 OldSM = getSpecialMember(cast<CXXMethodDecl>(Old));
1788 const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewFD);
1817 const CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(NewFD);
1831 const CXXMethodDecl *WrittenVirtual = Method;
3148 CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(D);
3159 SmallVector<CXXMethodDecl *, 8> OverloadedMethods;
3211 CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(D);
3230 const CXXMethodDecl *OMD = *MD->begin_overridden_methods();
3243 bool Sema::CheckIfOverriddenFunctionIsMarkedFinal(const CXXMethodDecl *New,
3244 const CXXMethodDecl *Old) {
3586 if (CXXMethodDecl *MD = dyn_cast_or_null<CXXMethodDecl>(Member))
5904 llvm::SmallPtrSet<const CXXMethodDecl *, 8> SeenPureMethods;
6165 auto *MD = dyn_cast<CXXMethodDecl>(Member);
6418 if (!isa<VarDecl>(Member) && !isa<CXXMethodDecl>(Member))
6465 CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(Member);
6612 if (auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
6679 S.DefineImplicitCopyAssignment(DefaultLoc, cast<CXXMethodDecl>(FD));
6688 S.DefineImplicitMoveAssignment(DefaultLoc, cast<CXXMethodDecl>(FD));
6793 for (const CXXMethodDecl *MD : D->methods()) {
6816 ReportOverrides(Sema &S, unsigned DiagID, const CXXMethodDecl *MD,
6817 llvm::function_ref<bool(const CXXMethodDecl *)> Report) {
6819 for (const CXXMethodDecl *O : MD->overridden_methods()) {
6941 auto CheckCompletedMemberFunction = [&](CXXMethodDecl *MD) {
6945 [](const CXXMethodDecl *) { return true; }))
6954 MD, [&](const CXXMethodDecl *V) {
6968 MD, [&](const CXXMethodDecl *V) {
6997 auto CompleteMemberFunction = [&](CXXMethodDecl *M) {
7099 if (auto *M = dyn_cast<CXXMethodDecl>(D)) {
7132 if (auto *MD = dyn_cast<CXXMethodDecl>(FD))
7478 CXXMethodDecl *MD,
7492 S, Loc, cast<CXXMethodDecl>(FD), DFK.asSpecialMember(), nullptr);
7508 CXXMethodDecl *MD) {
7548 ? CheckExplicitlyDefaultedSpecialMember(cast<CXXMethodDecl>(FD),
7555 bool Sema::CheckExplicitlyDefaultedSpecialMember(CXXMethodDecl *MD,
8430 if (const auto *MD = dyn_cast<CXXMethodDecl>(FD);
8719 bool IsMethod = isa<CXXMethodDecl>(FD);
8721 auto *MD = cast<CXXMethodDecl>(FD);
9149 CXXMethodDecl *MD;
9156 SpecialMemberVisitor(Sema &S, CXXMethodDecl *MD, CXXSpecialMemberKind CSM,
9271 SpecialMemberDeletionInfo(Sema &S, CXXMethodDecl *MD,
9298 bool isAccessible(Subobject Subobj, CXXMethodDecl *D);
9305 CXXMethodDecl *target) {
9328 CXXMethodDecl *Decl = SMOR.getMethod();
9614 bool Sema::ShouldDeleteSpecialMember(CXXMethodDecl *MD,
9652 CXXMethodDecl *UserDeclaredMove = nullptr;
9756 ShouldDeleteSpecialMember(cast<CXXMethodDecl>(FD), DFK.asSpecialMember(),
9781 CXXMethodDecl **Selected) {
9943 CXXMethodDecl *Selected;
10047 bool Sema::SpecialMemberIsTrivial(CXXMethodDecl *MD, CXXSpecialMemberKind CSM,
10202 CXXMethodDecl *Method;
10203 llvm::SmallPtrSet<const CXXMethodDecl *, 8> OverridenAndUsingBaseMethods;
10204 SmallVector<CXXMethodDecl *, 8> OverloadedMethods;
10209 const CXXMethodDecl *MD,
10210 const llvm::SmallPtrSetImpl<const CXXMethodDecl *> &Methods) {
10213 for (const CXXMethodDecl *O : MD->overridden_methods())
10231 SmallVector<CXXMethodDecl *, 8> overloadedMethods;
10235 if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(D)) {
10268 static void AddMostOverridenMethods(const CXXMethodDecl *MD,
10269 llvm::SmallPtrSetImpl<const CXXMethodDecl *>& Methods) {
10273 for (const CXXMethodDecl *O : MD->overridden_methods())
10277 void Sema::FindHiddenVirtualMethods(CXXMethodDecl *MD,
10278 SmallVectorImpl<CXXMethodDecl*> &OverloadedMethods) {
10297 if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(ND))
10305 void Sema::NoteHiddenVirtualMethods(CXXMethodDecl *MD,
10306 SmallVectorImpl<CXXMethodDecl*> &OverloadedMethods) {
10308 CXXMethodDecl *overloadedMD = OverloadedMethods[i];
10316 void Sema::DiagnoseHiddenVirtualMethods(CXXMethodDecl *MD) {
10323 SmallVector<CXXMethodDecl *, 8> OverloadedMethods;
13603 SpecialMemberExceptionSpecInfo(Sema &S, CXXMethodDecl *MD,
13669 if (CXXMethodDecl *MD = SMOR.getMethod())
13697 Sema &S, SourceLocation Loc, CXXMethodDecl *MD, CXXSpecialMemberKind CSM,
13801 void Sema::setupImplicitSpecialMemberType(CXXMethodDecl *SpecialMem,
14260 SmallVector<CXXMethodDecl*, 4> WorkList;
14262 for (CXXMethodDecl *M : WorkList) {
14565 if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(D))
14744 CXXMethodDecl *Sema::DeclareImplicitCopyAssignment(CXXRecordDecl *ClassDecl) {
14777 CXXMethodDecl *CopyAssignment = CXXMethodDecl::Create(
14832 static void diagnoseDeprecatedCopyOperation(Sema &S, CXXMethodDecl *CopyOp) {
14836 CXXMethodDecl *UserDeclaredOperation = nullptr;
14880 CXXMethodDecl *CopyAssignOperator) {
15101 CXXMethodDecl *Sema::DeclareImplicitMoveAssignment(CXXRecordDecl *ClassDecl) {
15129 CXXMethodDecl *MoveAssignment = CXXMethodDecl::Create(
15265 CXXMethodDecl *MoveAssignOperator) {
15775 return FD->isDeleted() && FD->isDefaulted() && isa<CXXMethodDecl>(FD);
16243 auto *MD = dyn_cast<CXXMethodDecl>(FnDecl);
16301 if (CXXMethodDecl *MethodDecl = dyn_cast<CXXMethodDecl>(FnDecl)) {
16376 (isa<CXXMethodDecl>(FnDecl) &&
16415 if (MustBeMemberOperator && !isa<CXXMethodDecl>(FnDecl)) {
16501 if (isa<CXXMethodDecl>(FnDecl)) {
18038 if (isa<CXXMethodDecl>(FD)) {
18054 auto *MD = cast<CXXMethodDecl>(FD);
18098 bool Sema::CheckOverridingFunctionAttributes(CXXMethodDecl *New,
18099 const CXXMethodDecl *Old) {
18191 bool Sema::CheckExplicitObjectOverride(CXXMethodDecl *New,
18192 const CXXMethodDecl *Old) {
18205 bool Sema::CheckOverridingFunctionReturnType(const CXXMethodDecl *New,
18206 const CXXMethodDecl *Old) {
18311 bool Sema::CheckPureMethod(CXXMethodDecl *Method, SourceRange InitRange) {
18330 else if (auto *M = dyn_cast<CXXMethodDecl>(D))
18520 const CXXMethodDecl *KeyFunction = Context.getCurrentKeyFunction(Class);
18613 CXXMethodDecl *Overrider = OI->second.front().Method;
18730 bool Sema::checkThisInStaticMemberFunctionType(CXXMethodDecl *Method) {
18767 bool Sema::checkThisInStaticMemberFunctionExceptionSpec(CXXMethodDecl *Method) {
18809 bool Sema::checkThisInStaticMemberFunctionAttributes(CXXMethodDecl *Method) {
18930 if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(D)) {
18936 for (const CXXMethodDecl *O : MD->overridden_methods())