@@ -31,26 +31,26 @@ @interface OFSet_placeholder: OFSet @end @implementation OFSet_placeholder -- init +- (instancetype)init { return (id)[[OFSet_hashtable alloc] init]; } -- initWithSet: (OFSet *)set +- (instancetype)initWithSet: (OFSet *)set { return (id)[[OFSet_hashtable alloc] initWithSet: set]; } -- initWithArray: (OFArray *)array +- (instancetype)initWithArray: (OFArray *)array { return (id)[[OFSet_hashtable alloc] initWithArray: array]; } -- initWithObjects: (id)firstObject, ... +- (instancetype)initWithObjects: (id)firstObject, ... { id ret; va_list arguments; va_start(arguments, firstObject); @@ -59,35 +59,35 @@ va_end(arguments); return ret; } -- initWithObjects: (id const *)objects - count: (size_t)count +- (instancetype)initWithObjects: (id const *)objects + count: (size_t)count { return (id)[[OFSet_hashtable alloc] initWithObjects: objects count: count]; } -- initWithObject: (id)firstObject - arguments: (va_list)arguments +- (instancetype)initWithObject: (id)firstObject + arguments: (va_list)arguments { return (id)[[OFSet_hashtable alloc] initWithObject: firstObject arguments: arguments]; } -- initWithSerialization: (OFXMLElement *)element +- (instancetype)initWithSerialization: (OFXMLElement *)element { return (id)[[OFSet_hashtable alloc] initWithSerialization: element]; } -- retain +- (instancetype)retain { return self; } -- autorelease +- (instancetype)autorelease { return self; } - (void)release @@ -105,11 +105,11 @@ { if (self == [OFSet class]) placeholder.isa = [OFSet_placeholder class]; } -+ alloc ++ (instancetype)alloc { if (self == [OFSet class]) return (id)&placeholder; return [super alloc]; @@ -148,11 +148,11 @@ { return [[[self alloc] initWithObjects: objects count: count] autorelease]; } -- init +- (instancetype)init { if (object_getClass(self) == [OFSet class]) { @try { [self doesNotRecognizeSelector: _cmd]; } @catch (id e) { @@ -164,27 +164,27 @@ } return [super init]; } -- initWithSet: (OFSet *)set +- (instancetype)initWithSet: (OFSet *)set { OF_INVALID_INIT_METHOD } -- initWithArray: (OFArray *)array +- (instancetype)initWithArray: (OFArray *)array { OF_INVALID_INIT_METHOD } -- initWithObjects: (id const *)objects +- (instancetype)initWithObjects: (id const *)objects count: (size_t)count { OF_INVALID_INIT_METHOD } -- (id)initWithObjects: (id)firstObject, ... +- (instancetype)initWithObjects: (id)firstObject, ... { id ret; va_list arguments; va_start(arguments, firstObject); @@ -193,17 +193,17 @@ va_end(arguments); return ret; } -- initWithObject: (id)firstObject - arguments: (va_list)arguments +- (instancetype)initWithObject: (id)firstObject + arguments: (va_list)arguments { OF_INVALID_INIT_METHOD } -- initWithSerialization: (OFXMLElement *)element +- (instancetype)initWithSerialization: (OFXMLElement *)element { OF_INVALID_INIT_METHOD } - (size_t)count @@ -337,16 +337,16 @@ objc_autoreleasePoolPop(pool); return ret; } -- copy +- (id)copy { return [self retain]; } -- mutableCopy +- (id)mutableCopy { return [[OFMutableSet alloc] initWithSet: self]; } - (bool)isSubsetOfSet: (OFSet *)set