Lines Matching refs:ObjCMethod
2963 void Sema::CheckObjCMethodOverrides(ObjCMethodDecl *ObjCMethod,
2967 OverrideSearch overrides(*this, ObjCMethod);
2984 } else if (isa<ObjCImplDecl>(ObjCMethod->getDeclContext())) {
2993 MethodPool.find(ObjCMethod->getSelector());
2996 ObjCMethod->isInstanceMethod()? It->second.first: It->second.second;
3022 ObjCMethod->SetRelatedResultType();
3025 mergeObjCMethodDecls(ObjCMethod, overridden);
3027 if (ObjCMethod->isImplicit() && overridden->isImplicit())
3031 if (isa<ObjCInterfaceDecl>(ObjCMethod->getDeclContext()) ||
3032 isa<ObjCImplementationDecl>(ObjCMethod->getDeclContext()))
3033 CheckConflictingOverridingMethod(ObjCMethod, overridden,
3039 ObjCMethodDecl::param_iterator ParamI = ObjCMethod->param_begin(),
3040 E = ObjCMethod->param_end();
3059 ObjCMethod->setOverriding(hasOverriddenMethodsInBaseOrProtocol);
3099 ObjCMethodDecl* ObjCMethod =
3144 ParmVarDecl* Param = CheckParameter(ObjCMethod, StartLoc,
3175 Param->setDeclContext(ObjCMethod);
3179 ObjCMethod->setMethodParams(Context, Params, SelectorLocs);
3180 ObjCMethod->setObjCDeclQualifier(
3184 ProcessDeclAttributeList(TUScope, ObjCMethod, AttrList);
3191 ImpDecl->addInstanceMethod(ObjCMethod);
3194 ImpDecl->addClassMethod(ObjCMethod);
3199 IMD = IDecl->lookupMethod(ObjCMethod->getSelector(),
3200 ObjCMethod->isInstanceMethod());
3202 !ObjCMethod->hasAttr<ObjCRequiresSuperAttr>()) {
3204 ObjCMethod->addAttr(
3205 new (Context) ObjCRequiresSuperAttr(ObjCMethod->getLocation(), Context));
3207 if (ObjCMethod->hasAttrs() &&
3208 containsInvalidMethodImplAttribute(IMD, ObjCMethod->getAttrs())) {
3213 << ObjCMethod->getDeclName();
3217 cast<DeclContext>(ClassDecl)->addDecl(ObjCMethod);
3222 Diag(ObjCMethod->getLocation(), diag::err_duplicate_method_decl)
3223 << ObjCMethod->getDeclName();
3225 ObjCMethod->setInvalidDecl();
3226 return ObjCMethod;
3244 = CheckRelatedResultTypeCompatibility(*this, ObjCMethod, CurrentClass);
3246 CheckObjCMethodOverrides(ObjCMethod, CurrentClass, RTC);
3250 ARCError = CheckARCMethodDecl(ObjCMethod);
3254 ObjCMethod->hasRelatedResultType() &&
3257 switch (ObjCMethod->getMethodFamily()) {
3270 InferRelatedResultType = ObjCMethod->isClassMethod();
3277 InferRelatedResultType = ObjCMethod->isInstanceMethod();
3282 ObjCMethod->SetRelatedResultType();
3285 ActOnDocumentableDecl(ObjCMethod);
3287 return ObjCMethod;