[macruby-changes] [2863] MacRuby/trunk/vm.cpp

source_changes at macosforge.org source_changes at macosforge.org
Mon Oct 19 20:29:26 PDT 2009


Revision: 2863
          http://trac.macosforge.org/projects/ruby/changeset/2863
Author:   lsansonetti at apple.com
Date:     2009-10-19 20:29:23 -0700 (Mon, 19 Oct 2009)
Log Message:
-----------
when generating the default objc runtime signature for a pure ruby method, if it starts by 'set' let's use 'void' instead of 'id'

Modified Paths:
--------------
    MacRuby/trunk/vm.cpp

Modified: MacRuby/trunk/vm.cpp
===================================================================
--- MacRuby/trunk/vm.cpp	2009-10-20 03:16:06 UTC (rev 2862)
+++ MacRuby/trunk/vm.cpp	2009-10-20 03:29:23 UTC (rev 2863)
@@ -1505,8 +1505,11 @@
 	    strncpy(buf, informal_type->c_str(), buflen);
 	}
 	else {
+	    // Generate an automatic signature, using 'id' (@) for all
+	    // arguments. If the method name starts by 'set', we use 'void'
+	    // (v) for the return value, otherwise we use 'id' (@).
 	    assert(oc_arity < buflen);
-	    buf[0] = '@';
+	    buf[0] = strncmp(sel_getName(sel), "set", 3) == 0 ? 'v' : '@';
 	    buf[1] = '@';
 	    buf[2] = ':';
 	    for (unsigned int i = 3; i < oc_arity; i++) {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20091019/f30415c1/attachment.html>


More information about the macruby-changes mailing list