@@ -44,21 +44,21 @@ @interface OFArray_placeholder: OFArray @end @implementation OFArray_placeholder -- init +- (instancetype)init { return (id)[[OFArray_adjacent alloc] init]; } -- initWithObject: (id)object +- (instancetype)initWithObject: (id)object { return (id)[[OFArray_adjacent alloc] initWithObject: object]; } -- initWithObjects: (id)firstObject, ... +- (instancetype)initWithObjects: (id)firstObject, ... { id ret; va_list arguments; va_start(arguments, firstObject); @@ -67,40 +67,40 @@ va_end(arguments); return ret; } -- initWithObject: (id)firstObject - arguments: (va_list)arguments +- (instancetype)initWithObject: (id)firstObject + arguments: (va_list)arguments { return (id)[[OFArray_adjacent alloc] initWithObject: firstObject arguments: arguments]; } -- initWithArray: (OFArray *)array +- (instancetype)initWithArray: (OFArray *)array { return (id)[[OFArray_adjacent alloc] initWithArray: array]; } -- initWithObjects: (id const *)objects - count: (size_t)count +- (instancetype)initWithObjects: (id const *)objects + count: (size_t)count { return (id)[[OFArray_adjacent alloc] initWithObjects: objects count: count]; } -- initWithSerialization: (OFXMLElement *)element +- (instancetype)initWithSerialization: (OFXMLElement *)element { return (id)[[OFArray_adjacent alloc] initWithSerialization: element]; } -- retain +- (instancetype)retain { return self; } -- autorelease +- (instancetype)autorelease { return self; } - (void)release @@ -118,11 +118,11 @@ { if (self == [OFArray class]) placeholder.isa = [OFArray_placeholder class]; } -+ alloc ++ (instancetype)alloc { if (self == [OFArray class]) return (id)&placeholder; return [super alloc]; @@ -161,11 +161,11 @@ { return [[[self alloc] initWithObjects: objects count: count] autorelease]; } -- init +- (instancetype)init { if (object_getClass(self) == [OFArray class]) { @try { [self doesNotRecognizeSelector: _cmd]; } @catch (id e) { @@ -177,21 +177,21 @@ } return [super init]; } -- initWithObject: (id)object +- (instancetype)initWithObject: (id)object { if (object == nil) { [self release]; @throw [OFInvalidArgumentException exception]; } return [self initWithObjects: object, nil]; } -- initWithObjects: (id)firstObject, ... +- (instancetype)initWithObjects: (id)firstObject, ... { id ret; va_list arguments; va_start(arguments, firstObject); @@ -200,28 +200,28 @@ va_end(arguments); return ret; } -- initWithObject: (id)firstObject - arguments: (va_list)arguments +- (instancetype)initWithObject: (id)firstObject + arguments: (va_list)arguments +{ + OF_INVALID_INIT_METHOD +} + +- (instancetype)initWithArray: (OFArray *)array { OF_INVALID_INIT_METHOD } -- initWithArray: (OFArray *)array +- (instancetype)initWithObjects: (id const *)objects + count: (size_t)count { OF_INVALID_INIT_METHOD } -- initWithObjects: (id const *)objects - count: (size_t)count -{ - OF_INVALID_INIT_METHOD -} - -- initWithSerialization: (OFXMLElement *)element +- (instancetype)initWithSerialization: (OFXMLElement *)element { OF_INVALID_INIT_METHOD } - (size_t)count @@ -251,16 +251,16 @@ inRange: of_range(0, count)]; return buffer; } -- copy +- (id)copy { return [self retain]; } -- mutableCopy +- (id)mutableCopy { return [[OFMutableArray alloc] initWithArray: self]; } - (id)objectAtIndex: (size_t)index @@ -946,12 +946,12 @@ } #endif @end @implementation OFArrayEnumerator -- initWithArray: (OFArray *)array - mutationsPtr: (unsigned long *)mutationsPtr +- (instancetype)initWithArray: (OFArray *)array + mutationsPtr: (unsigned long *)mutationsPtr { self = [super init]; _array = [array retain]; _count = [array count];