mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-23 10:54:07 +08:00
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:
parent
1af5b8f553
commit
c06a866409
@ -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
|
||||
|
@ -135,6 +135,7 @@ OBJC_DEPRECATED_H = \
|
||||
METHOD_NULL.h \
|
||||
MetaClass.h \
|
||||
Object.h \
|
||||
Protocol.h \
|
||||
STR.h \
|
||||
hash.h \
|
||||
objc-list.h \
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
|
13
libobjc/objc/deprecated/Protocol.h
Normal file
13
libobjc/objc/deprecated/Protocol.h
Normal 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
|
Loading…
Reference in New Issue
Block a user