Lines Matching refs:ObjCMethod

4438 void Sema::CheckObjCMethodOverrides(ObjCMethodDecl *ObjCMethod,  in CheckObjCMethodOverrides()  argument
4441 if (!ObjCMethod) in CheckObjCMethodOverrides()
4449 OverrideSearch overrides(*this, ObjCMethod); in CheckObjCMethodOverrides()
4460 CheckObjCMethodDirectOverrides(ObjCMethod, overridden); in CheckObjCMethodOverrides()
4462 } else if (isa<ObjCImplDecl>(ObjCMethod->getDeclContext())) { in CheckObjCMethodOverrides()
4471 MethodPool.find(ObjCMethod->getSelector()); in CheckObjCMethodOverrides()
4474 ObjCMethod->isInstanceMethod()? It->second.first: It->second.second; in CheckObjCMethodOverrides()
4485 CheckObjCMethodDirectOverrides(ObjCMethod, SuperOverridden); in CheckObjCMethodOverrides()
4499 ObjCMethod->setRelatedResultType(); in CheckObjCMethodOverrides()
4502 mergeObjCMethodDecls(ObjCMethod, overridden); in CheckObjCMethodOverrides()
4504 if (ObjCMethod->isImplicit() && overridden->isImplicit()) in CheckObjCMethodOverrides()
4508 if (isa<ObjCInterfaceDecl>(ObjCMethod->getDeclContext()) || in CheckObjCMethodOverrides()
4509 isa<ObjCImplementationDecl>(ObjCMethod->getDeclContext())) in CheckObjCMethodOverrides()
4510 CheckConflictingOverridingMethod(ObjCMethod, overridden, in CheckObjCMethodOverrides()
4516 ObjCMethodDecl::param_iterator ParamI = ObjCMethod->param_begin(), in CheckObjCMethodOverrides()
4517 E = ObjCMethod->param_end(); in CheckObjCMethodOverrides()
4536 ObjCMethod->setOverriding(hasOverriddenMethodsInBaseOrProtocol); in CheckObjCMethodOverrides()
4757 ObjCMethodDecl *ObjCMethod = ObjCMethodDecl::Create( in ActOnMethodDeclaration() local
4798 ParmVarDecl* Param = CheckParameter(ObjCMethod, StartLoc, in ActOnMethodDeclaration()
4830 Param->setDeclContext(ObjCMethod); in ActOnMethodDeclaration()
4834 ObjCMethod->setMethodParams(Context, Params, SelectorLocs); in ActOnMethodDeclaration()
4835 ObjCMethod->setObjCDeclQualifier( in ActOnMethodDeclaration()
4838 ProcessDeclAttributeList(TUScope, ObjCMethod, AttrList); in ActOnMethodDeclaration()
4839 AddPragmaAttributes(TUScope, ObjCMethod); in ActOnMethodDeclaration()
4846 ImpDecl->addInstanceMethod(ObjCMethod); in ActOnMethodDeclaration()
4849 ImpDecl->addClassMethod(ObjCMethod); in ActOnMethodDeclaration()
4860 Setter->isInstanceMethod() == ObjCMethod->isInstanceMethod()) { in ActOnMethodDeclaration()
4862 PropertyImpl->setSetterMethodDecl(ObjCMethod); in ActOnMethodDeclaration()
4866 Getter->isInstanceMethod() == ObjCMethod->isInstanceMethod()) { in ActOnMethodDeclaration()
4868 PropertyImpl->setGetterMethodDecl(ObjCMethod); in ActOnMethodDeclaration()
4879 if (!ObjCMethod->isDirectMethod()) { in ActOnMethodDeclaration()
4880 const ObjCMethodDecl *CanonicalMD = ObjCMethod->getCanonicalDecl(); in ActOnMethodDeclaration()
4883 ObjCMethod->addAttr( in ActOnMethodDeclaration()
4891 if (auto *IMD = IDecl->lookupMethod(ObjCMethod->getSelector(), in ActOnMethodDeclaration()
4892 ObjCMethod->isInstanceMethod())) { in ActOnMethodDeclaration()
4893 mergeInterfaceMethodToImpl(*this, ObjCMethod, IMD); in ActOnMethodDeclaration()
4921 Diag(ObjCMethod->getLocation(), in ActOnMethodDeclaration()
4927 if (ObjCMethod->isDirectMethod()) { in ActOnMethodDeclaration()
4928 const auto *attr = ObjCMethod->getAttr<ObjCDirectAttr>(); in ActOnMethodDeclaration()
4929 if (ObjCMethod->getCanonicalDecl() != IMD) { in ActOnMethodDeclaration()
4937 if (ObjCMethod->getCanonicalDecl() != IMD) { in ActOnMethodDeclaration()
4940 ObjCMethod->addAttr( in ActOnMethodDeclaration()
4948 ObjCMethod->getSelector().getMethodFamily() == OMF_dealloc) { in ActOnMethodDeclaration()
4949 Diag(ObjCMethod->getLocation(), diag::warn_dealloc_in_category) in ActOnMethodDeclaration()
4950 << ObjCMethod->getDeclName(); in ActOnMethodDeclaration()
4953 mergeObjCDirectMembers(*this, ClassDecl, ObjCMethod); in ActOnMethodDeclaration()
4954 checkObjCDirectMethodClashes(*this, IDecl, ObjCMethod, ImpDecl); in ActOnMethodDeclaration()
4962 if (auto *IMD = P->lookupMethod(ObjCMethod->getSelector(), in ActOnMethodDeclaration()
4963 ObjCMethod->isInstanceMethod())) { in ActOnMethodDeclaration()
4964 assert(ObjCMethod->parameters().size() == in ActOnMethodDeclaration()
4968 auto NI = ObjCMethod->param_begin(); in ActOnMethodDeclaration()
4975 mergeObjCDirectMembers(*this, ClassDecl, ObjCMethod); in ActOnMethodDeclaration()
4984 checkObjCDirectMethodClashes(*this, IDecl, ObjCMethod); in ActOnMethodDeclaration()
4987 cast<DeclContext>(ClassDecl)->addDecl(ObjCMethod); in ActOnMethodDeclaration()
4992 Diag(ObjCMethod->getLocation(), diag::err_duplicate_method_decl) in ActOnMethodDeclaration()
4993 << ObjCMethod->getDeclName(); in ActOnMethodDeclaration()
4995 ObjCMethod->setInvalidDecl(); in ActOnMethodDeclaration()
4996 return ObjCMethod; in ActOnMethodDeclaration()
5014 = CheckRelatedResultTypeCompatibility(*this, ObjCMethod, CurrentClass); in ActOnMethodDeclaration()
5016 CheckObjCMethodOverrides(ObjCMethod, CurrentClass, RTC); in ActOnMethodDeclaration()
5020 ARCError = CheckARCMethodDecl(ObjCMethod); in ActOnMethodDeclaration()
5024 !ObjCMethod->hasRelatedResultType() && in ActOnMethodDeclaration()
5027 switch (ObjCMethod->getMethodFamily()) { in ActOnMethodDeclaration()
5041 InferRelatedResultType = ObjCMethod->isClassMethod(); in ActOnMethodDeclaration()
5048 InferRelatedResultType = ObjCMethod->isInstanceMethod(); in ActOnMethodDeclaration()
5053 !ObjCMethod->getReturnType()->isObjCIndependentClassType()) in ActOnMethodDeclaration()
5054 ObjCMethod->setRelatedResultType(); in ActOnMethodDeclaration()
5059 checkObjCMethodX86VectorTypes(*this, ObjCMethod); in ActOnMethodDeclaration()
5063 if (const auto *attr = ObjCMethod->getAttr<AvailabilityAttr>()) { in ActOnMethodDeclaration()
5064 if (ObjCMethod->isClassMethod() && in ActOnMethodDeclaration()
5065 ObjCMethod->getSelector().getAsString() == "load") { in ActOnMethodDeclaration()
5068 ObjCMethod->dropAttr<AvailabilityAttr>(); in ActOnMethodDeclaration()
5073 ObjCMethod->createImplicitParams(Context, ObjCMethod->getClassInterface()); in ActOnMethodDeclaration()
5075 ActOnDocumentableDecl(ObjCMethod); in ActOnMethodDeclaration()
5077 return ObjCMethod; in ActOnMethodDeclaration()