Made Object less magic. For now, because there are some weird people who want to use Objective-C without Foundation, Object is still included. If you compile without defining GNUSTEP (which GNUstep Make does automatically) then you get the old behaviour. If you build with GNUSTEP defined:
+load will not be sent until both NSObject and NSConstantString have been seen. NSObject will be set as the superclass for all metaclasses, not Object. This is in line with Cocoa and should make it a bit easier for people porting code who have categories on NSObject and are confused that they don't work as expected. Object and NXConstantString are now deprecated. They're staying here because I use them for producing reduced test cases for the runtime and compiler, but they shouldn't be used. I will probably remove them from the default build soon.main
parent
0698e968ee
commit
dfa14d5d34
@ -0,0 +1,7 @@
|
||||
#ifdef GNUSTEP
|
||||
static const char *ROOT_OBJECT_CLASS_NAME = "NSObject";
|
||||
static const char *CONSTANT_STRING_CLASS = "NSConstantString";
|
||||
#else
|
||||
static const char *ROOT_OBJECT_CLASS_NAME = "Object";
|
||||
static const char *CONSTANT_STRING_CLASS = "NXConstantString";
|
||||
#endif
|
||||
Loading…
Reference in New Issue