Lines Matching defs:ObjCMethod
2944 void Sema::CheckObjCMethodOverrides(ObjCMethodDecl *ObjCMethod,
2948 OverrideSearch overrides(*this, ObjCMethod);
2965 } else if (isa<ObjCImplDecl>(ObjCMethod->getDeclContext())) {
2974 MethodPool.find(ObjCMethod->getSelector());
2977 ObjCMethod->isInstanceMethod()? It->second.first: It->second.second;
3003 ObjCMethod->SetRelatedResultType();
3006 mergeObjCMethodDecls(ObjCMethod, overridden);
3008 if (ObjCMethod->isImplicit() && overridden->isImplicit())
3012 if (isa<ObjCInterfaceDecl>(ObjCMethod->getDeclContext()) ||
3013 isa<ObjCImplementationDecl>(ObjCMethod->getDeclContext()))
3014 CheckConflictingOverridingMethod(ObjCMethod, overridden,
3020 ObjCMethodDecl::param_iterator ParamI = ObjCMethod->param_begin(),
3021 E = ObjCMethod->param_end();
3040 ObjCMethod->setOverriding(hasOverriddenMethodsInBaseOrProtocol);
3080 ObjCMethodDecl *ObjCMethod = ObjCMethodDecl::Create(
3121 ParmVarDecl* Param = CheckParameter(ObjCMethod, StartLoc,
3152 Param->setDeclContext(ObjCMethod);
3156 ObjCMethod->setMethodParams(Context, Params, SelectorLocs);
3157 ObjCMethod->setObjCDeclQualifier(
3161 ProcessDeclAttributeList(TUScope, ObjCMethod, AttrList);
3168 ImpDecl->addInstanceMethod(ObjCMethod);
3171 ImpDecl->addClassMethod(ObjCMethod);
3176 IMD = IDecl->lookupMethod(ObjCMethod->getSelector(),
3177 ObjCMethod->isInstanceMethod());
3179 !ObjCMethod->hasAttr<ObjCRequiresSuperAttr>()) {
3181 ObjCMethod->addAttr(ObjCRequiresSuperAttr::CreateImplicit(Context,
3182 ObjCMethod->getLocation()));
3186 ObjCMethod->getSelector().getMethodFamily();
3188 Diag(ObjCMethod->getLocation(), diag::warn_dealloc_in_category)
3189 << ObjCMethod->getDeclName();
3192 cast<DeclContext>(ClassDecl)->addDecl(ObjCMethod);
3197 Diag(ObjCMethod->getLocation(), diag::err_duplicate_method_decl)
3198 << ObjCMethod->getDeclName();
3200 ObjCMethod->setInvalidDecl();
3201 return ObjCMethod;
3219 = CheckRelatedResultTypeCompatibility(*this, ObjCMethod, CurrentClass);
3221 CheckObjCMethodOverrides(ObjCMethod, CurrentClass, RTC);
3225 ARCError = CheckARCMethodDecl(ObjCMethod);
3229 !ObjCMethod->hasRelatedResultType() &&
3232 switch (ObjCMethod->getMethodFamily()) {
3245 InferRelatedResultType = ObjCMethod->isClassMethod();
3252 InferRelatedResultType = ObjCMethod->isInstanceMethod();
3257 ObjCMethod->SetRelatedResultType();
3260 ActOnDocumentableDecl(ObjCMethod);
3262 return ObjCMethod;