From 6bda4966b9885c19dff28fe218a2923bc2ecd4db Mon Sep 17 00:00:00 2001 From: Matthias Benkard Date: Wed, 26 Sep 2007 00:40:55 +0200 Subject: Add FIND-OBJC-META-CLASS, fix some minor bugs. darcs-hash:1ae0dd35e64b278b944bc797847ccfedb97ea471 --- Objective-C/libobjcl.h | 3 +++ Objective-C/libobjcl.m | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+) (limited to 'Objective-C') diff --git a/Objective-C/libobjcl.h b/Objective-C/libobjcl.h index 35fd0c8..56ba2d7 100644 --- a/Objective-C/libobjcl.h +++ b/Objective-C/libobjcl.h @@ -43,6 +43,9 @@ objcl_invoke_with_types (int argc, Class objcl_find_class (const char *class_name); +Class +objcl_find_meta_class (const char *class_name); + SEL objcl_find_selector (const char *selector_name); diff --git a/Objective-C/libobjcl.m b/Objective-C/libobjcl.m index c13f252..6f09cfe 100644 --- a/Objective-C/libobjcl.m +++ b/Objective-C/libobjcl.m @@ -128,7 +128,27 @@ objcl_invoke_with_types (int argc, Class objcl_find_class (const char *class_name) { +#ifdef __NEXT_RUNTIME__ + return objc_lookUpClass (class_name); +#else return NSClassFromString ([NSString stringWithUTF8String: class_name]); +#endif +} + + +Class +objcl_find_meta_class (const char *class_name) +{ +#ifdef __NEXT_RUNTIME__ + return objc_getMetaClass (class_name); +#else + /* FIXME: Is this correct? */ + Class class = objcl_find_class (class_name); + if (class == NULL || class == nil) + return NULL; + else + return class_get_meta_class (class); +#endif } -- cgit v1.2.3