[macruby-changes] [534] MacRuby/trunk/vm_method.c
source_changes at macosforge.org
source_changes at macosforge.org
Sat Aug 30 12:53:28 PDT 2008
Revision: 534
http://trac.macosforge.org/projects/ruby/changeset/534
Author: lsansonetti at apple.com
Date: 2008-08-30 12:53:28 -0700 (Sat, 30 Aug 2008)
Log Message:
-----------
fixed respond_to? to respond to objc methods, also honor the priv argument
Modified Paths:
--------------
MacRuby/trunk/vm_method.c
Modified: MacRuby/trunk/vm_method.c
===================================================================
--- MacRuby/trunk/vm_method.c 2008-08-30 18:00:25 UTC (rev 533)
+++ MacRuby/trunk/vm_method.c 2008-08-30 19:53:28 UTC (rev 534)
@@ -1182,7 +1182,11 @@
sel_respondTo = sel_registerName("respond_to?:");
if (rb_objc_method_node2(klass, sel_respondTo, NULL) == basic_respond_to) {
- rb_objc_method_node(klass, id, &imp, NULL);
+ NODE *method;
+
+ method = rb_objc_method_node(klass, id, &imp, NULL);
+ if (method != NULL && priv == 0 && (method->nd_noex & NOEX_PRIVATE))
+ return false;
return imp != NULL;
}
#else
@@ -1223,9 +1227,13 @@
rb_scan_args(argc, argv, "11", &mid, &priv);
id = rb_to_id(mid);
+#if WITH_OBJC
+ return rb_obj_respond_to(obj, id, RTEST(priv)) ? Qtrue : Qfalse;
+#else
if (rb_method_boundp(CLASS_OF(obj), id, !RTEST(priv))) {
return Qtrue;
}
+#endif
return Qfalse;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080830/49de9bf4/attachment.html
More information about the macruby-changes
mailing list