summaryrefslogtreecommitdiff
path: root/libobjc/objects.c
diff options
context:
space:
mode:
authorNicola Pero <nicola.pero@meta-innovation.com>2010-10-11 02:36:32 +0000
committerNicola Pero <nicola@gcc.gnu.org>2010-10-11 02:36:32 +0000
commitfdcbbfe70c66b9c793f7e0cde99e1acdbc299990 (patch)
treef2b370a071fcf2d2a1803013ffb11cafc329f866 /libobjc/objects.c
parentf3660703cb78861bb89b261524a71f8c04d61e95 (diff)
downloadgcc-fdcbbfe70c66b9c793f7e0cde99e1acdbc299990.tar.gz
In libobjc/: 2010-10-11 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/: 2010-10-11 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (C_SOURCE_FILES): Added ivars.c. * ivars.c: New. * objc/objc.h: Updated comments. * objc/runtime.h (object_getClass): New. (object_getClassName): New. (object_setClass): New. (class_getInstanceVariable): New. (object_getIndexedIvars): New. (object_getInstanceVariable): New. (object_setInstanceVariable): New. (object_getIvar): New. (object_setIvar): New. (ivar_getName): New. (ivar_getOffset): New. (ivar_getTypeEncoding): New. * objc-private/module-abi-8.h (struct objc_class): Added. * objects.c (object_getClassName): New. (object_setClass): New. From-SVN: r165269
Diffstat (limited to 'libobjc/objects.c')
-rw-r--r--libobjc/objects.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/libobjc/objects.c b/libobjc/objects.c
index d37a95d17b4..2562be55f24 100644
--- a/libobjc/objects.c
+++ b/libobjc/objects.c
@@ -102,6 +102,29 @@ object_dispose (id object)
return nil;
}
+const char *
+object_getClassName (id object)
+{
+ if (object != nil)
+ return object->class_pointer->name;
+ else
+ return "Nil";
+}
+
+Class
+object_setClass (id object, Class class_)
+{
+ if (object == nil)
+ return Nil;
+ else
+ {
+ Class old_class = object->class_pointer;
+
+ object->class_pointer = class_;
+ return old_class;
+ }
+}
+
/*
Hook functions for memory allocation and disposal. Deprecated
and currently unused.