Revert "Retain count fixes"

This reverts commit 544dcce482.
This commit is contained in:
rfm 2024-11-10 20:13:39 +00:00
parent 6681a3da47
commit c981920679
6 changed files with 21 additions and 111 deletions

View file

@ -1,55 +1,9 @@
#import <Foundation/NSAutoreleasePool.h>
#import "ObjectTesting.h"
#import <Foundation/NSMapTable.h>
@interface MyClass: NSObject
@end
@implementation MyClass
#if 1
- (oneway void) release
{
NSLog(@"releasing %u", (unsigned)[self retainCount]);
[super release];
}
- (id) retain
{
id result = [super retain];
NSLog(@"retained %u", (unsigned)[self retainCount]);
return result;
}
#endif
@end
int main()
{
NSAutoreleasePool *arp = [NSAutoreleasePool new];
NSMapTable *t;
MyClass *o;
int c;
t = [[NSMapTable alloc] initWithKeyOptions: NSMapTableObjectPointerPersonality
valueOptions: NSMapTableObjectPointerPersonality
capacity: 10];
o = [MyClass new];
c = [o retainCount];
PASS(c == 1, "initial retain count is one")
[t setObject: @"a" forKey: o];
PASS([o retainCount] == c + 1, "add map table key increments retain count")
// PASS(NSHashGet(t, o) == o, "object found in table")
[t removeObjectForKey: o];
PASS([o retainCount] == c, "remove map table key decrements retain count")
[t setObject: o forKey: @"a"];
PASS([o retainCount] == c + 1, "add map table val increments retain count")
[t removeObjectForKey: @"a"];
PASS([o retainCount] == c, "remove map table val decrements retain count")
NSAutoreleasePool *arp = [NSAutoreleasePool new];
[arp release]; arp = nil;
return 0;