[macruby-changes] [2833] MacRuby/trunk/variable.c
source_changes at macosforge.org
source_changes at macosforge.org
Fri Oct 16 14:02:40 PDT 2009
Revision: 2833
http://trac.macosforge.org/projects/ruby/changeset/2833
Author: lsansonetti at apple.com
Date: 2009-10-16 14:02:39 -0700 (Fri, 16 Oct 2009)
Log Message:
-----------
fixed a bug where ivars would not work for some builtin subclasses
Modified Paths:
--------------
MacRuby/trunk/variable.c
Modified: MacRuby/trunk/variable.c
===================================================================
--- MacRuby/trunk/variable.c 2009-10-16 20:57:56 UTC (rev 2832)
+++ MacRuby/trunk/variable.c 2009-10-16 21:02:39 UTC (rev 2833)
@@ -839,6 +839,7 @@
entry1->var = entry2->var;
}
+// TODO: should use an associative reference instead.
static CFMutableDictionaryRef generic_iv_dict = NULL;
static VALUE
@@ -1076,10 +1077,7 @@
return generic_ivar_get(obj, id, warn);
default:
- if (FL_TEST(obj, FL_EXIVAR) || rb_special_const_p(obj)) {
- return generic_ivar_get(obj, id, warn);
- }
- break;
+ return generic_ivar_get(obj, id, warn);
}
if (warn) {
rb_warning("instance variable %s not initialized", rb_id2name(id));
@@ -1142,13 +1140,11 @@
break;
case T_NATIVE:
- rb_objc_flag_set((const void *)obj, FL_EXIVAR, true);
generic_ivar_set(obj, id, val);
break;
default:
generic_ivar_set(obj, id, val);
- FL_SET(obj, FL_EXIVAR);
break;
}
return val;
@@ -1199,10 +1195,7 @@
return generic_ivar_defined(obj, id);
default:
- if (FL_TEST(obj, FL_EXIVAR) || rb_special_const_p(obj)) {
- return generic_ivar_defined(obj, id);
- }
- break;
+ return generic_ivar_defined(obj, id);
}
return Qfalse;
}
@@ -1232,9 +1225,6 @@
case T_NATIVE:
goto generic;
}
- if (!FL_TEST(obj, FL_EXIVAR) && !rb_special_const_p(obj)) {
- return;
- }
generic:
if (generic_iv_dict != NULL) {
CFDictionaryRef obj_dict;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20091016/9294aa42/attachment.html>
More information about the macruby-changes
mailing list