[svn:parrot] r42488 - in trunk: docs docs/pdds/draft src src/pmc
chromatic at svn.parrot.org
chromatic at svn.parrot.org
Fri Nov 13 21:06:34 UTC 2009
Author: chromatic
Date: Fri Nov 13 21:06:33 2009
New Revision: 42488
URL: https://trac.parrot.org/parrot/changeset/42488
Log:
[PMC] Removed slice VTABLE and related detritus. All tests pass.
Modified:
trunk/docs/embed.pod
trunk/docs/pdds/draft/pdd08_keys.pod
trunk/src/pmc/array.pmc
trunk/src/pmc/fixedpmcarray.pmc
trunk/src/pmc/hash.pmc
trunk/src/pmc/resizablepmcarray.pmc
trunk/src/pmc/string.pmc
trunk/src/vtable.tbl
Modified: trunk/docs/embed.pod
==============================================================================
--- trunk/docs/embed.pod Fri Nov 13 20:32:29 2009 (r42487)
+++ trunk/docs/embed.pod Fri Nov 13 21:06:33 2009 (r42488)
@@ -1559,8 +1559,6 @@
=item C<Parrot_PMC_shift_string>
-=item C<Parrot_PMC_slice>
-
=item C<Parrot_PMC_splice>
=item C<Parrot_PMC_substr>
Modified: trunk/docs/pdds/draft/pdd08_keys.pod
==============================================================================
--- trunk/docs/pdds/draft/pdd08_keys.pod Fri Nov 13 20:32:29 2009 (r42487)
+++ trunk/docs/pdds/draft/pdd08_keys.pod Fri Nov 13 21:06:33 2009 (r42488)
@@ -65,15 +65,11 @@
KEY_pmc_FLAG = PObj_private3_FLAG,
KEY_register_FLAG = PObj_private4_FLAG,
- KEY_start_slice_FLAG = PObj_private5_FLAG,
- KEY_end_slice_FLAG = PObj_private6_FLAG,
- KEY_inf_slice_FLAG = PObj_private7_FLAG,
-
- KEY_type_FLAGS = KEY_integer_FLAG |
- KEY_number_FLAG |
- KEY_string_FLAG |
- KEY_pmc_FLAG |
- KEY_register_FLAG |
+ KEY_type_FLAGS = KEY_integer_FLAG |
+ KEY_number_FLAG |
+ KEY_string_FLAG |
+ KEY_pmc_FLAG |
+ KEY_register_FLA G |
KEY_hash_iterator_FLAGS
} KEY_flags
Modified: trunk/src/pmc/array.pmc
==============================================================================
--- trunk/src/pmc/array.pmc Fri Nov 13 20:32:29 2009 (r42487)
+++ trunk/src/pmc/array.pmc Fri Nov 13 21:06:33 2009 (r42488)
@@ -1141,13 +1141,8 @@
return 1;
}
-/*
-
-=item C<PMC *slice(PMC *key, INTVAL f)>
-Return a new iterator for the slice PMC C<key> if f == 0.
-
-Return a new pythonic array slice if f == 1.
+/*
=item C<PMC *get_iter()>
@@ -1157,18 +1152,6 @@
*/
- VTABLE PMC *slice(PMC *key, INTVAL f) {
- if (f == 0) {
- STRING * const name = CONST_STRING(interp, "set_key");
- PMC * const iter = pmc_new_init(INTERP, enum_class_Iterator, SELF);
- Parrot_pcc_invoke_method_from_c_args(interp, iter, name, "P->", key);
- return iter;
- }
-
- Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_INVALID_OPERATION,
- "Array: Unknown slice type");
- }
-
VTABLE PMC *get_iter() {
return pmc_new_init(INTERP, enum_class_ArrayIterator, SELF);
}
Modified: trunk/src/pmc/fixedpmcarray.pmc
==============================================================================
--- trunk/src/pmc/fixedpmcarray.pmc Fri Nov 13 20:32:29 2009 (r42487)
+++ trunk/src/pmc/fixedpmcarray.pmc Fri Nov 13 21:06:33 2009 (r42488)
@@ -619,13 +619,8 @@
return 1;
}
-/*
-
-=item C<PMC *slice(PMC *key, INTVAL f)>
-Return a new iterator for the slice PMC C<key> if f == 0.
-
-Return a new pythonic array slice if f == 1.
+/*
=item C<PMC *get_iter()>
@@ -635,18 +630,6 @@
*/
- VTABLE PMC *slice(PMC *key, INTVAL f) {
- if (f == 0) {
- STRING *name = CONST_STRING(interp, "set_key");
- PMC * const iter = pmc_new_init(INTERP, enum_class_Iterator, SELF);
- Parrot_pcc_invoke_method_from_c_args(interp, iter, name, "P->", key);
- return iter;
- }
-
- Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_OUT_OF_BOUNDS,
- _("Array: Unknown slice type"));
- }
-
VTABLE PMC *get_iter() {
return pmc_new_init(INTERP, enum_class_ArrayIterator, SELF);
}
Modified: trunk/src/pmc/hash.pmc
==============================================================================
--- trunk/src/pmc/hash.pmc Fri Nov 13 20:32:29 2009 (r42487)
+++ trunk/src/pmc/hash.pmc Fri Nov 13 21:06:33 2009 (r42488)
@@ -975,7 +975,7 @@
=item C<PMC *get_iter()>
-Return a new iterator for the slice PMC C<key>
+Return a new iterator.
=cut
Modified: trunk/src/pmc/resizablepmcarray.pmc
==============================================================================
--- trunk/src/pmc/resizablepmcarray.pmc Fri Nov 13 20:32:29 2009 (r42487)
+++ trunk/src/pmc/resizablepmcarray.pmc Fri Nov 13 21:06:33 2009 (r42488)
@@ -246,7 +246,7 @@
=item C<void set_pmc_keyed(PMC *key, PMC *src)>
-If key is a slice, do a splice as set that item.
+Sets the PMC value of the element keyed by C<key> to C<*src>.
=cut
Modified: trunk/src/pmc/string.pmc
==============================================================================
--- trunk/src/pmc/string.pmc Fri Nov 13 20:32:29 2009 (r42487)
+++ trunk/src/pmc/string.pmc Fri Nov 13 21:06:33 2009 (r42488)
@@ -736,6 +736,8 @@
VTABLE_set_integer_native(INTERP, result, (INTVAL)i);
RETURN(PMC *result);
}
+
+
/*
=back
@@ -744,12 +746,6 @@
=over 4
-=item C<PMC *slice(PMC *key, INTVAL f)>
-
-Return a new iterator for the slice PMC C<key> if f==0.
-
-Return a new pythonic slice if f == 1.
-
=item C<PMC *get_iter(PMC *key)>
Return a new iterator for this string.
@@ -758,7 +754,6 @@
Return length of the string.
-
=cut
*/
@@ -767,18 +762,6 @@
return Parrot_str_byte_length(INTERP, VTABLE_get_string(INTERP, SELF));
}
- VTABLE PMC *slice(PMC *key, INTVAL f) {
- if (f == 0) {
- STRING *name = CONST_STRING(interp, "set_key");
- PMC * const iter = pmc_new_init(INTERP, enum_class_Iterator, SELF);
- Parrot_pcc_invoke_method_from_c_args(interp, iter, name, "P->", key);
- return iter;
- }
-
- Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_INVALID_OPERATION,
- "String: Unknown slice type");
- }
-
VTABLE PMC *get_iter() {
return pmc_new_init(INTERP, enum_class_StringIterator, SELF);
}
Modified: trunk/src/vtable.tbl
==============================================================================
--- trunk/src/vtable.tbl Fri Nov 13 20:32:29 2009 (r42487)
+++ trunk/src/vtable.tbl Fri Nov 13 21:06:33 2009 (r42488)
@@ -55,7 +55,6 @@
PMC* get_pmc_keyed(PMC* key)
PMC* get_pmc_keyed_int(INTVAL key)
PMC* get_pmc_keyed_str(STRING* key)
-PMC* slice(PMC* key, INTVAL flag)
void* get_pointer()
void* get_pointer_keyed(PMC* key)
More information about the parrot-commits
mailing list