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
This commit is contained in:
Nicola Pero 2010-12-19 00:54:27 +00:00 committed by Nicola Pero
parent 1af5b8f553
commit c06a866409
5 changed files with 35 additions and 21 deletions

View File

@ -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> 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
* init.c: Include objc-private/selector.h. Do not declare * init.c: Include objc-private/selector.h. Do not declare

View File

@ -135,6 +135,7 @@ OBJC_DEPRECATED_H = \
METHOD_NULL.h \ METHOD_NULL.h \
MetaClass.h \ MetaClass.h \
Object.h \ Object.h \
Protocol.h \
STR.h \ STR.h \
hash.h \ hash.h \
objc-list.h \ objc-list.h \

View File

@ -27,8 +27,14 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "objc-private/module-abi-8.h" #include "objc-private/module-abi-8.h"
#include "objc/Protocol.h" #include "objc/Protocol.h"
@implementation Protocol @implementation Protocol
- (BOOL) isEqual: (id)obj
{
return protocol_isEqual (self, obj);
}
@end
@implementation Protocol (Deprecated)
- (const char *)name - (const char *)name
{ {
@ -97,9 +103,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- (unsigned) hash - (unsigned) hash
{ {
/* Compute a hash of the protocol_name; use the same hash algorithm /* Compute a hash of the protocol_name; use the same hash algorithm
* that we use for class names; protocol names and class names are that we use for class names; protocol names and class names are
* somewhat similar types of string spaces. somewhat similar types of string spaces. */
*/
int hash = 0, index; int hash = 0, index;
for (index = 0; protocol_name[index] != '\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; return hash;
} }
- (BOOL) isEqual: (id)obj
{
return protocol_isEqual (self, obj);
}
@end @end

View File

@ -39,24 +39,15 @@ extern "C" {
struct objc_protocol_list *protocol_list; struct objc_protocol_list *protocol_list;
struct objc_method_description_list *instance_methods, *class_methods; 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_getName()
protocol_conformsToProtocol() protocol_conformsToProtocol()
protocol_getMethodDescription() protocol_getMethodDescription()
*/ */
/* Obtaining attributes intrinsic to the protocol */ #include "deprecated/Protocol.h"
- (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
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -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