Lines Matching refs:ObjCMethod

4422 void Sema::CheckObjCMethodOverrides(ObjCMethodDecl *ObjCMethod,  in CheckObjCMethodOverrides()  argument
4425 if (!ObjCMethod) in CheckObjCMethodOverrides()
4428 OverrideSearch overrides(*this, ObjCMethod); in CheckObjCMethodOverrides()
4440 CheckObjCMethodDirectOverrides(ObjCMethod, overridden); in CheckObjCMethodOverrides()
4442 } else if (isa<ObjCImplDecl>(ObjCMethod->getDeclContext())) { in CheckObjCMethodOverrides()
4451 MethodPool.find(ObjCMethod->getSelector()); in CheckObjCMethodOverrides()
4454 ObjCMethod->isInstanceMethod()? It->second.first: It->second.second; in CheckObjCMethodOverrides()
4465 CheckObjCMethodDirectOverrides(ObjCMethod, SuperOverridden); in CheckObjCMethodOverrides()
4479 ObjCMethod->setRelatedResultType(); in CheckObjCMethodOverrides()
4482 mergeObjCMethodDecls(ObjCMethod, overridden); in CheckObjCMethodOverrides()
4484 if (ObjCMethod->isImplicit() && overridden->isImplicit()) in CheckObjCMethodOverrides()
4488 if (isa<ObjCInterfaceDecl>(ObjCMethod->getDeclContext()) || in CheckObjCMethodOverrides()
4489 isa<ObjCImplementationDecl>(ObjCMethod->getDeclContext())) in CheckObjCMethodOverrides()
4490 CheckConflictingOverridingMethod(ObjCMethod, overridden, in CheckObjCMethodOverrides()
4496 ObjCMethodDecl::param_iterator ParamI = ObjCMethod->param_begin(), in CheckObjCMethodOverrides()
4497 E = ObjCMethod->param_end(); in CheckObjCMethodOverrides()
4516 ObjCMethod->setOverriding(hasOverriddenMethodsInBaseOrProtocol); in CheckObjCMethodOverrides()
4737 ObjCMethodDecl *ObjCMethod = ObjCMethodDecl::Create( in ActOnMethodDeclaration() local
4778 ParmVarDecl* Param = CheckParameter(ObjCMethod, StartLoc, in ActOnMethodDeclaration()
4810 Param->setDeclContext(ObjCMethod); in ActOnMethodDeclaration()
4814 ObjCMethod->setMethodParams(Context, Params, SelectorLocs); in ActOnMethodDeclaration()
4815 ObjCMethod->setObjCDeclQualifier( in ActOnMethodDeclaration()
4818 ProcessDeclAttributeList(TUScope, ObjCMethod, AttrList); in ActOnMethodDeclaration()
4819 AddPragmaAttributes(TUScope, ObjCMethod); in ActOnMethodDeclaration()
4826 ImpDecl->addInstanceMethod(ObjCMethod); in ActOnMethodDeclaration()
4829 ImpDecl->addClassMethod(ObjCMethod); in ActOnMethodDeclaration()
4840 Setter->isInstanceMethod() == ObjCMethod->isInstanceMethod()) { in ActOnMethodDeclaration()
4842 PropertyImpl->setSetterMethodDecl(ObjCMethod); in ActOnMethodDeclaration()
4846 Getter->isInstanceMethod() == ObjCMethod->isInstanceMethod()) { in ActOnMethodDeclaration()
4848 PropertyImpl->setGetterMethodDecl(ObjCMethod); in ActOnMethodDeclaration()
4859 if (!ObjCMethod->isDirectMethod()) { in ActOnMethodDeclaration()
4860 const ObjCMethodDecl *CanonicalMD = ObjCMethod->getCanonicalDecl(); in ActOnMethodDeclaration()
4863 ObjCMethod->addAttr( in ActOnMethodDeclaration()
4871 if (auto *IMD = IDecl->lookupMethod(ObjCMethod->getSelector(), in ActOnMethodDeclaration()
4872 ObjCMethod->isInstanceMethod())) { in ActOnMethodDeclaration()
4873 mergeInterfaceMethodToImpl(*this, ObjCMethod, IMD); in ActOnMethodDeclaration()
4901 Diag(ObjCMethod->getLocation(), in ActOnMethodDeclaration()
4907 if (ObjCMethod->isDirectMethod()) { in ActOnMethodDeclaration()
4908 const auto *attr = ObjCMethod->getAttr<ObjCDirectAttr>(); in ActOnMethodDeclaration()
4909 if (ObjCMethod->getCanonicalDecl() != IMD) { in ActOnMethodDeclaration()
4917 if (ObjCMethod->getCanonicalDecl() != IMD) { in ActOnMethodDeclaration()
4920 ObjCMethod->addAttr( in ActOnMethodDeclaration()
4928 ObjCMethod->getSelector().getMethodFamily() == OMF_dealloc) { in ActOnMethodDeclaration()
4929 Diag(ObjCMethod->getLocation(), diag::warn_dealloc_in_category) in ActOnMethodDeclaration()
4930 << ObjCMethod->getDeclName(); in ActOnMethodDeclaration()
4933 mergeObjCDirectMembers(*this, ClassDecl, ObjCMethod); in ActOnMethodDeclaration()
4934 checkObjCDirectMethodClashes(*this, IDecl, ObjCMethod, ImpDecl); in ActOnMethodDeclaration()
4942 if (auto *IMD = P->lookupMethod(ObjCMethod->getSelector(), in ActOnMethodDeclaration()
4943 ObjCMethod->isInstanceMethod())) { in ActOnMethodDeclaration()
4944 assert(ObjCMethod->parameters().size() == in ActOnMethodDeclaration()
4948 auto NI = ObjCMethod->param_begin(); in ActOnMethodDeclaration()
4955 mergeObjCDirectMembers(*this, ClassDecl, ObjCMethod); in ActOnMethodDeclaration()
4964 checkObjCDirectMethodClashes(*this, IDecl, ObjCMethod); in ActOnMethodDeclaration()
4967 cast<DeclContext>(ClassDecl)->addDecl(ObjCMethod); in ActOnMethodDeclaration()
4972 Diag(ObjCMethod->getLocation(), diag::err_duplicate_method_decl) in ActOnMethodDeclaration()
4973 << ObjCMethod->getDeclName(); in ActOnMethodDeclaration()
4975 ObjCMethod->setInvalidDecl(); in ActOnMethodDeclaration()
4976 return ObjCMethod; in ActOnMethodDeclaration()
4994 = CheckRelatedResultTypeCompatibility(*this, ObjCMethod, CurrentClass); in ActOnMethodDeclaration()
4996 CheckObjCMethodOverrides(ObjCMethod, CurrentClass, RTC); in ActOnMethodDeclaration()
5000 ARCError = CheckARCMethodDecl(ObjCMethod); in ActOnMethodDeclaration()
5004 !ObjCMethod->hasRelatedResultType() && in ActOnMethodDeclaration()
5007 switch (ObjCMethod->getMethodFamily()) { in ActOnMethodDeclaration()
5021 InferRelatedResultType = ObjCMethod->isClassMethod(); in ActOnMethodDeclaration()
5028 InferRelatedResultType = ObjCMethod->isInstanceMethod(); in ActOnMethodDeclaration()
5033 !ObjCMethod->getReturnType()->isObjCIndependentClassType()) in ActOnMethodDeclaration()
5034 ObjCMethod->setRelatedResultType(); in ActOnMethodDeclaration()
5039 checkObjCMethodX86VectorTypes(*this, ObjCMethod); in ActOnMethodDeclaration()
5043 if (const auto *attr = ObjCMethod->getAttr<AvailabilityAttr>()) { in ActOnMethodDeclaration()
5044 if (ObjCMethod->isClassMethod() && in ActOnMethodDeclaration()
5045 ObjCMethod->getSelector().getAsString() == "load") { in ActOnMethodDeclaration()
5048 ObjCMethod->dropAttr<AvailabilityAttr>(); in ActOnMethodDeclaration()
5053 ObjCMethod->createImplicitParams(Context, ObjCMethod->getClassInterface()); in ActOnMethodDeclaration()
5055 ActOnDocumentableDecl(ObjCMethod); in ActOnMethodDeclaration()
5057 return ObjCMethod; in ActOnMethodDeclaration()