Hello all,
here's a issue, I'm not too sure about.
In NSArray.m I see:
@implementation NSArray
...
+ (id) allocWithZone: (NSZone*)z {
if (self == NSArrayClass) {
...
} else { // != NSArrayClass, e.g. GSArrayClass
return NSAllocateObject(self, 0, z);
}
}
In GSArray.m, something similar:
@interface GSArray : NSArray
...
@implementation GSArray
...
+ (id) allocWithZone: (NSZone*)zone
{
GSArray *array = NSAllocateObject(self, 0, zone);
return array;
}
To all of my knowledge, the first implementation makes the
second obsolete?
The reason I came across such an issue is, on NeXT runtime
behavior_class_add_class() makes major trouble. A possible
conclusion might be, we have to get rid of behavior adding on
NeXT runtime, at least in +initialize methods.
In all occurences of behavior_class_add_class(), some GS* class
is involved. I'm trying to find out why all these GS* classes
exist.
Is it OK to consider behavior adding as some sort of multiple
inheritance trough the backdoor?
Cheers,
Markus
- - - - - - - - - - - - - - - - - - -
Dipl. Ing. Markus Hitter
http://www.jump-ing.de/
_______________________________________________
Bug-gnustep mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-gnustep