Lines Matching refs:ObjCMethod

4430 void Sema::CheckObjCMethodOverrides(ObjCMethodDecl *ObjCMethod,  in CheckObjCMethodOverrides()  argument
4433 if (!ObjCMethod) in CheckObjCMethodOverrides()
4436 OverrideSearch overrides(*this, ObjCMethod); in CheckObjCMethodOverrides()
4448 CheckObjCMethodDirectOverrides(ObjCMethod, overridden); in CheckObjCMethodOverrides()
4450 } else if (isa<ObjCImplDecl>(ObjCMethod->getDeclContext())) { in CheckObjCMethodOverrides()
4459 MethodPool.find(ObjCMethod->getSelector()); in CheckObjCMethodOverrides()
4462 ObjCMethod->isInstanceMethod()? It->second.first: It->second.second; in CheckObjCMethodOverrides()
4473 CheckObjCMethodDirectOverrides(ObjCMethod, SuperOverridden); in CheckObjCMethodOverrides()
4487 ObjCMethod->setRelatedResultType(); in CheckObjCMethodOverrides()
4490 mergeObjCMethodDecls(ObjCMethod, overridden); in CheckObjCMethodOverrides()
4492 if (ObjCMethod->isImplicit() && overridden->isImplicit()) in CheckObjCMethodOverrides()
4496 if (isa<ObjCInterfaceDecl>(ObjCMethod->getDeclContext()) || in CheckObjCMethodOverrides()
4497 isa<ObjCImplementationDecl>(ObjCMethod->getDeclContext())) in CheckObjCMethodOverrides()
4498 CheckConflictingOverridingMethod(ObjCMethod, overridden, in CheckObjCMethodOverrides()
4504 ObjCMethodDecl::param_iterator ParamI = ObjCMethod->param_begin(), in CheckObjCMethodOverrides()
4505 E = ObjCMethod->param_end(); in CheckObjCMethodOverrides()
4524 ObjCMethod->setOverriding(hasOverriddenMethodsInBaseOrProtocol); in CheckObjCMethodOverrides()
4745 ObjCMethodDecl *ObjCMethod = ObjCMethodDecl::Create( in ActOnMethodDeclaration() local
4786 ParmVarDecl* Param = CheckParameter(ObjCMethod, StartLoc, in ActOnMethodDeclaration()
4818 Param->setDeclContext(ObjCMethod); in ActOnMethodDeclaration()
4822 ObjCMethod->setMethodParams(Context, Params, SelectorLocs); in ActOnMethodDeclaration()
4823 ObjCMethod->setObjCDeclQualifier( in ActOnMethodDeclaration()
4826 ProcessDeclAttributeList(TUScope, ObjCMethod, AttrList); in ActOnMethodDeclaration()
4827 AddPragmaAttributes(TUScope, ObjCMethod); in ActOnMethodDeclaration()
4834 ImpDecl->addInstanceMethod(ObjCMethod); in ActOnMethodDeclaration()
4837 ImpDecl->addClassMethod(ObjCMethod); in ActOnMethodDeclaration()
4848 Setter->isInstanceMethod() == ObjCMethod->isInstanceMethod()) { in ActOnMethodDeclaration()
4850 PropertyImpl->setSetterMethodDecl(ObjCMethod); in ActOnMethodDeclaration()
4854 Getter->isInstanceMethod() == ObjCMethod->isInstanceMethod()) { in ActOnMethodDeclaration()
4856 PropertyImpl->setGetterMethodDecl(ObjCMethod); in ActOnMethodDeclaration()
4867 if (!ObjCMethod->isDirectMethod()) { in ActOnMethodDeclaration()
4868 const ObjCMethodDecl *CanonicalMD = ObjCMethod->getCanonicalDecl(); in ActOnMethodDeclaration()
4871 ObjCMethod->addAttr( in ActOnMethodDeclaration()
4879 if (auto *IMD = IDecl->lookupMethod(ObjCMethod->getSelector(), in ActOnMethodDeclaration()
4880 ObjCMethod->isInstanceMethod())) { in ActOnMethodDeclaration()
4881 mergeInterfaceMethodToImpl(*this, ObjCMethod, IMD); in ActOnMethodDeclaration()
4909 Diag(ObjCMethod->getLocation(), in ActOnMethodDeclaration()
4915 if (ObjCMethod->isDirectMethod()) { in ActOnMethodDeclaration()
4916 const auto *attr = ObjCMethod->getAttr<ObjCDirectAttr>(); in ActOnMethodDeclaration()
4917 if (ObjCMethod->getCanonicalDecl() != IMD) { in ActOnMethodDeclaration()
4925 if (ObjCMethod->getCanonicalDecl() != IMD) { in ActOnMethodDeclaration()
4928 ObjCMethod->addAttr( in ActOnMethodDeclaration()
4936 ObjCMethod->getSelector().getMethodFamily() == OMF_dealloc) { in ActOnMethodDeclaration()
4937 Diag(ObjCMethod->getLocation(), diag::warn_dealloc_in_category) in ActOnMethodDeclaration()
4938 << ObjCMethod->getDeclName(); in ActOnMethodDeclaration()
4941 mergeObjCDirectMembers(*this, ClassDecl, ObjCMethod); in ActOnMethodDeclaration()
4942 checkObjCDirectMethodClashes(*this, IDecl, ObjCMethod, ImpDecl); in ActOnMethodDeclaration()
4950 if (auto *IMD = P->lookupMethod(ObjCMethod->getSelector(), in ActOnMethodDeclaration()
4951 ObjCMethod->isInstanceMethod())) { in ActOnMethodDeclaration()
4952 assert(ObjCMethod->parameters().size() == in ActOnMethodDeclaration()
4956 auto NI = ObjCMethod->param_begin(); in ActOnMethodDeclaration()
4963 mergeObjCDirectMembers(*this, ClassDecl, ObjCMethod); in ActOnMethodDeclaration()
4972 checkObjCDirectMethodClashes(*this, IDecl, ObjCMethod); in ActOnMethodDeclaration()
4975 cast<DeclContext>(ClassDecl)->addDecl(ObjCMethod); in ActOnMethodDeclaration()
4980 Diag(ObjCMethod->getLocation(), diag::err_duplicate_method_decl) in ActOnMethodDeclaration()
4981 << ObjCMethod->getDeclName(); in ActOnMethodDeclaration()
4983 ObjCMethod->setInvalidDecl(); in ActOnMethodDeclaration()
4984 return ObjCMethod; in ActOnMethodDeclaration()
5002 = CheckRelatedResultTypeCompatibility(*this, ObjCMethod, CurrentClass); in ActOnMethodDeclaration()
5004 CheckObjCMethodOverrides(ObjCMethod, CurrentClass, RTC); in ActOnMethodDeclaration()
5008 ARCError = CheckARCMethodDecl(ObjCMethod); in ActOnMethodDeclaration()
5012 !ObjCMethod->hasRelatedResultType() && in ActOnMethodDeclaration()
5015 switch (ObjCMethod->getMethodFamily()) { in ActOnMethodDeclaration()
5029 InferRelatedResultType = ObjCMethod->isClassMethod(); in ActOnMethodDeclaration()
5036 InferRelatedResultType = ObjCMethod->isInstanceMethod(); in ActOnMethodDeclaration()
5041 !ObjCMethod->getReturnType()->isObjCIndependentClassType()) in ActOnMethodDeclaration()
5042 ObjCMethod->setRelatedResultType(); in ActOnMethodDeclaration()
5047 checkObjCMethodX86VectorTypes(*this, ObjCMethod); in ActOnMethodDeclaration()
5051 if (const auto *attr = ObjCMethod->getAttr<AvailabilityAttr>()) { in ActOnMethodDeclaration()
5052 if (ObjCMethod->isClassMethod() && in ActOnMethodDeclaration()
5053 ObjCMethod->getSelector().getAsString() == "load") { in ActOnMethodDeclaration()
5056 ObjCMethod->dropAttr<AvailabilityAttr>(); in ActOnMethodDeclaration()
5061 ObjCMethod->createImplicitParams(Context, ObjCMethod->getClassInterface()); in ActOnMethodDeclaration()
5063 ActOnDocumentableDecl(ObjCMethod); in ActOnMethodDeclaration()
5065 return ObjCMethod; in ActOnMethodDeclaration()