Lines Matching refs:props
82 PropsTy &props = AtProps[propI->getAtLoc().getRawEncoding()];
83 props.push_back(*propI);
114 PropsTy &props = findAtLoc->second;
115 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I) {
127 PropsTy &props = I->second;
128 QualType ty = getPropertyType(props);
131 if (hasIvarWithExplicitOwnership(props))
135 rewriteProperty(props, atLoc);
148 PropsTy &props = I->second;
150 doActionForExtensionProp(props, atLoc);
156 PropsTy &props, SourceLocation atLoc,
159 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I)
175 return rewriteAssign(props, atLoc);
177 return maybeAddStrongAttr(props, atLoc);
179 return maybeAddWeakOrUnsafeUnretainedAttr(props, atLoc);
183 void doActionForExtensionProp(PropsTy &props, SourceLocation atLoc) {
185 I = ActionOnProp.find(props[0].PropD->getIdentifier());
189 doPropAction(I->second, props, atLoc, false);
192 void rewriteProperty(PropsTy &props, SourceLocation atLoc) {
193 ObjCPropertyDecl::PropertyAttributeKind propAttrs = getPropertyAttrs(props);
203 return doPropAction(PropAction_RetainToStrong, props, atLoc);
206 return doPropAction(PropAction_RetainRemoved, props, atLoc);
210 if (hasIvarAssignedAPlusOneObject(props)) {
211 return doPropAction(PropAction_AssignToStrong, props, atLoc);
213 return doPropAction(PropAction_AssignRewritten, props, atLoc);
216 if (hasIvarAssignedAPlusOneObject(props))
217 return doPropAction(PropAction_MaybeAddStrong, props, atLoc);
219 return doPropAction(PropAction_MaybeAddWeakOrUnsafe, props, atLoc);
222 void rewriteAssign(PropsTy &props, SourceLocation atLoc) const {
223 bool canUseWeak = canApplyWeak(Pass.Ctx, getPropertyType(props));
231 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I) {
241 void maybeAddWeakOrUnsafeUnretainedAttr(PropsTy &props,
243 ObjCPropertyDecl::PropertyAttributeKind propAttrs = getPropertyAttrs(props);
245 bool canUseWeak = canApplyWeak(Pass.Ctx, getPropertyType(props));
247 !hasAllIvarsBacked(props)) {
254 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I) {
268 void maybeAddStrongAttr(PropsTy &props, SourceLocation atLoc) const {
269 ObjCPropertyDecl::PropertyAttributeKind propAttrs = getPropertyAttrs(props);
272 !hasAllIvarsBacked(props)) {
276 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I) {
450 bool hasIvarAssignedAPlusOneObject(PropsTy &props) const {
451 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I) {
461 bool hasIvarWithExplicitOwnership(PropsTy &props) const {
462 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I) {
475 bool hasAllIvarsBacked(PropsTy &props) const {
476 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I)
487 QualType getPropertyType(PropsTy &props) const {
488 assert(!props.empty());
489 QualType ty = props[0].PropD->getType();
492 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I)
500 getPropertyAttrs(PropsTy &props) const {
501 assert(!props.empty());
503 attrs = props[0].PropD->getPropertyAttributesAsWritten();
506 props.begin(), E = props.end(); I != E; ++I)