Differences From Artifact [b025a39cbb]:
- File
src/OFArray.m
— part of check-in
[27d8eb922d]
at
2023-07-15 23:44:25
on branch trunk
— Never set mutationsPtr to self
The Apple runtime can store the retain count in isa, so
retaining/releasing an object would suddenly make it seem like it was
mutated. (user: js, size: 17476) [annotate] [blame] [check-ins using] [more...]
To Artifact [baf90bc720]:
- File src/OFArray.m — part of check-in [a6f520157a] at 2023-08-08 15:32:43 on branch trunk — A few minor cleanups (user: js, size: 17548) [annotate] [blame] [check-ins using]
| ︙ | ︙ | |||
106 107 108 109 110 111 112 |
}
@end
@implementation OFArray
+ (void)initialize
{
if (self == [OFArray class])
| | | 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
}
@end
@implementation OFArray
+ (void)initialize
{
if (self == [OFArray class])
object_setClass((id)&placeholder, [OFPlaceholderArray class]);
}
+ (instancetype)alloc
{
if (self == [OFArray class])
return (id)&placeholder;
|
| ︙ | ︙ | |||
154 155 156 157 158 159 160 |
{
return [[[self alloc] initWithObjects: objects
count: count] autorelease];
}
- (instancetype)init
{
| | > | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 |
{
return [[[self alloc] initWithObjects: objects
count: count] autorelease];
}
- (instancetype)init
{
if ([self isMemberOfClass: [OFArray class]] ||
[self isMemberOfClass: [OFMutableArray class]]) {
@try {
[self doesNotRecognizeSelector: _cmd];
} @catch (id e) {
[self release];
@throw e;
}
|
| ︙ | ︙ |