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: {