From c06a8664093c40aad4e27e5329cce5bb37156109 Mon Sep 17 00:00:00 2001 From: Nicola Pero <nicola.pero@meta-innovation.com> Date: Sun, 19 Dec 2010 00:54:27 +0000 Subject: [PATCH] In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> In libobjc/: 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. From-SVN: r168040 --- libobjc/ChangeLog | 9 +++++++++ libobjc/Makefile.in | 1 + libobjc/Protocol.m | 18 +++++++++--------- libobjc/objc/Protocol.h | 15 +++------------ libobjc/objc/deprecated/Protocol.h | 13 +++++++++++++ 5 files changed, 35 insertions(+), 21 deletions(-) create mode 100644 libobjc/objc/deprecated/Protocol.h diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog index bef28fb9dc55..fdd0b67e1a44 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 2051b3eecfb1..0040511bf614 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 27c5c7643294..7c9207510653 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 ad4bbd33d95e..e230940279a7 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 000000000000..7a77f51a0ddf --- /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 -- GitLab