Author: chromatic
Date: Thu Feb 21 17:03:59 2008
New Revision: 25962

Modified:
   trunk/languages/lua/pmc/luauserdata.pmc

Log:
[Lua] Cleaned up LuaUserdata PMC.

Modified: trunk/languages/lua/pmc/luauserdata.pmc
==============================================================================
--- trunk/languages/lua/pmc/luauserdata.pmc     (original)
+++ trunk/languages/lua/pmc/luauserdata.pmc     Thu Feb 21 17:03:59 2008
@@ -47,8 +47,8 @@
 
 */
     void init() {
-        userdata_t *u = mem_allocate_zeroed_typed(userdata_t);
-        PMC_data(SELF) = u;
+        userdata_t *u      = mem_allocate_zeroed_typed(userdata_t);
+        PMC_data(SELF)     = u;
         PMC_metadata(SELF) = NULL;
         PObj_custom_mark_destroy_SETALL(SELF);
     }
@@ -81,11 +81,12 @@
 
 */
     void destroy() {
-        userdata_t *u = PMC_data_typed(SELF, userdata_t *);
-        PMC* meth = find_meth(INTERP, SELF, "__gc");
-        if (meth != NULL) {
+        userdata_t *u    = PMC_data_typed(SELF, userdata_t *);
+        PMC        *meth = find_meth(INTERP, SELF, "__gc");
+
+        if (meth)
             (void)Parrot_runops_fromc_args(INTERP, meth, "vP", SELF);
-        }
+
         if (u) {
             mem_sys_free(u);
             PMC_data(SELF) = NULL;
@@ -135,8 +136,9 @@
 
 */
     void set_pmc(PMC *value) {
-        u_val(SELF) = u_val(value);
-        u_env(SELF) = u_env(value);
+        /* TODO: should be get_attr_str() and getfenv() */
+        u_val(SELF)        = u_val(value);
+        u_env(SELF)        = u_env(value);
         PMC_metadata(SELF) = PMC_metadata(value);
     }
 
@@ -147,18 +149,18 @@
 =cut
 
 */
-    PMC* get_attr_str(STRING* key) {
+    PMC* get_attr_str(STRING *key) {
         return u_val(SELF);
     }
 
 /*
 
-=item C<void set_attr_str(STRING* key, PMC* value)>
+=item C<void set_attr_str(STRING *key, PMC *value)>
 
 =cut
 
 */
-    void set_attr_str(STRING* key, PMC* value) {
+    void set_attr_str(STRING *key, PMC *value) {
         u_val(SELF) = value;
     }
 
@@ -170,7 +172,7 @@
 
 =over 4
 
-=item C<INTVAL is_equal(PMC* value)>
+=item C<INTVAL is_equal(PMC *value)>
 
 The C<==> operation. Compares reference (not in depth).
 
@@ -180,14 +182,15 @@
     INTVAL is_equal(PMC* value) {
 MMD_LuaUserdata: {
             PMC *meth = find_meth(INTERP, SELF, "__eq");
-            if (meth != NULL) {
+            if (meth) {
                 PMC *retval = Parrot_runops_fromc_args(INTERP, meth, "PPP",
                                                        SELF, value);
-                if (PMC_IS_NULL(retval)) {
+                if (PMC_IS_NULL(retval))
                     return (INTVAL)0;
-                }
+
                 return VTABLE_get_bool(INTERP, retval);
             }
+
             if (SELF == value)
                 return (INTVAL)1;
             else
@@ -205,17 +208,15 @@
 =cut
 
 */
-    INTVAL cmp(PMC* value) {
+    INTVAL cmp(PMC *value) {
 MMD_LuaUserdata: {
             real_exception(INTERP, NULL, ILL_INHERIT,
                     "attempt to compare two userdata values");
-            return (INTVAL)0;
         }
 MMD_DEFAULT: {
             real_exception(INTERP, NULL, ILL_INHERIT,
-                    "attempt to compare userdata with %s",
-                    string_to_cstring(INTERP, VTABLE_name(INTERP, value)));
-            return (INTVAL)0;
+                    "attempt to compare userdata with %Ss",
+                    VTABLE_name(INTERP, value));
         }
     }
 
@@ -234,10 +235,11 @@
 */
     METHOD PMC* getfenv() {
         PMC *retval = u_env(SELF);
-        if (retval != NULL)
+
+        if (retval)
             return retval;
-        else
-            return pmc_new(INTERP, dynpmc_LuaNil);
+
+        return pmc_new(INTERP, dynpmc_LuaNil);
     }
 
 /*
@@ -249,26 +251,30 @@
 */
     METHOD PMC* get_metatable() {
         PMC *retval = PMC_metadata(SELF);
-        if (NULL == retval)
-            retval = pmc_new(INTERP, dynpmc_LuaNil);
-        return retval;
+
+        if (retval)
+            return retval;
+
+        return pmc_new(INTERP, dynpmc_LuaNil);
     }
 
 /*
 
-=item C<PMC* rawequal(PMC* value)>
+=item C<PMC* rawequal(PMC *value)>
 
 =cut
 
 */
-    METHOD PMC* rawequal(PMC* value) {
-        PMC* retval = pmc_new(INTERP, dynpmc_LuaBoolean);
+    METHOD PMC* rawequal(PMC *value) {
+        PMC *retval = pmc_new(INTERP, dynpmc_LuaBoolean);
+
         if (PMC_type(SELF) == PMC_type(value)
-         && u_val(SELF) == u_val(value)
-         && u_env(SELF) == u_env(value))
-            PMC_int_val(retval) = 1;
+        && u_val(SELF)     == u_val(value)
+        && u_env(SELF)     == u_env(value))
+            VTABLE_set_integer_native(INTERP, retval, 1);
         else
-            PMC_int_val(retval) = 0;
+            VTABLE_set_integer_native(INTERP, retval, 0);
+
         return retval;
     }
 
@@ -291,12 +297,10 @@
 
 */
     METHOD void set_metatable(PMC *meta) {
-        if (dynpmc_LuaNil == PMC_type(meta)) {
+        if (dynpmc_LuaNil == PMC_type(meta))
             PMC_metadata(SELF) = NULL;
-        }
-        else {
+        else
             PMC_metadata(SELF) = meta;
-        }
     }
 
 }

Reply via email to