In libobjc/: 2010-10-16 Nicola Pero <nicola.pero@meta-innovation.com>

In libobjc/:
2010-10-16  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc/runtime.h (class_getIvarLayout): New.
        (class_getWeakIvarLayout): New.
        (class_setIvarLayout): New.
        (class_setWeakIvarLayout): New.
        * ivars.c (class_getIvarLayout): New.
        (class_getWeakIvarLayout): New.
        (class_setIvarLayout): New.
        (class_setWeakIvarLayout): New.

From-SVN: r165533
This commit is contained in:
Nicola Pero 2010-10-16 00:04:37 +00:00 committed by Nicola Pero
parent 8dd6939deb
commit 3c44c190b6
3 changed files with 59 additions and 0 deletions

View File

@ -1,3 +1,14 @@
2010-10-16 Nicola Pero <nicola.pero@meta-innovation.com>
* objc/runtime.h (class_getIvarLayout): New.
(class_getWeakIvarLayout): New.
(class_setIvarLayout): New.
(class_setWeakIvarLayout): New.
* ivars.c (class_getIvarLayout): New.
(class_getWeakIvarLayout): New.
(class_setIvarLayout): New.
(class_setWeakIvarLayout): New.
2010-10-15 Nicola Pero <nicola.pero@meta-innovation.com>
* objc/runtime.h (class_copyPropertyList): New.

View File

@ -281,3 +281,29 @@ class_copyPropertyList (Class class_ __attribute__ ((__unused__)),
return NULL;
}
const char *
class_getIvarLayout (Class class_ __attribute__ ((__unused__)))
{
return NULL;
}
const char *
class_getWeakIvarLayout (Class class_ __attribute__ ((__unused__)))
{
return NULL;
}
void
class_setIvarLayout (Class class_ __attribute__ ((__unused__)),
const char *layout __attribute__ ((__unused__)))
{
return;
}
void
class_setWeakIvarLayout (Class class_ __attribute__ ((__unused__)),
const char *layout __attribute__ ((__unused__)))
{
return;
}

View File

@ -336,6 +336,28 @@ objc_EXPORT Property class_getProperty (Class class_, const char *propertyName);
objc_EXPORT Property * class_copyPropertyList
(Class class_, unsigned int *numberOfReturnedProperties);
/* Return the ivar layout for class 'class_'.
At the moment this function always returns NULL. */
objc_EXPORT const char * class_getIvarLayout (Class class_);
/* Return the weak ivar layout for class 'class_'.
At the moment this function always returns NULL. */
objc_EXPORT const char * class_getWeakIvarLayout (Class class_);
/* Set the ivar layout for class 'class_'.
At the moment, this function does nothing. */
objc_EXPORT void class_setIvarLayout (Class class_, const char *layout);
/* Set the weak ivar layout for class 'class_'.
At the moment, this function does nothing. With the GNU runtime,
you should use class_ivar_set_gcinvisible () to hide variables from
the Garbage Collector. */
objc_EXPORT void class_setWeakIvarLayout (Class class_, const char *layout);
/** Implementation: the following functions are in class.c. */