Methods to be added to a class must share the same superclass if they call super

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@29966 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2010-03-15 14:00:23 +00:00
parent a0d4e91907
commit 61e2658de9
4 changed files with 14 additions and 17 deletions

View file

@ -739,7 +739,7 @@ fromInsertionInEditingContext: (EOEditingContext *)editingContext
@end
@interface GDL2CDNSObject : NSObject
@interface GDL2CDNSObject
@end
@implementation GDL2CDNSObject

View file

@ -92,7 +92,7 @@ initialize(void)
#define INITIALIZE if (!initialized) initialize();
@interface GDL2KVCNSObject : NSObject
@interface GDL2KVCNSObject
@end
@implementation GDL2KVCNSObject
@ -226,7 +226,7 @@ initialize(void)
@end
@interface GDL2KVCNSArray : NSArray
@interface GDL2KVCNSArray : NSObject
@end
@implementation GDL2KVCNSArray
@ -526,7 +526,7 @@ initialize(void)
@end
@interface GDL2KVCNSDictionary : NSDictionary
@interface GDL2KVCNSDictionary : NSObject
@end
@implementation GDL2KVCNSDictionary
@ -826,7 +826,7 @@ initialize(void)
isSmart: (BOOL)smartFlag;
@end
@interface GDL2KVCNSMutableDictionary : NSMutableDictionary
@interface GDL2KVCNSMutableDictionary : NSDictionary
@end
@implementation GDL2KVCNSMutableDictionary

View file

@ -51,7 +51,7 @@ GDL2CONTROL_EXPORT BOOL
GSUseStrictWO451Compatibility(NSString *key);
GDL2CONTROL_EXPORT void
GDL2_Activate(Class cls, BOOL isInstance);
GDL2_Activate(Class sup, Class cls);
GDL2CONTROL_EXPORT void
GDL2_ActivateAllGDL2Categories(void);

View file

@ -123,26 +123,23 @@ GDL2_DumpMethodList(Class cls, SEL sel, BOOL isInstance)
}
void
GDL2_Activate(Class cls, BOOL isInstance)
GDL2_Activate(Class sup, Class cls)
{
if (NO == isInstance)
{
cls = object_getClass(cls);
}
GSObjCAddClassOverride([cls superclass], cls);
GSObjCAddClassOverride(sup, cls);
}
void
GDL2_ActivateAll(void)
{
/* EOKeyValueCoding */
GDL2_Activate([GDL2KVCNSObject class], YES);
GDL2_Activate([GDL2KVCNSArray class], YES);
GDL2_Activate([GDL2KVCNSDictionary class], YES);
GDL2_Activate([GDL2KVCNSMutableDictionary class], YES);
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([GDL2CDNSObject class], YES);
GDL2_Activate([NSObject class], [GDL2CDNSObject class]);
}