aboutsummaryrefslogtreecommitdiff
path: root/libobjc/Protocol.m
diff options
context:
space:
mode:
authorNicola Pero <nicola.pero@meta-innovation.com>2011-06-07 19:37:35 +0000
committerNicola Pero <nicola@gcc.gnu.org>2011-06-07 19:37:35 +0000
commit80e4b9e501e4e702f1c32287c1ff57ca84054a7c (patch)
treed40a3876f7d42510a372e2033d14443ddb800f2a /libobjc/Protocol.m
parentbb5b1f5e7379c42894fb935ec746ca67caf8521d (diff)
downloadgcc-80e4b9e501e4e702f1c32287c1ff57ca84054a7c.zip
gcc-80e4b9e501e4e702f1c32287c1ff57ca84054a7c.tar.gz
gcc-80e4b9e501e4e702f1c32287c1ff57ca84054a7c.tar.bz2
In libobjc/: 2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/: 2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com> Removed the Traditional Objective-C runtime public API. * Makefile.in (OBJC_DEPRECATED_H): Variable removed. (install-headers): Do not create the objc/deprecated directory and do not install the deprecated headers. (OBJC_H): Removed encoding.h and objc-api.h. * Object.m: Removed all methods with the exception of -class and -isEqual:. Updated includes. ([-class]): Use Modern API. * objc/Object.h: Do not include deprecated/Object.h. * objc/deprecated/Object.h: Removed. * linking.m (__objc_linking): Call [Object class] instead of [Object name]. * Protocol.m: Removed all methods with the exception of -isEqual:. Updated includes. * objc/Protocol.h: Do not include deprecated/Protocol.h. * objc/deprecated/Protocol.h: Removed. * objc/deprecated/struct_objc_symtab.h: Removed. * objc/deprecated/struct_objc_module.h: Removed. * objc/deprecated/struct_objc_ivar.h: Removed. * objc/deprecated/struct_objc_ivar_list.h: Removed. * objc/deprecated/struct_objc_method.h: Removed. * objc/deprecated/struct_objc_method_list.h: Removed. * objc/deprecated/struct_objc_protocol_list.h: Removed. * objc/deprecated/struct_objc_category.h: Removed. * objc/deprecated/MetaClass.h: Removed. * objc/deprecated/objc_msg_sendv.h: Removed. * objc/deprecated/README: Removed. * objc/deprecated/struct_objc_class.h: Removed. * objc/deprecated/struct_objc_protocol.h: Removed. * objc/deprecated/struct_objc_selector.h: Removed. * objc/encoding.h: Removed. * objc/message.h (struct objc_super): Removed the definition for the Traditional Objective-C runtime API. * objc/objc.h: Do not include objc/objc-decls.h. deprecated/struct_objc_selector.h, deprecated/MetaClass.h, deprecated/struct_objc_class.h, deprecated/struct_objc_protocol.h and deprecated/objc_msg_sendv.h. Uncommented new definition of Protocol *. * objc/objc-api.h: Removed. * objc/runtime.h: Updated comments. Removed check to detect concurrent usage of Traditional and Modern APIs. * objc-private/module-abi-8.h: Always define struct objc_class and struct objc_protocol. (struct objc_protocol_list): Changed type of 'list' argument from 'Protocol *' to 'struct objc_protocol *'. (class_get_instance_size): Added. * objc-private/protocols.h (__objc_protocols_add_protocol): Take a 'struct objc_protocol *' as argument, not a 'Protocol *'. * objc-private/runtime.h: Updated comments. * objc-private/selector.h (struct objc_selector, sel_eq): Added. * class.c: Include objc-private/selector.h. (objc_get_meta_class): Return a Class instead of a MetaClass. * encoding.c (method_get_next_argument): Removed. (method_get_first_argument): Removed. (method_get_nth_argument): Removed. * gc.c: Include objc/runtime.h instead of objc/encoding.h. Include objc-private/module-abi-8.h and ctype.h. * protocols.c (__objc_protocols_add_protocol): Take a 'struct objc_protocl *' as argument, not a 'Protocol *'. (class_addProtocol): Added casts to 'struct objc_protocol *' and 'Protocol *'. (class_copyProtocolList): Likewise. (protocol_conformsToProtocol): Likewise. (protocol_copyProtocolList): Likewise. * sarray.c: Include objc-private/module-abi-8.h. * sendmsg.c (method_get_next_argument): Removed. (method_get_first_argument): Removed. (method_get_nth_argument): Removed. (objc_msg_sendv): Removed. (arglist_t, retval_t): New. (class_get_class_method): Take a 'Class', not 'MetaClass', argument. * thr.c: Include module-abi-8.h. From-SVN: r174765
Diffstat (limited to 'libobjc/Protocol.m')
-rw-r--r--libobjc/Protocol.m86
1 files changed, 0 insertions, 86 deletions
diff --git a/libobjc/Protocol.m b/libobjc/Protocol.m
index 7c920751..400f2a2 100644
--- a/libobjc/Protocol.m
+++ b/libobjc/Protocol.m
@@ -24,7 +24,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "objc-private/common.h"
#include "objc/runtime.h"
-#include "objc-private/module-abi-8.h"
#include "objc/Protocol.h"
@implementation Protocol
@@ -33,88 +32,3 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
return protocol_isEqual (self, obj);
}
@end
-
-@implementation Protocol (Deprecated)
-
-- (const char *)name
-{
- return protocol_name;
-}
-
-- (BOOL) conformsTo: (Protocol *)aProtocolObject
-{
- return protocol_conformsToProtocol (self, aProtocolObject);
-}
-
-- (struct objc_method_description *) descriptionForInstanceMethod:(SEL)aSel
-{
- int i;
- struct objc_protocol_list* proto_list;
- struct objc_method_description *result;
-
- if (instance_methods)
- for (i = 0; i < instance_methods->count; i++)
- {
- if (sel_isEqual (instance_methods->list[i].name, aSel))
- return &(instance_methods->list[i]);
- }
-
- for (proto_list = protocol_list; proto_list; proto_list = proto_list->next)
- {
- size_t j;
- for (j=0; j < proto_list->count; j++)
- {
- if ((result = [proto_list->list[j]
- descriptionForInstanceMethod: aSel]))
- return result;
- }
- }
-
- return NULL;
-}
-
-- (struct objc_method_description *) descriptionForClassMethod:(SEL)aSel;
-{
- int i;
- struct objc_protocol_list* proto_list;
- struct objc_method_description *result;
-
- if (class_methods)
- for (i = 0; i < class_methods->count; i++)
- {
- if (sel_isEqual (class_methods->list[i].name, aSel))
- return &(class_methods->list[i]);
- }
-
- for (proto_list = protocol_list; proto_list; proto_list = proto_list->next)
- {
- size_t j;
- for (j=0; j < proto_list->count; j++)
- {
- if ((result = [proto_list->list[j]
- descriptionForClassMethod: aSel]))
- return result;
- }
- }
-
- return NULL;
-}
-
-- (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. */
- int hash = 0, index;
-
- for (index = 0; protocol_name[index] != '\0'; index++)
- {
- hash = (hash << 4) ^ (hash >> 28) ^ protocol_name[index];
- }
-
- hash = (hash ^ (hash >> 10) ^ (hash >> 20));
-
- return hash;
-}
-
-@end