summaryrefslogtreecommitdiff
path: root/libobjc
diff options
context:
space:
mode:
authornicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>2010-12-19 00:54:27 +0000
committernicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>2010-12-19 00:54:27 +0000
commita56f5e1939fb446e1e17cb3b28d5e1ef2a29ae51 (patch)
tree38a2b1a032f14abb8b3915b79c6dae557d5a8910 /libobjc
parent46cb54adc79bd9757b0d679ef50cc5246574ecab (diff)
downloadgcc-a56f5e1939fb446e1e17cb3b28d5e1ef2a29ae51.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168040 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libobjc')
-rw-r--r--libobjc/ChangeLog9
-rw-r--r--libobjc/Makefile.in1
-rw-r--r--libobjc/Protocol.m18
-rw-r--r--libobjc/objc/Protocol.h15
-rw-r--r--libobjc/objc/deprecated/Protocol.h13
5 files changed, 35 insertions, 21 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index bef28fb9dc5..fdd0b67e1a4 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,5 +1,14 @@
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
__sel_register_typed_name.
* objc-private/selector.h (__sel_register_typed_name): Declare.
diff --git a/libobjc/Makefile.in b/libobjc/Makefile.in
index 2051b3eecfb..0040511bf61 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 27c5c764329..7c920751065 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 ad4bbd33d95..e230940279a 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 00000000000..7a77f51a0dd
--- /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