References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> In-Reply-To: <[EMAIL PROTECTED]> Content-Type: multipart/mixed; boundary="------------090800000402060404020800" X-Posted-By: 122.110.103.226
--------------090800000402060404020800 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Will Coleda wrote: > > Now that we can subclass PMCs with Objects, we need to go through all > the code in src/pmc/*.pmc that directly fiddles with PMC guts (e.g. > PMC_int_val(...) and PMC_num_val(...) and replace them with VTABLE > accessor methods, or constructs like SELF.get_integer(). Just for clarification, it attached patch is actually what this ticket about? -- Bacek --------------090800000402060404020800 Content-Type: text/x-patch; name="bigint.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="bigint.patch" diff --git a/src/pmc/bigint.pmc b/src/pmc/bigint.pmc index 9399eae..0c00f18 100644 --- a/src/pmc/bigint.pmc +++ b/src/pmc/bigint.pmc @@ -746,7 +746,7 @@ MMD_Integer: { else dest = pmc_new(INTERP, SELF->vtable->base_type); - bigint_add_bigint_int(INTERP, SELF, PMC_int_val(value), dest); + bigint_add_bigint_int(INTERP, SELF, VTABLE_get_integer(interp, value), dest); return dest; } MMD_DEFAULT: { @@ -804,7 +804,7 @@ MMD_Integer: { else dest = pmc_new(INTERP, SELF->vtable->base_type); - bigint_sub_bigint_int(INTERP, SELF, PMC_int_val(value), dest); + bigint_sub_bigint_int(INTERP, SELF, VTABLE_get_integer(interp, value), dest); return dest; } MMD_DEFAULT: { @@ -862,7 +862,7 @@ MMD_Integer: { else dest = pmc_new(INTERP, SELF->vtable->base_type); - bigint_mul_bigint_int(INTERP, SELF, PMC_int_val(value), dest); + bigint_mul_bigint_int(INTERP, SELF, VTABLE_get_integer(interp, value), dest); return dest; } MMD_DEFAULT: { @@ -886,7 +886,7 @@ MMD_BigInt: { bigint_mul_bigint(INTERP, SELF, value, SELF); } MMD_Integer: { - bigint_mul_bigint_int(INTERP, SELF, PMC_int_val(value), SELF); + bigint_mul_bigint_int(INTERP, SELF, VTABLE_get_integer(interp, value), SELF); } MMD_DEFAULT: { Parrot_ex_throw_from_c_args(INTERP, NULL, @@ -943,7 +943,7 @@ MMD_Integer: { else dest = pmc_new(INTERP, SELF->vtable->base_type); - bigint_div_bigint_int(INTERP, SELF, PMC_int_val(value), dest); + bigint_div_bigint_int(INTERP, SELF, VTABLE_get_integer(interp, value), dest); return dest; } MMD_DEFAULT: { @@ -967,7 +967,7 @@ MMD_BigInt: { bigint_div_bigint(INTERP, SELF, value, SELF); } MMD_Integer: { - bigint_div_bigint_int(INTERP, SELF, PMC_int_val(value), SELF); + bigint_div_bigint_int(INTERP, SELF, VTABLE_get_integer(interp, value), SELF); } MMD_DEFAULT: { Parrot_ex_throw_from_c_args(INTERP, NULL, @@ -994,7 +994,7 @@ MMD_Integer: { VTABLE_morph(interp, dest, SELF->vtable->base_type); else dest = pmc_new(INTERP, SELF->vtable->base_type); - bigint_fdiv_bigint_int(INTERP, SELF, PMC_int_val(value), dest); + bigint_fdiv_bigint_int(INTERP, SELF, VTABLE_get_integer(interp, value), dest); return dest; } MMD_DEFAULT: { @@ -1018,7 +1018,7 @@ MMD_BigInt: { bigint_fdiv_bigint(INTERP, SELF, value, SELF); } MMD_Integer: { - bigint_fdiv_bigint_int(INTERP, SELF, PMC_int_val(value), SELF); + bigint_fdiv_bigint_int(INTERP, SELF, VTABLE_get_integer(interp, value), SELF); } MMD_DEFAULT: { Parrot_ex_throw_from_c_args(INTERP, NULL, @@ -1046,7 +1046,7 @@ MMD_Integer: { else dest = pmc_new(INTERP, SELF->vtable->base_type); - bigint_mod_bigint_int(INTERP, SELF, PMC_int_val(value), dest); + bigint_mod_bigint_int(INTERP, SELF, VTABLE_get_integer(interp, value), dest); return dest; } MMD_DEFAULT: { @@ -1072,7 +1072,7 @@ MMD_BigInt: { bigint_mod_bigint(INTERP, SELF, value, SELF); } MMD_Integer: { - bigint_mod_bigint_int(INTERP, SELF, PMC_int_val(value), SELF); + bigint_mod_bigint_int(INTERP, SELF, VTABLE_get_integer(interp, value), SELF); } MMD_DEFAULT: { Parrot_ex_throw_from_c_args(INTERP, NULL, @@ -1085,7 +1085,7 @@ MMD_BigInt: { bigint_mod_bigint(INTERP, SELF, value, SELF); } MMD_Integer: { - bigint_mod_bigint_int(INTERP, SELF, PMC_int_val(value), SELF); + bigint_mod_bigint_int(INTERP, SELF, VTABLE_get_integer(interp, value), SELF); } MMD_DEFAULT: { Parrot_ex_throw_from_c_args(INTERP, NULL, @@ -1099,7 +1099,7 @@ MMD_BigInt: { return bigint_cmp(INTERP, SELF, value); } MMD_Integer: { - return bigint_cmp_int(INTERP, SELF, PMC_int_val(value)); + return bigint_cmp_int(INTERP, SELF, VTABLE_get_integer(interp, value)); } MMD_DEFAULT: { Parrot_ex_throw_from_c_args(INTERP, NULL, @@ -1112,7 +1112,7 @@ MMD_BigInt: { return bigint_cmp(INTERP, SELF, value) == 0; } MMD_Integer: { - return bigint_cmp_int(INTERP, SELF, PMC_int_val(value)) == 0; + return bigint_cmp_int(INTERP, SELF, VTABLE_get_integer(interp, value)) == 0; } MMD_DEFAULT: { Parrot_ex_throw_from_c_args(INTERP, NULL, @@ -1205,7 +1205,7 @@ MMD_Integer: { else dest = pmc_new(INTERP, SELF->vtable->base_type); - bigint_bitwise_shl_bigint_int(INTERP, SELF, PMC_int_val(value), + bigint_bitwise_shl_bigint_int(INTERP, SELF, VTABLE_get_integer(interp, value), dest); return dest; } @@ -1233,7 +1233,7 @@ MMD_BigInt: { SELF); } MMD_Integer: { - bigint_bitwise_shl_bigint_int(INTERP, SELF, PMC_int_val(value), + bigint_bitwise_shl_bigint_int(INTERP, SELF, VTABLE_get_integer(interp, value), SELF); } MMD_DEFAULT: { @@ -1282,7 +1282,7 @@ MMD_Integer: { else dest = pmc_new(INTERP, SELF->vtable->base_type); - bigint_bitwise_shr_bigint_int(INTERP, SELF, PMC_int_val(value), + bigint_bitwise_shr_bigint_int(INTERP, SELF, VTABLE_get_integer(interp, value), dest); return dest; } @@ -1310,7 +1310,7 @@ MMD_BigInt: { SELF); } MMD_Integer: { - bigint_bitwise_shr_bigint_int(INTERP, SELF, PMC_int_val(value), + bigint_bitwise_shr_bigint_int(INTERP, SELF, VTABLE_get_integer(interp, value), SELF); } MMD_DEFAULT: { --------------090800000402060404020800--