Home | History | Annotate | Download | only in Sema

Lines Matching defs:MD

1395     if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
1396 if (MD->isVirtual() || IsDisallowedCopyOrAssign(MD))
2526 Sema::CXXSpecialMember Sema::getSpecialMember(const CXXMethodDecl *MD) {
2527 if (const CXXConstructorDecl *Ctor = dyn_cast<CXXConstructorDecl>(MD)) {
2536 } else if (isa<CXXDestructorDecl>(MD)) {
2538 } else if (MD->isCopyAssignmentOperator()) {
2540 } else if (MD->isMoveAssignmentOperator()) {
5452 if (auto *MD = dyn_cast<CXXMethodDecl>(&ND))
5453 if (MD->isVirtual()) {
6322 if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewDC))
6323 if (MD->isStatic())
6745 if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(D)) {
6746 if (MD->isVirtual() && !S->IsOverload(Method, MD, false))
6762 /// \param MD the overriding method.
6764 static void ReportOverrides(Sema& S, unsigned DiagID, const CXXMethodDecl *MD,
6766 S.Diag(MD->getLocation(), DiagID) << MD->getDeclName();
6767 for (CXXMethodDecl::method_iterator I = MD->begin_overridden_methods(),
6768 E = MD->end_overridden_methods();
6782 bool Sema::AddOverriddenMethods(CXXRecordDecl *DC, CXXMethodDecl *MD) {
6786 FOM.Method = MD;
6794 MD->addOverriddenMethod(OldMD->getCanonicalDecl());
6795 if (!CheckOverridingFunctionReturnType(MD, OldMD) &&
6796 !CheckOverridingFunctionAttributes(MD, OldMD) &&
6797 !CheckOverridingFunctionExceptionSpec(MD, OldMD) &&
6798 !CheckIfOverriddenFunctionIsMarkedFinal(MD, OldMD)) {
6807 if (hasDeletedOverridenMethods && !MD->isDeleted()) {
6808 ReportOverrides(*this, diag::err_non_deleted_override, MD, OEK_Deleted);
6810 if (hasNonDeletedOverridenMethods && MD->isDeleted()) {
6811 ReportOverrides(*this, diag::err_deleted_override, MD, OEK_NonDeleted);
6851 if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
6852 CXXRecordDecl *Parent = MD->getParent();
6904 CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewFD);
6923 SemaRef.Context, NewFD, MD ? MD->getParent() : nullptr),
6997 CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD);
6998 bool FDisConst = MD && MD->isConst();
6999 bool IsMember = MD || !IsLocalFriend;
8406 CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(NewFD);
8407 if (!getLangOpts().CPlusPlus14 && MD && MD->isConstexpr() &&
8408 !MD->isStatic() && !isa<CXXConstructorDecl>(MD) &&
8409 (MD->getTypeQualifiers() & Qualifiers::Const) == 0) {
8415 MD->getType()->castAs<FunctionProtoType>();
8418 MD->setType(Context.getFunctionType(FPT->getReturnType(),
8425 if (FunctionTypeLoc FTL = MD->getTypeSourceInfo()->getTypeLoc()
8429 Diag(MD->getLocation(), diag::warn_cxx14_compat_constexpr_not_const)
8940 CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(E->getMemberDecl());
8941 bool Warn = (MD && !MD->isStatic());
11023 else if (ObjCMethodDecl *MD = dyn_cast_or_null<ObjCMethodDecl>(Decl))
11024 MD->setHasSkippedBody();
11146 if (auto *MD = dyn_cast<CXXMethodDecl>(FD)) {
11148 if (MD->isOutOfLine() && (MD = MD->getCanonicalDecl()) &&
11149 MD->isVirtual() &&
11150 (KeyFunction = Context.getCurrentKeyFunction(MD->getParent())) &&
11151 MD == KeyFunction->getCanonicalDecl()) {
11155 Context.setNonKeyFunction(MD);
11159 KeyFunction = Context.getCurrentKeyFunction(MD->getParent());
11162 MarkVTableUsed(Definition->getLocation(), MD->getParent(), true);
11165 MarkVTableUsed(FD->getLocation(), MD->getParent(), true);
11172 } else if (ObjCMethodDecl *MD = dyn_cast_or_null<ObjCMethodDecl>(dcl)) {
11173 assert(MD == getCurMethodDecl() && "Method parsing confused");
11174 MD->setBody(Body);
11175 if (!MD->isInvalidDecl()) {
11176 DiagnoseUnusedParameters(MD->param_begin(), MD->param_end());
11177 DiagnoseSizeOfParametersAndReturnValue(MD->param_begin(), MD->param_end(),
11178 MD->getReturnType(), MD);
11184 Diag(MD->getLocEnd(), diag::warn_objc_missing_super_call)
11185 << MD->getSelector().getAsString();
11191 MD->isDesignatedInitializerForTheInterface(&InitMethod);
11195 auto superIsNSObject = [&](const ObjCMethodDecl *MD) {
11196 auto IFace = MD->getClassInterface();
11207 if (!MD->isUnavailable() && !superIsNSObject(MD)) {
11208 Diag(MD->getLocation(),
11217 if (!MD->isUnavailable())
11218 Diag(MD->getLocation(),
14782 if (const ObjCMethodDecl *MD = dyn_cast<ObjCMethodDecl>(D)) {
14783 AvailabilityResult R = MD->getAvailability();
14786 D = MD->getClassInterface();