Lines Matching refs:SetterMethod
2179 ObjCMethodDecl *SetterMethod = nullptr; in AtomicPropertySetterGetterRules() local
2189 SetterMethod = Property->isClassProperty() ? in AtomicPropertySetterGetterRules()
2194 if (SetterMethod && SetterMethod->isSynthesizedAccessorStub()) in AtomicPropertySetterGetterRules()
2195 SetterMethod = nullptr; in AtomicPropertySetterGetterRules()
2202 if (SetterMethod) { in AtomicPropertySetterGetterRules()
2203 Diag(SetterMethod->getLocation(), in AtomicPropertySetterGetterRules()
2219 SetterMethod = PIDecl->getSetterMethodDecl(); in AtomicPropertySetterGetterRules()
2222 if (SetterMethod && SetterMethod->isSynthesizedAccessorStub()) in AtomicPropertySetterGetterRules()
2223 SetterMethod = nullptr; in AtomicPropertySetterGetterRules()
2224 if ((bool)GetterMethod ^ (bool)SetterMethod) { in AtomicPropertySetterGetterRules()
2227 : SetterMethod->getLocation()); in AtomicPropertySetterGetterRules()
2230 << (SetterMethod != nullptr); in AtomicPropertySetterGetterRules()
2376 ObjCMethodDecl *GetterMethod, *SetterMethod; in ProcessPropertyDecl() local
2396 SetterMethod = IsClassProperty ? in ProcessPropertyDecl()
2399 if (!SetterMethod) in ProcessPropertyDecl()
2402 SetterMethod = IsClassProperty ? CatDecl->getClassInterface()-> in ProcessPropertyDecl()
2427 if (!property->isReadOnly() && !SetterMethod) { in ProcessPropertyDecl()
2443 if (!property->isReadOnly() && SetterMethod) { in ProcessPropertyDecl()
2444 if (Context.getCanonicalType(SetterMethod->getReturnType()) != in ProcessPropertyDecl()
2446 Diag(SetterMethod->getLocation(), diag::err_setter_type_void); in ProcessPropertyDecl()
2447 if (SetterMethod->param_size() != 1 || in ProcessPropertyDecl()
2449 (*SetterMethod->param_begin())->getType().getNonReferenceType(), in ProcessPropertyDecl()
2454 << SetterMethod->getSelector(); in ProcessPropertyDecl()
2455 Diag(SetterMethod->getLocation(), diag::note_declared_at); in ProcessPropertyDecl()
2528 if (!SetterMethod) { in ProcessPropertyDecl()
2535 SetterMethod = in ProcessPropertyDecl()
2567 ParmVarDecl *Argument = ParmVarDecl::Create(Context, SetterMethod, in ProcessPropertyDecl()
2574 SetterMethod->setMethodParams(Context, Argument, std::nullopt); in ProcessPropertyDecl()
2576 AddPropertyAttrs(*this, SetterMethod, property); in ProcessPropertyDecl()
2579 SetterMethod->addAttr(ObjCDirectAttr::CreateImplicit(Context, Loc)); in ProcessPropertyDecl()
2581 CD->addDecl(SetterMethod); in ProcessPropertyDecl()
2583 SetterMethod->addAttr(SectionAttr::CreateImplicit( in ProcessPropertyDecl()
2589 CheckARCMethodDecl(SetterMethod); in ProcessPropertyDecl()
2593 SetterMethod->setPropertyAccessor(true); in ProcessPropertyDecl()
2595 SetterMethod->createImplicitParams(Context, in ProcessPropertyDecl()
2596 SetterMethod->getClassInterface()); in ProcessPropertyDecl()
2597 property->setSetterMethodDecl(SetterMethod); in ProcessPropertyDecl()
2614 if (SetterMethod) in ProcessPropertyDecl()
2615 AddInstanceMethodToGlobalPool(SetterMethod); in ProcessPropertyDecl()
2619 if (SetterMethod) in ProcessPropertyDecl()
2620 AddFactoryMethodToGlobalPool(SetterMethod); in ProcessPropertyDecl()
2632 if (SetterMethod) in ProcessPropertyDecl()
2633 CheckObjCMethodOverrides(SetterMethod, CurrentClass, Sema::RTC_Unknown); in ProcessPropertyDecl()