Lines Matching refs:ObjCMethod
4299 void Sema::CheckObjCMethodOverrides(ObjCMethodDecl *ObjCMethod, in CheckObjCMethodOverrides() argument
4303 OverrideSearch overrides(*this, ObjCMethod); in CheckObjCMethodOverrides()
4320 } else if (isa<ObjCImplDecl>(ObjCMethod->getDeclContext())) { in CheckObjCMethodOverrides()
4329 MethodPool.find(ObjCMethod->getSelector()); in CheckObjCMethodOverrides()
4332 ObjCMethod->isInstanceMethod()? It->second.first: It->second.second; in CheckObjCMethodOverrides()
4358 ObjCMethod->setRelatedResultType(); in CheckObjCMethodOverrides()
4361 mergeObjCMethodDecls(ObjCMethod, overridden); in CheckObjCMethodOverrides()
4363 if (ObjCMethod->isImplicit() && overridden->isImplicit()) in CheckObjCMethodOverrides()
4367 if (isa<ObjCInterfaceDecl>(ObjCMethod->getDeclContext()) || in CheckObjCMethodOverrides()
4368 isa<ObjCImplementationDecl>(ObjCMethod->getDeclContext())) in CheckObjCMethodOverrides()
4369 CheckConflictingOverridingMethod(ObjCMethod, overridden, in CheckObjCMethodOverrides()
4375 ObjCMethodDecl::param_iterator ParamI = ObjCMethod->param_begin(), in CheckObjCMethodOverrides()
4376 E = ObjCMethod->param_end(); in CheckObjCMethodOverrides()
4395 ObjCMethod->setOverriding(hasOverriddenMethodsInBaseOrProtocol); in CheckObjCMethodOverrides()
4559 ObjCMethodDecl *ObjCMethod = ObjCMethodDecl::Create( in ActOnMethodDeclaration() local
4600 ParmVarDecl* Param = CheckParameter(ObjCMethod, StartLoc, in ActOnMethodDeclaration()
4632 Param->setDeclContext(ObjCMethod); in ActOnMethodDeclaration()
4636 ObjCMethod->setMethodParams(Context, Params, SelectorLocs); in ActOnMethodDeclaration()
4637 ObjCMethod->setObjCDeclQualifier( in ActOnMethodDeclaration()
4640 ProcessDeclAttributeList(TUScope, ObjCMethod, AttrList); in ActOnMethodDeclaration()
4641 AddPragmaAttributes(TUScope, ObjCMethod); in ActOnMethodDeclaration()
4648 ImpDecl->addInstanceMethod(ObjCMethod); in ActOnMethodDeclaration()
4651 ImpDecl->addClassMethod(ObjCMethod); in ActOnMethodDeclaration()
4657 if (auto *IMD = IDecl->lookupMethod(ObjCMethod->getSelector(), in ActOnMethodDeclaration()
4658 ObjCMethod->isInstanceMethod())) { in ActOnMethodDeclaration()
4659 mergeInterfaceMethodToImpl(*this, ObjCMethod, IMD); in ActOnMethodDeclaration()
4663 ObjCMethod->getSelector().getMethodFamily() == OMF_dealloc) { in ActOnMethodDeclaration()
4664 Diag(ObjCMethod->getLocation(), diag::warn_dealloc_in_category) in ActOnMethodDeclaration()
4665 << ObjCMethod->getDeclName(); in ActOnMethodDeclaration()
4674 if (auto *IMD = P->lookupMethod(ObjCMethod->getSelector(), in ActOnMethodDeclaration()
4675 ObjCMethod->isInstanceMethod())) { in ActOnMethodDeclaration()
4676 assert(ObjCMethod->parameters().size() == in ActOnMethodDeclaration()
4680 auto NI = ObjCMethod->param_begin(); in ActOnMethodDeclaration()
4686 cast<DeclContext>(ClassDecl)->addDecl(ObjCMethod); in ActOnMethodDeclaration()
4691 Diag(ObjCMethod->getLocation(), diag::err_duplicate_method_decl) in ActOnMethodDeclaration()
4692 << ObjCMethod->getDeclName(); in ActOnMethodDeclaration()
4694 ObjCMethod->setInvalidDecl(); in ActOnMethodDeclaration()
4695 return ObjCMethod; in ActOnMethodDeclaration()
4713 = CheckRelatedResultTypeCompatibility(*this, ObjCMethod, CurrentClass); in ActOnMethodDeclaration()
4715 CheckObjCMethodOverrides(ObjCMethod, CurrentClass, RTC); in ActOnMethodDeclaration()
4719 ARCError = CheckARCMethodDecl(ObjCMethod); in ActOnMethodDeclaration()
4723 !ObjCMethod->hasRelatedResultType() && in ActOnMethodDeclaration()
4726 switch (ObjCMethod->getMethodFamily()) { in ActOnMethodDeclaration()
4740 InferRelatedResultType = ObjCMethod->isClassMethod(); in ActOnMethodDeclaration()
4747 InferRelatedResultType = ObjCMethod->isInstanceMethod(); in ActOnMethodDeclaration()
4752 !ObjCMethod->getReturnType()->isObjCIndependentClassType()) in ActOnMethodDeclaration()
4753 ObjCMethod->setRelatedResultType(); in ActOnMethodDeclaration()
4758 checkObjCMethodX86VectorTypes(*this, ObjCMethod); in ActOnMethodDeclaration()
4762 if (const auto *attr = ObjCMethod->getAttr<AvailabilityAttr>()) { in ActOnMethodDeclaration()
4763 if (ObjCMethod->isClassMethod() && in ActOnMethodDeclaration()
4764 ObjCMethod->getSelector().getAsString() == "load") { in ActOnMethodDeclaration()
4767 ObjCMethod->dropAttr<AvailabilityAttr>(); in ActOnMethodDeclaration()
4771 ActOnDocumentableDecl(ObjCMethod); in ActOnMethodDeclaration()
4773 return ObjCMethod; in ActOnMethodDeclaration()