111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
{
self = [self init];
@try {
id obj;
[array addItem: &first];
while ((obj = va_arg(args, id)) != nil) {
[array addItem: &obj];
[obj retain];
}
} @catch (id e) {
[self release];
@throw e;
|
>
>
|
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
{
self = [self init];
@try {
id obj;
[array addItem: &first];
[first retain];
while ((obj = va_arg(args, id)) != nil) {
[array addItem: &obj];
[obj retain];
}
} @catch (id e) {
[self release];
@throw e;
|
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
|
OF_HASH_FINALIZE(hash);
return hash;
}
- (OFString*)description
{
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
OFMutableString *ret;
ret = [[self componentsJoinedByString: @",\n"] mutableCopy];
@try {
[ret prependString: @"(\n"];
[ret replaceOccurrencesOfString: @"\n"
withString: @"\n\t"];
[ret appendString: @"\n)"];
|
|
>
>
>
>
|
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
|
OF_HASH_FINALIZE(hash);
return hash;
}
- (OFString*)description
{
OFAutoreleasePool *pool;
OFMutableString *ret;
if ([array count] == 0)
return @"()";
pool = [[OFAutoreleasePool alloc] init];
ret = [[self componentsJoinedByString: @",\n"] mutableCopy];
@try {
[ret prependString: @"(\n"];
[ret replaceOccurrencesOfString: @"\n"
withString: @"\n\t"];
[ret appendString: @"\n)"];
|
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
|
[super dealloc];
}
@end
@implementation OFArrayEnumerator
- initWithArray: (OFArray*)array_
dataArray: (OFDataArray*)dataArray_
mutationsPointer: (unsigned long*)mutationsPtr_;
{
self = [super init];
array = [array_ retain];
dataArray = [dataArray_ retain];
count = [dataArray count];
mutations = (mutationsPtr_ != NULL ? *mutationsPtr_ : 0);
|
|
|
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
|
[super dealloc];
}
@end
@implementation OFArrayEnumerator
- initWithArray: (OFArray*)array_
dataArray: (OFDataArray*)dataArray_
mutationsPointer: (unsigned long*)mutationsPtr_
{
self = [super init];
array = [array_ retain];
dataArray = [dataArray_ retain];
count = [dataArray count];
mutations = (mutationsPtr_ != NULL ? *mutationsPtr_ : 0);
|