* EOControl/EONSAddOns.h (GDL2_ActivateAllGDL2Categories):

Remove obsolete declaration.
	* EOControl/EONSAddOns.m (GDL2_ActivateAll): Remove.
	(GDL2_Activate): Add assertions for parameters.
	* EOControl/EOClassDescription.m (+[GDL2CDNSObject load])
	* EOControl/EOKeyValueCoding.m (+[GDL2KVCNSObject load])
	(+[GDL2KVCNSArray load], +[GDL2KVCNSDictionary load])
	(+[GDL2KVCNSMutableDictionary load]): Setup classes individually
	to insure the are available in the runtime.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30116 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
David Ayers 2010-04-09 17:44:00 +00:00
parent 04fcac2a87
commit c557edfd4d
5 changed files with 37 additions and 27 deletions

View file

@ -1,5 +1,15 @@
2010-04-09 David Ayers <ayers@fsfe.org>
* EOControl/EONSAddOns.h (GDL2_ActivateAllGDL2Categories):
Remove obsolete declaration.
* EOControl/EONSAddOns.m (GDL2_ActivateAll): Remove.
(GDL2_Activate): Add assertions for parameters.
* EOControl/EOClassDescription.m (+[GDL2CDNSObject load])
* EOControl/EOKeyValueCoding.m (+[GDL2KVCNSObject load])
(+[GDL2KVCNSArray load], +[GDL2KVCNSDictionary load])
(+[GDL2KVCNSMutableDictionary load]): Setup classes individually
to insure the are available in the runtime.
* EOControl/EOClassDescription.m
* EOControl/EOKeyValueCoding.m: Add declartions for method
replacement hack.

View file

@ -748,6 +748,10 @@ fromInsertionInEditingContext: (EOEditingContext *)editingContext
@end
@implementation GDL2CDNSObject
+ (void)load
{
GDL2_Activate(GSClassFromName("NSObject"), self);
}
// when you enable the NSDebugMLLogs here you will have a loop. dave
- (EOClassDescription *)classDescription
{

View file

@ -109,6 +109,11 @@ initialize(void)
@implementation GDL2KVCNSObject
+ (void)load
{
GDL2_Activate(GSClassFromName("NSObject"), self);
}
/* This is what -base(add) will call. It should invoke what the API
specifies should be overridden. */
- (void) setNilValueForKey: (NSString*)aKey
@ -250,6 +255,10 @@ initialize(void)
@end
@implementation GDL2KVCNSArray
+ (void)load
{
GDL2_Activate(GSClassFromName("NSArray"), self);
}
/**
* EOKeyValueCoding protocol<br/>
* This overrides NSObjects implementation of this method.
@ -561,6 +570,11 @@ initialize(void)
@end
@implementation GDL2KVCNSDictionary
+ (void)load
{
GDL2_Activate(GSClassFromName("NSDictionary"), self);
}
/**
* Returns the object stored in the dictionary for this key.
* Unlike Foundation, this method may return objects for keys other than
@ -868,6 +882,10 @@ initialize(void)
@end
@implementation GDL2KVCNSMutableDictionary
+ (void)load
{
GDL2_Activate(GSClassFromName("NSMutableDictionary"), self);
}
/**
* Method to augment the NSKeyValueCoding implementation
* to account for added functionality such as quoted key paths.

View file

@ -53,10 +53,6 @@ GSUseStrictWO451Compatibility(NSString *key);
GDL2CONTROL_EXPORT void
GDL2_Activate(Class sup, Class cls);
GDL2CONTROL_EXPORT void
GDL2_ActivateAllGDL2Categories(void);
@interface NSObject (NSObjectPerformingSelector)
- (NSArray *)resultsOfPerformingSelector: (SEL)sel
withEachObjectInArray: (NSArray *)array;

View file

@ -1,7 +1,8 @@
/**
EONSAddOns.m <title>EONSAddOns</title>
Copyright (C) 2000-2002,2003,2004,2005 Free Software Foundation, Inc.
Copyright (C) 2000-2002,2003,2004,2005,2006,2007,2010
Free Software Foundation, Inc.
Author: Manuel Guesdon <mguesdon@orange-concept.com>
Date: October 2000
@ -61,6 +62,7 @@ RCS_ID("$Id$")
#include <EOControl/EODebug.h>
#include <limits.h>
#include <assert.h>
#include "EOPrivate.h"
@ -130,31 +132,11 @@ GDL2_DumpMethodList(Class cls, SEL sel, BOOL isInstance)
void
GDL2_Activate(Class sup, Class cls)
{
assert(sup!=Nil);
assert(cls!=Nil);
GSObjCAddClassOverride(sup, cls);
}
void
GDL2_ActivateAll(void)
{
/* EOKeyValueCoding */
GDL2_Activate([NSObject class], [GDL2KVCNSObject class]);
GDL2_Activate([NSArray class], [GDL2KVCNSArray class]);
GDL2_Activate([NSDictionary class], [GDL2KVCNSDictionary class]);
GDL2_Activate([NSMutableDictionary class],
[GDL2KVCNSMutableDictionary class]);
/* EOClassDescription */
GDL2_Activate([NSObject class], [GDL2CDNSObject class]);
}
@implementation NSObject (GDL2_Activate)
+(void)load
{
GDL2_ActivateAll();
}
@end
@implementation NSObject (NSObjectPerformingSelector)
- (NSArray*)resultsOfPerformingSelector: (SEL)sel