[macruby-changes] [3175] MacRuby/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Mon Dec 28 15:25:17 PST 2009
Revision: 3175
http://trac.macosforge.org/projects/ruby/changeset/3175
Author: lsansonetti at apple.com
Date: 2009-12-28 15:25:16 -0800 (Mon, 28 Dec 2009)
Log Message:
-----------
fix a bug when retrieving the hidden NSCF classes on the bleeding edge
Modified Paths:
--------------
MacRuby/trunk/array.c
MacRuby/trunk/hash.c
MacRuby/trunk/numeric.c
MacRuby/trunk/string.c
Modified: MacRuby/trunk/array.c
===================================================================
--- MacRuby/trunk/array.c 2009-12-25 02:13:36 UTC (rev 3174)
+++ MacRuby/trunk/array.c 2009-12-28 23:25:16 UTC (rev 3175)
@@ -4257,10 +4257,17 @@
* element in the array, and so on.
*/
+#if MAC_OS_X_VERSION_MAX_ALLOWED <= 1060
+# define NSCFARRAY_CNAME "NSCFArray"
+#else
+# define NSCFARRAY_CNAME "__NSCFArray"
+#endif
+
void
Init_Array(void)
{
- rb_cCFArray = (VALUE)objc_getClass("NSCFArray");
+ rb_cCFArray = (VALUE)objc_getClass(NSCFARRAY_CNAME);
+ assert(rb_cCFArray != 0);
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1060
rb_cNSArray0 = (VALUE)objc_getClass("__NSArray0");
#endif
Modified: MacRuby/trunk/hash.c
===================================================================
--- MacRuby/trunk/hash.c 2009-12-25 02:13:36 UTC (rev 3174)
+++ MacRuby/trunk/hash.c 2009-12-28 23:25:16 UTC (rev 3175)
@@ -2534,6 +2534,12 @@
*
*/
+#if MAC_OS_X_VERSION_MAX_ALLOWED <= 1060
+# define NSCFDICTIONARY_CNAME "NSCFDictionary"
+#else
+# define NSCFDICTIONARY_CNAME "__NSCFDictionary"
+#endif
+
void
Init_Hash(void)
{
@@ -2543,7 +2549,8 @@
id_hash = rb_intern("hash");
id_yield = rb_intern("yield");
- rb_cCFHash = (VALUE)objc_getClass("NSCFDictionary");
+ rb_cCFHash = (VALUE)objc_getClass(NSCFDICTIONARY_CNAME);
+ assert(rb_cCFHash != 0);
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1060
rb_cNSHash0 = (VALUE)objc_getClass("__NSDictionary0");
#endif
Modified: MacRuby/trunk/numeric.c
===================================================================
--- MacRuby/trunk/numeric.c 2009-12-25 02:13:36 UTC (rev 3174)
+++ MacRuby/trunk/numeric.c 2009-12-28 23:25:16 UTC (rev 3175)
@@ -3381,6 +3381,12 @@
(IMP)imp_nsnumber_to_int, "@@:");
}
+#if MAC_OS_X_VERSION_MAX_ALLOWED <= 1060
+# define NSCFNUMBER_CNAME "NSCFNumber"
+#else
+# define NSCFNUMBER_CNAME "__NSCFNumber"
+#endif
+
void
Init_Numeric(void)
{
@@ -3395,7 +3401,8 @@
rb_eZeroDivError = rb_define_class("ZeroDivisionError", rb_eStandardError);
rb_eFloatDomainError = rb_define_class("FloatDomainError", rb_eRangeError);
rb_cNSNumber = (VALUE)objc_getClass("NSNumber");
- rb_cCFNumber = (VALUE)objc_getClass("NSCFNumber");
+ rb_cCFNumber = (VALUE)objc_getClass(NSCFNUMBER_CNAME);
+ assert(rb_cCFNumber != 0);
rb_cNumeric = rb_define_class("Numeric", rb_cNSNumber);
RCLASS_SET_VERSION_FLAG(rb_cNumeric, RCLASS_IS_OBJECT_SUBCLASS);
rb_define_object_special_methods(rb_cNumeric);
Modified: MacRuby/trunk/string.c
===================================================================
--- MacRuby/trunk/string.c 2009-12-25 02:13:36 UTC (rev 3174)
+++ MacRuby/trunk/string.c 2009-12-28 23:25:16 UTC (rev 3175)
@@ -5613,10 +5613,17 @@
*
*/
+#if MAC_OS_X_VERSION_MAX_ALLOWED <= 1060
+# define NSCFSTRING_CNAME "NSCFString"
+#else
+# define NSCFSTRING_CNAME "__NSCFString"
+#endif
+
void
Init_String(void)
{
- rb_cCFString = (VALUE)objc_getClass("NSCFString");
+ rb_cCFString = (VALUE)objc_getClass(NSCFSTRING_CNAME);
+ assert(rb_cCFString != 0);
rb_const_set(rb_cObject, rb_intern("NSCFString"), rb_cCFString);
rb_cString = rb_cNSString = (VALUE)objc_getClass("NSString");
rb_cNSMutableString = (VALUE)objc_getClass("NSMutableString");
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20091228/4a79154b/attachment.html>
More information about the macruby-changes
mailing list