[macruby-changes] [2850] MacRuby/trunk

source_changes at macosforge.org source_changes at macosforge.org
Sun Oct 18 20:28:44 PDT 2009


Revision: 2850
          http://trac.macosforge.org/projects/ruby/changeset/2850
Author:   lsansonetti at apple.com
Date:     2009-10-18 20:28:40 -0700 (Sun, 18 Oct 2009)
Log Message:
-----------
expose a new API (to be used by a future patch)

Modified Paths:
--------------
    MacRuby/trunk/objc.h
    MacRuby/trunk/objc.m

Modified: MacRuby/trunk/objc.h
===================================================================
--- MacRuby/trunk/objc.h	2009-10-18 19:40:00 UTC (rev 2849)
+++ MacRuby/trunk/objc.h	2009-10-19 03:28:40 UTC (rev 2850)
@@ -80,6 +80,8 @@
 id rb_rb2oc_exception(VALUE exc);
 VALUE rb_oc2rb_exception(id exc);
 
+size_t rb_objc_type_size(const char *type);
+
 static inline int
 SubtypeUntil(const char *type, char end)
 {

Modified: MacRuby/trunk/objc.m
===================================================================
--- MacRuby/trunk/objc.m	2009-10-18 19:40:00 UTC (rev 2849)
+++ MacRuby/trunk/objc.m	2009-10-19 03:28:40 UTC (rev 2850)
@@ -643,6 +643,21 @@
     return rb_exc_new2(rb_eRuntimeError, buf);
 }
 
+size_t
+rb_objc_type_size(const char *type)
+{
+    @try {
+	NSUInteger size, align;
+	NSGetSizeAndAlignment(type, &size, &align);
+	return size;
+    }
+    @catch (id ex) {
+	rb_raise(rb_eRuntimeError, "can't get the size of type `%s': %s",
+		type, [[ex description] UTF8String]);
+    }
+    return 0; // never reached
+}
+
 void *placeholder_String = NULL;
 void *placeholder_Dictionary = NULL;
 void *placeholder_Array = NULL;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20091018/784ec114/attachment.html>


More information about the macruby-changes mailing list