[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