Author: fperrad
Date: Tue Apr 10 10:18:00 2007
New Revision: 18124

Modified:
   trunk/languages/lua/pmc/luaboolean.pmc
   trunk/languages/lua/pmc/luanumber.pmc
   trunk/languages/lua/pmc/luastring.pmc

Log:
[Lua]
- minor refactoring

Modified: trunk/languages/lua/pmc/luaboolean.pmc
==============================================================================
--- trunk/languages/lua/pmc/luaboolean.pmc      (original)
+++ trunk/languages/lua/pmc/luaboolean.pmc      Tue Apr 10 10:18:00 2007
@@ -232,8 +232,7 @@
 */
     INTVAL is_equal (PMC* value) {
 MMD_LuaBoolean: {
-            return (INTVAL)(PMC_int_val(SELF) ==
-                VTABLE_get_integer(INTERP, value));
+            return (INTVAL)(PMC_int_val(SELF) == PMC_int_val(value));
         }
 MMD_DEFAULT: {
             return (INTVAL)0;

Modified: trunk/languages/lua/pmc/luanumber.pmc
==============================================================================
--- trunk/languages/lua/pmc/luanumber.pmc       (original)
+++ trunk/languages/lua/pmc/luanumber.pmc       Tue Apr 10 10:18:00 2007
@@ -243,8 +243,8 @@
 */
     PMC* neg (PMC * dest) {
         FLOATVAL a = - SELF.get_number();
-        if (!dest)
-            dest = pmc_new(INTERP, SELF->vtable->base_type);
+        if (NULL == dest)
+            dest = pmc_new(INTERP, dynpmc_LuaNumber);
         VTABLE_set_number_native(INTERP, dest, a);
         return dest;
     }
@@ -276,8 +276,8 @@
 */
     PMC* add (PMC* value, PMC* dest) {
 MMD_LuaNumber: {
-            if (!dest)
-                dest = pmc_new(INTERP, SELF->vtable->base_type);
+            if (NULL == dest)
+                dest = pmc_new(INTERP, dynpmc_LuaNumber);
             VTABLE_set_number_native(INTERP, dest,
                     SELF.get_number() + VTABLE_get_number(INTERP, value));
             return dest;
@@ -360,8 +360,8 @@
 */
     PMC* subtract (PMC* value, PMC* dest) {
 MMD_LuaNumber: {
-            if (!dest)
-                dest = pmc_new(INTERP, SELF->vtable->base_type);
+            if (NULL == dest)
+                dest = pmc_new(INTERP, dynpmc_LuaNumber);
             VTABLE_set_number_native(INTERP, dest,
                     SELF.get_number() - VTABLE_get_number(INTERP, value));
             return dest;
@@ -445,8 +445,8 @@
 */
     PMC* multiply (PMC* value, PMC* dest) {
 MMD_LuaNumber: {
-            if (!dest)
-                dest = pmc_new(INTERP, SELF->vtable->base_type);
+            if (NULL == dest)
+                dest = pmc_new(INTERP, dynpmc_LuaNumber);
             VTABLE_set_number_native(INTERP, dest,
                     SELF.get_number() * VTABLE_get_number(INTERP, value));
             return dest;
@@ -530,8 +530,8 @@
 */
     PMC* divide (PMC* value, PMC* dest) {
 MMD_LuaNumber: {
-            if (!dest)
-                dest = pmc_new(INTERP, SELF->vtable->base_type);
+            if (NULL == dest)
+                dest = pmc_new(INTERP, dynpmc_LuaNumber);
             VTABLE_set_number_native(INTERP, dest,
                     SELF.get_number() / VTABLE_get_number(INTERP, value));
             return dest;
@@ -618,8 +618,8 @@
             FLOATVAL a = SELF.get_number();
             FLOATVAL b = VTABLE_get_number(INTERP, value);
 
-            if (!dest)
-                dest = pmc_new(INTERP, SELF->vtable->base_type);
+            if (NULL == dest)
+                dest = pmc_new(INTERP, dynpmc_LuaNumber);
             VTABLE_set_number_native(INTERP, dest, a - floor(a/b)*b);
             return dest;
         }
@@ -703,8 +703,8 @@
 */
     PMC* pow (PMC* value, PMC* dest) {
 MMD_LuaNumber: {
-            if (!dest)
-                dest = pmc_new(INTERP, SELF->vtable->base_type);
+            if (NULL == dest)
+                dest = pmc_new(INTERP, dynpmc_LuaNumber);
             VTABLE_set_number_native(INTERP, dest,
                   pow(SELF.get_number(), VTABLE_get_number(INTERP, value)));
             return dest;
@@ -826,19 +826,19 @@
 MMD_LuaNumber: {
             STRING* s = string_concat(INTERP,
                 SELF.get_string(),
-                VTABLE_get_string(INTERP, value), 0);
-            if (!dest)
-                dest = pmc_new(INTERP, SELF->vtable->base_type);
-                VTABLE_set_string_native(INTERP, dest, s);
+                LuaNumber.value.get_string(), 0);
+            if (NULL == dest)
+                dest = pmc_new(INTERP, dynpmc_LuaNumber);
+            VTABLE_set_string_native(INTERP, dest, s);
             return dest;
         }
 MMD_LuaString: {
             STRING* s = string_concat(INTERP,
                 SELF.get_string(),
-                VTABLE_get_string(INTERP, value), 0);
-            if (!dest)
-                dest = pmc_new(INTERP, SELF->vtable->base_type);
-                VTABLE_set_string_native(INTERP, dest, s);
+                LuaString.value.get_string(), 0);
+            if (NULL == dest)
+                dest = pmc_new(INTERP, dynpmc_LuaNumber);
+            VTABLE_set_string_native(INTERP, dest, s);
             return dest;
         }
 MMD_DEFAULT: {
@@ -868,12 +868,12 @@
     void i_concatenate (PMC* value) {
 MMD_LuaNumber: {
             STRING* s = SELF.get_string();
-            STRING* v = VTABLE_get_string(INTERP, value);
+            STRING* v = LuaNumber.value.get_string();
             SELF.set_string_native(string_append(INTERP, s, v));
         }
 MMD_LuaString: {
             STRING* s = SELF.get_string();
-            STRING* v = VTABLE_get_string(INTERP, value);
+            STRING* v = LuaString.value.get_string();
             SELF.set_string_native(string_append(INTERP, s, v));
         }
 MMD_DEFAULT: {

Modified: trunk/languages/lua/pmc/luastring.pmc
==============================================================================
--- trunk/languages/lua/pmc/luastring.pmc       (original)
+++ trunk/languages/lua/pmc/luastring.pmc       Tue Apr 10 10:18:00 2007
@@ -876,7 +876,7 @@
     INTVAL is_equal (PMC* value) {
 MMD_LuaString: {
             STRING *s = PMC_str_val(SELF);
-            STRING *v = VTABLE_get_string(INTERP, value);
+            STRING *v = LuaString.value.get_string();
             return (INTVAL)(0 == string_equal(INTERP, s, v));
         }
 MMD_DEFAULT: {
@@ -900,7 +900,7 @@
     INTVAL cmp (PMC* value) {
 MMD_LuaString: {
             STRING *s = PMC_str_val(SELF);
-            STRING *v = VTABLE_get_string(INTERP, value);
+            STRING *v = LuaString.value.get_string();
             return string_compare(INTERP, s, v);
         }
 MMD_DEFAULT: {
@@ -922,19 +922,19 @@
 MMD_LuaNumber: {
             STRING* s = string_concat(INTERP,
                 SELF.get_string(),
-                VTABLE_get_string(INTERP, value), 0);
-            if (!dest)
-                dest = pmc_new(INTERP, SELF->vtable->base_type);
-                VTABLE_set_string_native(INTERP, dest, s);
+                LuaNumber.value.get_string(), 0);
+            if (NULL == dest)
+                dest = pmc_new(INTERP, dynpmc_LuaString);
+            VTABLE_set_string_native(INTERP, dest, s);
             return dest;
         }
 MMD_LuaString: {
             STRING* s = string_concat(INTERP,
                 SELF.get_string(),
-                VTABLE_get_string(INTERP, value), 0);
-            if (!dest)
-                dest = pmc_new(INTERP, SELF->vtable->base_type);
-                VTABLE_set_string_native(INTERP, dest, s);
+                LuaString.value.get_string(), 0);
+            if (NULL == dest)
+                dest = pmc_new(INTERP, dynpmc_LuaString);
+            VTABLE_set_string_native(INTERP, dest, s);
             return dest;
         }
 MMD_DEFAULT: {
@@ -964,12 +964,12 @@
     void i_concatenate (PMC* value) {
 MMD_LuaNumber: {
             STRING* s = SELF.get_string();
-            STRING* v = VTABLE_get_string(INTERP, value);
+            STRING* v = LuaNumber.value.get_string();
             SELF.set_string_native(string_append(INTERP, s, v));
         }
 MMD_LuaString: {
             STRING* s = SELF.get_string();
-            STRING* v = VTABLE_get_string(INTERP, value);
+            STRING* v = LuaString.value.get_string();
             SELF.set_string_native(string_append(INTERP, s, v));
         }
 MMD_DEFAULT: {

Reply via email to