Object.h: Moved all the methods, with the exception of -class and -isEqual:, into ...

2010-12-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc/Object.h: Moved all the methods, with the exception of
	-class and -isEqual:, into ...
	* objc/deprecated/Object.h: here.
	* Object.m: Moved all the methods, with the exception of -class
	and -isEqual: into the 'Deprecated' category.

From-SVN: r167825
This commit is contained in:
Nicola Pero 2010-12-14 23:36:36 +00:00 committed by Nicola Pero
parent 173fb2ff62
commit 002d467548
4 changed files with 113 additions and 111 deletions

View File

@ -1,3 +1,11 @@
2010-12-14 Nicola Pero <nicola.pero@meta-innovation.com>
* objc/Object.h: Moved all the methods, with the exception of
-class and -isEqual:, into ...
* objc/deprecated/Object.h: here.
* Object.m: Moved all the methods, with the exception of -class
and -isEqual: into the 'Deprecated' category.
2010-12-14 Nicola Pero <nicola.pero@meta-innovation.com>
* objects.c (object_copy): Do not #undef as we are no longer

View File

@ -31,6 +31,22 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@implementation Object
- (Class)class
{
return object_get_class (self);
}
- (BOOL)isEqual: (id)anObject
{
return self == anObject;
}
@end
/* The following methods were deprecated in GCC 4.6.0 and will be
removed in the next GCC release. */
@implementation Object (Deprecated)
+ initialize
{
return self;
@ -76,11 +92,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
return [self copy];
}
- (Class)class
{
return object_get_class(self);
}
- (Class)superClass
{
return object_get_super_class(self);
@ -106,11 +117,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
return (size_t)self;
}
- (BOOL)isEqual:anObject
{
return self==anObject;
}
- (int)compare:(id)anotherObject;
{
if ([self isEqual:anotherObject])
@ -344,13 +350,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
class_set_version(self, aVersion);
return self;
}
@end
/* The following methods were deprecated in GCC 4.6.0 and will be
removed in the next GCC release.
*/
@implementation Object (Deprecated)
+ (int)streamVersion: (TypedStream*)aStream
{

View File

@ -33,103 +33,27 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
extern "C" {
#endif
/* The Object class is a minimal (but fully functional) root class
included with the runtime.
/* The Object class is a very minimal root class included with the
runtime. It is used as superclass for the two classes included
with the runtime, Protocol and NXConstantString.
It is mostly for testing the runtime; very handy in configure
tests, and when writing language/runtime testcases.
Because Objective-C allows multiple root classes, you can define
your own root class, different from Object.
Because Objective-C allows multiple root classes, a Foundation
library (such as GNUstep Base) is expected to provide its own root
class (typically called NSObject), fully integrated with the
library's own high-level features. If you are using such a
Foundation library, you should most likely use its root class for
everything and ignore Object.
*/
In particular, a Foundation library (such as GNUstep Base) is
expected to provide its own root class (typically called NSObject),
fully integrated with the library's own high-level features. It is
expected that you should always use and interact with NSObject, and
mostly ignore Object. */
/*
All classes are derived from Object. As such,
this is the overhead tacked onto those objects.
*/
/* All classes are derived from Object. As such, this is the overhead
tacked onto those objects. */
@interface Object
{
Class isa; /* A pointer to the instance's class structure */
Class isa; /* A pointer to the instance's class structure. */
}
/* Initializing classes and instances */
+ initialize;
- init;
/* Creating, freeing, and copying instances */
+ new;
+ alloc;
- free;
- copy;
- shallowCopy;
- deepen;
- deepCopy;
/* Identifying classes */
- (Class)class;
- (Class)superClass;
- (MetaClass)metaClass;
- (const char *)name;
/* Identifying and comparing objects */
- self;
- (unsigned int)hash;
- (BOOL)isEqual:anObject;
- (int)compare:(id)anotherObject;
/* Testing object type */
- (BOOL)isMetaClass;
- (BOOL)isClass;
- (BOOL)isInstance;
/* Testing inheritance relationships */
- (BOOL)isKindOf:(Class)aClassObject;
- (BOOL)isMemberOf:(Class)aClassObject;
- (BOOL)isKindOfClassNamed:(const char *)aClassName;
- (BOOL)isMemberOfClassNamed:(const char *)aClassName;
/* Testing class functionality */
+ (BOOL)instancesRespondTo:(SEL)aSel;
- (BOOL)respondsTo:(SEL)aSel;
/* Testing protocol conformance */
- (BOOL)conformsTo:(Protocol*)aProtocol;
/* Introspection */
+ (IMP)instanceMethodFor:(SEL)aSel;
- (IMP)methodFor:(SEL)aSel;
+ (struct objc_method_description *)descriptionForInstanceMethod:(SEL)aSel;
- (struct objc_method_description *)descriptionForMethod:(SEL)aSel;
/* Sending messages determined at run time */
- perform:(SEL)aSel;
- perform:(SEL)aSel with:anObject;
- perform:(SEL)aSel with:anObject1 with:anObject2;
/* Forwarding */
- (retval_t)forward:(SEL)aSel :(arglist_t)argFrame;
- (retval_t)performv:(SEL)aSel :(arglist_t)argFrame;
/* Posing */
+ poseAs:(Class)aClassObject;
- (Class)transmuteClassTo:(Class)aClassObject;
/* Enforcing intentions */
- subclassResponsibility:(SEL)aSel;
- notImplemented:(SEL)aSel;
- shouldNotImplement:(SEL)aSel;
/* Error handling */
- doesNotRecognize:(SEL)aSel;
- error:(const char *)aString, ...;
/* Archiving */
+ (int)version;
+ setVersion:(int)aVersion;
- (BOOL)isEqual: (id)anObject;
@end
#include "deprecated/Object.h"

View File

@ -1,8 +1,79 @@
@interface Object (Deprecated)
/* The following methods were deprecated in GCC 4.6.0 and will be
removed in the next GCC release.
*/
removed in the next GCC release. */
@interface Object (Deprecated)
/* Initializing classes and instances */
+ initialize;
- init;
/* Creating, freeing, and copying instances */
+ new;
+ alloc;
- free;
- copy;
- shallowCopy;
- deepen;
- deepCopy;
/* Identifying classes */
- (Class)superClass;
- (MetaClass)metaClass;
- (const char *)name;
/* Identifying and comparing objects */
- self;
- (unsigned int)hash;
- (int)compare:(id)anotherObject;
/* Testing object type */
- (BOOL)isMetaClass;
- (BOOL)isClass;
- (BOOL)isInstance;
/* Testing inheritance relationships */
- (BOOL)isKindOf:(Class)aClassObject;
- (BOOL)isMemberOf:(Class)aClassObject;
- (BOOL)isKindOfClassNamed:(const char *)aClassName;
- (BOOL)isMemberOfClassNamed:(const char *)aClassName;
/* Testing class functionality */
+ (BOOL)instancesRespondTo:(SEL)aSel;
- (BOOL)respondsTo:(SEL)aSel;
/* Testing protocol conformance */
- (BOOL)conformsTo:(Protocol*)aProtocol;
/* Introspection */
+ (IMP)instanceMethodFor:(SEL)aSel;
- (IMP)methodFor:(SEL)aSel;
+ (struct objc_method_description *)descriptionForInstanceMethod:(SEL)aSel;
- (struct objc_method_description *)descriptionForMethod:(SEL)aSel;
/* Sending messages determined at run time */
- perform:(SEL)aSel;
- perform:(SEL)aSel with:anObject;
- perform:(SEL)aSel with:anObject1 with:anObject2;
/* Forwarding */
- (retval_t)forward:(SEL)aSel :(arglist_t)argFrame;
- (retval_t)performv:(SEL)aSel :(arglist_t)argFrame;
/* Posing */
+ poseAs:(Class)aClassObject;
- (Class)transmuteClassTo:(Class)aClassObject;
/* Enforcing intentions */
- subclassResponsibility:(SEL)aSel;
- notImplemented:(SEL)aSel;
- shouldNotImplement:(SEL)aSel;
/* Error handling */
- doesNotRecognize:(SEL)aSel;
- error:(const char *)aString, ...;
/* Archiving */
+ (int)version;
+ setVersion:(int)aVersion;
+ (int)streamVersion: (TypedStream*)aStream; /* __attribute__ ((deprecated)) */
- read: (TypedStream*)aStream; /* __attribute__ ((deprecated)) */