Lines Matching refs:Overridden
114 const ObjCMethodDecl *Overridden) {
115 if (Overridden->hasRelatedResultType() &&
118 // implies a related result type, and the original (overridden) method has
151 if (ObjCMethodFamily Family = Overridden->getMethodFamily())
152 Diag(Overridden->getLocation(),
154 << /*overridden method*/ 0
157 Diag(Overridden->getLocation(),
162 Overridden->hasAttr<NSReturnsRetainedAttr>())) {
165 Diag(Overridden->getLocation(), diag::note_previous_decl)
169 Overridden->hasAttr<NSReturnsNotRetainedAttr>())) {
172 Diag(Overridden->getLocation(), diag::note_previous_decl)
175 ObjCMethodDecl::param_const_iterator oi = Overridden->param_begin(),
176 oe = Overridden->param_end();
2466 ObjCMethodDecl *Overridden,
2469 CheckMethodOverrideReturn(*this, Method, Overridden,
2474 IF = Overridden->param_begin(), EM = Method->param_end(),
2475 EF = Overridden->param_end();
2477 CheckMethodOverrideParam(*this, Method, Overridden, *IM, *IF,
2481 if (Method->isVariadic() != Overridden->isVariadic()) {
2484 Diag(Overridden->getLocation(), diag::note_previous_declaration);
3805 llvm::SmallPtrSet<ObjCMethodDecl*, 4> Overridden;
3843 iterator begin() const { return Overridden.begin(); }
3844 iterator end() const { return Overridden.end(); }
3932 Overridden.insert(meth);
3937 // would have overridden.
3950 // Search for overridden methods and merge information down from them.
3960 ObjCMethodDecl *overridden = *i;
3963 if (isa<ObjCProtocolDecl>(overridden->getDeclContext()) ||
3964 CurrentClass != overridden->getClassInterface() ||
3965 overridden->isOverriding()) {
3969 // OverrideSearch will return as "overridden" the same method in the
3986 !isa<ObjCCategoryImplDecl>(overridden->getDeclContext())) {
3987 OverrideSearch overrides(*this, overridden);
3994 overridden->setOverriding(true);
4004 // Propagate down the 'related result type' bit from overridden methods.
4005 if (RTC != Sema::RTC_Incompatible && overridden->hasRelatedResultType())
4009 mergeObjCMethodDecls(ObjCMethod, overridden);
4011 if (ObjCMethod->isImplicit() && overridden->isImplicit())
4017 CheckConflictingOverridingMethod(ObjCMethod, overridden,
4018 isa<ObjCProtocolDecl>(overridden->getDeclContext()));
4020 if (CurrentClass && overridden->getDeclContext() != CurrentClass &&
4021 isa<ObjCInterfaceDecl>(overridden->getDeclContext()) &&
4022 !overridden->isImplicit() /* not meant for properties */) {
4025 ObjCMethodDecl::param_iterator PrevI = overridden->param_begin(),
4026 PrevE = overridden->param_end();
4028 assert(PrevI != overridden->param_end() && "Param mismatch");
4036 Diag(overridden->getLocation(), diag::note_previous_declaration);