if (HasIvarAssignedAPlusOneObject ||
(Pass.isGCMigration() && !hasGCWeak(props, atLoc)))
- return doPropAction(PropAction_MaybeAddStrong, props, atLoc);
+ return; // 'strong' by default.
return doPropAction(PropAction_MaybeAddWeakOrUnsafe, props, atLoc);
}
@property (assign) I4Impl * pds;
@property (assign) I4Impl * pds2;
@property (readwrite) I4Impl * pds3;
+@property (readonly) I4Impl * pds4;
@end
@implementation I4Impl
-@synthesize pw1, pw2, ps, pds, pds2, pds3;
+@synthesize pw1, pw2, ps, pds, pds2, pds3, pds4;
-(void)test1:(CFTypeRef *)cft {
id x = NSMakeCollectable(cft);
@property I4Impl * pds;
@property I4Impl * pds2;
@property (readwrite) I4Impl * pds3;
+@property (readonly) I4Impl * pds4;
@end
@implementation I4Impl
-@synthesize pw1, pw2, ps, pds, pds2, pds3;
+@synthesize pw1, pw2, ps, pds, pds2, pds3, pds4;
-(void)test1:(CFTypeRef *)cft {
id x = CFBridgingRelease(cft);
@property (unsafe_unretained) NSObject *not_safe2;
@property (unsafe_unretained) Forw *not_safe3;
@property (readonly) Foo *assign_plus1;
-@property (strong, readonly) Foo *assign_plus2;
-@property (strong, readonly) Foo *assign_plus3;
+@property (readonly) Foo *assign_plus2;
+@property (readonly) Foo *assign_plus3;
@property (weak) Foo *no_user_ivar1;
@property (weak, readonly) Foo *no_user_ivar2;