diff options
author | Nicola Pero <nicola.pero@meta-innovation.com> | 2010-12-14 23:36:36 +0000 |
---|---|---|
committer | Nicola Pero <nicola@gcc.gnu.org> | 2010-12-14 23:36:36 +0000 |
commit | 002d4675481348987b4f7191e61e12e4e7ac9b4e (patch) | |
tree | 51cf821b43e4c3619d5c7f664fc6aeb9b0caff64 /libobjc/objc | |
parent | 173fb2ff62e71fe86e311cd7135da4383060ff64 (diff) | |
download | gcc-002d4675481348987b4f7191e61e12e4e7ac9b4e.zip gcc-002d4675481348987b4f7191e61e12e4e7ac9b4e.tar.gz gcc-002d4675481348987b4f7191e61e12e4e7ac9b4e.tar.bz2 |
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
Diffstat (limited to 'libobjc/objc')
-rw-r--r-- | libobjc/objc/Object.h | 110 | ||||
-rw-r--r-- | libobjc/objc/deprecated/Object.h | 77 |
2 files changed, 91 insertions, 96 deletions
diff --git a/libobjc/objc/Object.h b/libobjc/objc/Object.h index e5c32f1..379e906 100644 --- a/libobjc/objc/Object.h +++ b/libobjc/objc/Object.h @@ -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. - - 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, 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. -*/ - -/* - 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 */ -} +/* 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. - /* Initializing classes and instances */ -+ initialize; -- init; + Because Objective-C allows multiple root classes, you can define + your own root class, different from Object. - /* Creating, freeing, and copying instances */ -+ new; -+ alloc; -- free; -- copy; -- shallowCopy; -- deepen; -- deepCopy; + 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. */ - /* Identifying classes */ +/* 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)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" diff --git a/libobjc/objc/deprecated/Object.h b/libobjc/objc/deprecated/Object.h index 0241f0f..e15cf7d 100644 --- a/libobjc/objc/deprecated/Object.h +++ b/libobjc/objc/deprecated/Object.h @@ -1,8 +1,79 @@ +/* The following methods were deprecated in GCC 4.6.0 and will be + 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; -/* The following methods were deprecated in GCC 4.6.0 and will be - removed in the next GCC release. -*/ + (int)streamVersion: (TypedStream*)aStream; /* __attribute__ ((deprecated)) */ - read: (TypedStream*)aStream; /* __attribute__ ((deprecated)) */ |