Modify the interfaces of all collection classes to be compatible with the

new lightweight generics implemenation. (Newer MacOS X/iOS code assuming 
the presence of the generics annotations can otherwise not be compiled with
GNUstep). This should be well-behaved under clang and gcc both. 

Fix NSCache which was copying the cache keys when it really shouldn't
have. Added a few test cases for eviction behaviour.

Few smaller tweaks to avoid compiler warnings.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39406 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Niels Grewe 2016-02-22 21:04:18 +00:00
parent 4851131f49
commit 28c824a78a
14 changed files with 541 additions and 273 deletions

View file

@ -0,0 +1,17 @@
#import "ObjectTesting.h"
#import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSCache.h>
int main()
{
NSAutoreleasePool *arp = [NSAutoreleasePool new];
NSCache *testObj;
testObj = [[NSCache new] autorelease];
[testObj setObject: @"hello" forKey: @"there"];
test_alloc(@"NSCache");
test_NSObject(@"NSCache", [NSArray arrayWithObject: testObj]);
[arp release]; arp = nil;
return 0;
}