diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog index bef28fb9dc5548afcde1764eb42acd0e55c4d46a..fdd0b67e1a44840b0557fb4b1abc06532c9b17cc 100644 --- a/libobjc/ChangeLog +++ b/libobjc/ChangeLog @@ -1,3 +1,12 @@ +2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> + + * Protocol.m: Moved all methods, with the exception of -isEqual:, + into the 'Deprecated' category. + * objc/Protocol.h: Removed all methods, moved to + objc/deprecated/Protocol.h. Include objc/deprecated/Protocol.h. + * objc/deprecated/Protocol.h: New. + * Makefile.in (OBJC_DEPRECATED_H): Added Protocol.h. + 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> * init.c: Include objc-private/selector.h. Do not declare diff --git a/libobjc/Makefile.in b/libobjc/Makefile.in index 2051b3eecfb107c30887ca84a53abd31b85d2ffa..0040511bf614ebe61d750f11192a363fcd04ee1f 100644 --- a/libobjc/Makefile.in +++ b/libobjc/Makefile.in @@ -135,6 +135,7 @@ OBJC_DEPRECATED_H = \ METHOD_NULL.h \ MetaClass.h \ Object.h \ + Protocol.h \ STR.h \ hash.h \ objc-list.h \ diff --git a/libobjc/Protocol.m b/libobjc/Protocol.m index 27c5c7643294b86d6f4862bb32a3ed79a6c54520..7c9207510653c01f91671396cf502327c126d78b 100644 --- a/libobjc/Protocol.m +++ b/libobjc/Protocol.m @@ -27,8 +27,14 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "objc-private/module-abi-8.h" #include "objc/Protocol.h" - @implementation Protocol +- (BOOL) isEqual: (id)obj +{ + return protocol_isEqual (self, obj); +} +@end + +@implementation Protocol (Deprecated) - (const char *)name { @@ -97,9 +103,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - (unsigned) hash { /* Compute a hash of the protocol_name; use the same hash algorithm - * that we use for class names; protocol names and class names are - * somewhat similar types of string spaces. - */ + that we use for class names; protocol names and class names are + somewhat similar types of string spaces. */ int hash = 0, index; for (index = 0; protocol_name[index] != '\0'; index++) @@ -112,9 +117,4 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see return hash; } -- (BOOL) isEqual: (id)obj -{ - return protocol_isEqual (self, obj); -} @end - diff --git a/libobjc/objc/Protocol.h b/libobjc/objc/Protocol.h index ad4bbd33d95e8baa73108dfdaa545c95ef870b33..e230940279a757c77b11287423cbc9c18194582b 100644 --- a/libobjc/objc/Protocol.h +++ b/libobjc/objc/Protocol.h @@ -39,24 +39,15 @@ extern "C" { struct objc_protocol_list *protocol_list; struct objc_method_description_list *instance_methods, *class_methods; } +@end -/* The following methods have been replaced by +/* The Protocol methods have been replaced by protocol_getName() protocol_conformsToProtocol() protocol_getMethodDescription() */ -/* Obtaining attributes intrinsic to the protocol */ -- (const char *)name; - -/* Testing protocol conformance */ -- (BOOL) conformsTo: (Protocol *)aProtocolObject; - -/* Looking up information specific to a protocol */ -- (struct objc_method_description *) descriptionForInstanceMethod:(SEL)aSel; -- (struct objc_method_description *) descriptionForClassMethod:(SEL)aSel; - -@end +#include "deprecated/Protocol.h" #ifdef __cplusplus } diff --git a/libobjc/objc/deprecated/Protocol.h b/libobjc/objc/deprecated/Protocol.h new file mode 100644 index 0000000000000000000000000000000000000000..7a77f51a0ddf55d6738e041b3c00de3c2b266fca --- /dev/null +++ b/libobjc/objc/deprecated/Protocol.h @@ -0,0 +1,13 @@ +/* The following methods were deprecated in GCC 4.6.0 and will be + removed in the next GCC release. */ +@interface Protocol (Deprecated) +/* Obtaining attributes intrinsic to the protocol */ +- (const char *)name; + +/* Testing protocol conformance */ +- (BOOL) conformsTo: (Protocol *)aProtocolObject; + +/* Looking up information specific to a protocol */ +- (struct objc_method_description *) descriptionForInstanceMethod:(SEL)aSel; +- (struct objc_method_description *) descriptionForClassMethod:(SEL)aSel; +@end