Home | History | Annotate | Download | only in ARCMigrate

Lines Matching refs:props

86       PropsTy &props = AtProps[RawLoc];
87 props.push_back(Prop);
122 PropsTy &props = findAtLoc->second;
123 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I) {
135 PropsTy &props = I->second;
136 if (!getPropertyType(props)->isObjCRetainableType())
138 if (hasIvarWithExplicitARCOwnership(props))
142 rewriteProperty(props, atLoc);
148 PropsTy &props, SourceLocation atLoc,
151 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I)
163 return removeAssignForDefaultStrong(props, atLoc);
165 return rewriteAssign(props, atLoc);
167 return maybeAddWeakOrUnsafeUnretainedAttr(props, atLoc);
171 void rewriteProperty(PropsTy &props, SourceLocation atLoc) {
172 ObjCPropertyDecl::PropertyAttributeKind propAttrs = getPropertyAttrs(props);
182 return doPropAction(PropAction_RetainReplacedWithStrong, props, atLoc);
185 bool HasIvarAssignedAPlusOneObject = hasIvarAssignedAPlusOneObject(props);
189 return doPropAction(PropAction_AssignRemoved, props, atLoc);
190 return doPropAction(PropAction_AssignRewritten, props, atLoc);
194 (Pass.isGCMigration() && !hasGCWeak(props, atLoc)))
197 return doPropAction(PropAction_MaybeAddWeakOrUnsafe, props, atLoc);
200 void removeAssignForDefaultStrong(PropsTy &props,
206 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I) {
215 void rewriteAssign(PropsTy &props, SourceLocation atLoc) const {
216 bool canUseWeak = canApplyWeak(Pass.Ctx, getPropertyType(props),
219 (Pass.isGCMigration() && !hasGCWeak(props, atLoc)) ? "strong" :
226 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I) {
231 (Pass.isGCMigration() && !hasGCWeak(props, atLoc)) ? "__strong " :
244 void maybeAddWeakOrUnsafeUnretainedAttr(PropsTy &props,
246 bool canUseWeak = canApplyWeak(Pass.Ctx, getPropertyType(props),
254 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I) {
305 bool hasIvarAssignedAPlusOneObject(PropsTy &props) const {
306 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I) {
316 bool hasIvarWithExplicitARCOwnership(PropsTy &props) const {
320 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I) {
334 bool hasGCWeak(PropsTy &props, SourceLocation atLoc) const {
337 if (props.empty())
346 QualType getPropertyType(PropsTy &props) const {
347 assert(!props.empty());
348 QualType ty = props[0].PropD->getType().getUnqualifiedType();
351 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I)
359 getPropertyAttrs(PropsTy &props) const {
360 assert(!props.empty());
362 attrs = props[0].PropD->getPropertyAttributesAsWritten();
365 for (PropsTy::iterator I = props.begin(), E = props.end(); I != E; ++I)