mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
The following from a patch by Matthias Klose <doko@cs.tu-berlin.de>
(sel_get_uid): Fix typo. (class_is_class, class_is_meta_class, object_is_class, object_is_instance, object_is_meta_class): New functions. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
22f5ce2ad1
commit
53ba731767
2 changed files with 82 additions and 2 deletions
|
@ -30,6 +30,8 @@
|
|||
|
||||
#if NeXT_runtime
|
||||
|
||||
#include <objc/objc-class.h>
|
||||
|
||||
#define arglist_t marg_list
|
||||
#define retval_t void*
|
||||
#define TypedStream NXTypedStream
|
||||
|
@ -56,7 +58,7 @@
|
|||
|
||||
#define class_create_instance(CLASS) class_createInstance(CLASS, 0)
|
||||
#define sel_get_name(ASEL) sel_getName(ASEL)
|
||||
#define sel_get_uid(METHODNAME) set_getUid(METHODNAME)
|
||||
#define sel_get_uid(METHODNAME) sel_getUid(METHODNAME)
|
||||
#define class_get_instance_method(CLASSPOINTER, SEL) \
|
||||
class_getInstanceMethod(CLASSPOINTER, SEL)
|
||||
#define class_get_class_method(CLASSPOINTER, SEL) \
|
||||
|
@ -79,6 +81,8 @@
|
|||
(((struct objc_class*)(CLASSPOINTER))->version)
|
||||
#define __objc_responds_to(OBJECT,SEL) \
|
||||
class_getInstanceMethod(object_get_class(OBJECT), SEL)
|
||||
#define CLS_ISCLASS(CLASSPOINTER) \
|
||||
((((struct objc_class*)(CLASSPOINTER))->info) & CLS_CLASS)
|
||||
#define CLS_ISMETA(CLASSPOINTER) \
|
||||
((((struct objc_class*)(CLASSPOINTER))->info) & CLS_META)
|
||||
#define objc_msg_lookup(OBJ,SEL) \
|
||||
|
@ -108,6 +112,42 @@ inline const char* objc_skip_offset (const char* type);
|
|||
const char* objc_skip_argspec (const char* type);
|
||||
unsigned objc_get_type_qualifiers (const char* type);
|
||||
|
||||
/* The following from GNU's objc/objc-api.h */
|
||||
|
||||
/* For functions which return Method_t */
|
||||
#define METHOD_NULL (Method_t)0
|
||||
|
||||
static inline BOOL
|
||||
class_is_class(Class* class)
|
||||
{
|
||||
return CLS_ISCLASS(class);
|
||||
}
|
||||
|
||||
static inline BOOL
|
||||
class_is_meta_class(Class* class)
|
||||
{
|
||||
return CLS_ISMETA(class);
|
||||
}
|
||||
|
||||
static inline BOOL
|
||||
object_is_class(id object)
|
||||
{
|
||||
return CLS_ISCLASS((Class*)object);
|
||||
}
|
||||
|
||||
static inline BOOL
|
||||
object_is_instance(id object)
|
||||
{
|
||||
return (object!=nil)&&CLS_ISCLASS(object_get_class(object));
|
||||
}
|
||||
|
||||
static inline BOOL
|
||||
object_is_meta_class(id object)
|
||||
{
|
||||
return CLS_ISMETA((Class*)object);
|
||||
}
|
||||
|
||||
|
||||
/* The following from GNU's objc/list.h */
|
||||
|
||||
#include <stdio.h>
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
|
||||
#if NeXT_runtime
|
||||
|
||||
#include <objc/objc-class.h>
|
||||
|
||||
#define arglist_t marg_list
|
||||
#define retval_t void*
|
||||
#define TypedStream NXTypedStream
|
||||
|
@ -56,7 +58,7 @@
|
|||
|
||||
#define class_create_instance(CLASS) class_createInstance(CLASS, 0)
|
||||
#define sel_get_name(ASEL) sel_getName(ASEL)
|
||||
#define sel_get_uid(METHODNAME) set_getUid(METHODNAME)
|
||||
#define sel_get_uid(METHODNAME) sel_getUid(METHODNAME)
|
||||
#define class_get_instance_method(CLASSPOINTER, SEL) \
|
||||
class_getInstanceMethod(CLASSPOINTER, SEL)
|
||||
#define class_get_class_method(CLASSPOINTER, SEL) \
|
||||
|
@ -79,6 +81,8 @@
|
|||
(((struct objc_class*)(CLASSPOINTER))->version)
|
||||
#define __objc_responds_to(OBJECT,SEL) \
|
||||
class_getInstanceMethod(object_get_class(OBJECT), SEL)
|
||||
#define CLS_ISCLASS(CLASSPOINTER) \
|
||||
((((struct objc_class*)(CLASSPOINTER))->info) & CLS_CLASS)
|
||||
#define CLS_ISMETA(CLASSPOINTER) \
|
||||
((((struct objc_class*)(CLASSPOINTER))->info) & CLS_META)
|
||||
#define objc_msg_lookup(OBJ,SEL) \
|
||||
|
@ -108,6 +112,42 @@ inline const char* objc_skip_offset (const char* type);
|
|||
const char* objc_skip_argspec (const char* type);
|
||||
unsigned objc_get_type_qualifiers (const char* type);
|
||||
|
||||
/* The following from GNU's objc/objc-api.h */
|
||||
|
||||
/* For functions which return Method_t */
|
||||
#define METHOD_NULL (Method_t)0
|
||||
|
||||
static inline BOOL
|
||||
class_is_class(Class* class)
|
||||
{
|
||||
return CLS_ISCLASS(class);
|
||||
}
|
||||
|
||||
static inline BOOL
|
||||
class_is_meta_class(Class* class)
|
||||
{
|
||||
return CLS_ISMETA(class);
|
||||
}
|
||||
|
||||
static inline BOOL
|
||||
object_is_class(id object)
|
||||
{
|
||||
return CLS_ISCLASS((Class*)object);
|
||||
}
|
||||
|
||||
static inline BOOL
|
||||
object_is_instance(id object)
|
||||
{
|
||||
return (object!=nil)&&CLS_ISCLASS(object_get_class(object));
|
||||
}
|
||||
|
||||
static inline BOOL
|
||||
object_is_meta_class(id object)
|
||||
{
|
||||
return CLS_ISMETA((Class*)object);
|
||||
}
|
||||
|
||||
|
||||
/* The following from GNU's objc/list.h */
|
||||
|
||||
#include <stdio.h>
|
||||
|
|
Loading…
Reference in a new issue