[svn:parrot] r35614 - in branches/morph_pmc_type/src: . pmc

[email protected]
Newsgroups perl.cvs.parrot
Message-ID <[email protected]>
Author: Whiteknight
Date: Thu Jan 15 17:55:01 2009
New Revision: 35614

Modified:
   branches/morph_pmc_type/src/pmc/default.pmc
   branches/morph_pmc_type/src/pmc/float.pmc
   branches/morph_pmc_type/src/pmc/object.pmc
   branches/morph_pmc_type/src/pmc/pointer.pmc
   branches/morph_pmc_type/src/pmc/ref.pmc
   branches/morph_pmc_type/src/pmc/scalar.pmc
   branches/morph_pmc_type/src/vtable.tbl

Log:
[morph_pmc_type] remove the old morph VTABLE, everything is now replaced by my dummy morph_string method

Modified: branches/morph_pmc_type/src/pmc/default.pmc
==============================================================================
--- branches/morph_pmc_type/src/pmc/default.pmc	(original)
+++ branches/morph_pmc_type/src/pmc/default.pmc	Thu Jan 15 17:55:01 2009
@@ -634,10 +634,6 @@
 
 */
 
-    VTABLE void morph(INTVAL type) {
-        pmc_reuse(INTERP, SELF, type, 0);
-    }
-
     VTABLE void morph_string(STRING * type) {
         const INTVAL typenum = pmc_type(interp, type);
         pmc_reuse(INTERP, SELF, typenum, 0);

Modified: branches/morph_pmc_type/src/pmc/float.pmc
==============================================================================
--- branches/morph_pmc_type/src/pmc/float.pmc	(original)
+++ branches/morph_pmc_type/src/pmc/float.pmc	Thu Jan 15 17:55:01 2009
@@ -135,12 +135,12 @@
 */
 
     VTABLE void set_integer_native(INTVAL value) {
-        SELF.morph(enum_class_Integer);
+        SELF.morph_string(interp->vtables[enum_class_Integer]->whoami);
         SELF.set_integer_native(value);
     }
 
     VTABLE void set_bool(INTVAL value) {
-        SELF.morph(enum_class_Boolean);
+        SELF.morph_string(interp->vtables[enum_class_Boolean]->whoami);
         SELF.set_bool(value);
     }
 
@@ -185,7 +185,7 @@
 */
 
     VTABLE void set_string_native(STRING *value) {
-        SELF.morph(enum_class_String);
+        SELF.morph_string(interp->vtables[enum_class_String]->whoami);
         SELF.set_string_native(value);
     }
 

Modified: branches/morph_pmc_type/src/pmc/object.pmc
==============================================================================
--- branches/morph_pmc_type/src/pmc/object.pmc	(original)
+++ branches/morph_pmc_type/src/pmc/object.pmc	Thu Jan 15 17:55:01 2009
@@ -847,21 +847,6 @@
 
 */
 
-    VTABLE void morph(INTVAL type) {
-        PMC    * const classobj = VTABLE_get_class(interp, SELF);
-        STRING * meth_name      = CONST_STRING(interp, "morph");
-        /* If there's a vtable override for 'morph' run that instead. */
-        PMC * const method = Parrot_oo_find_vtable_override(interp,
-                classobj, meth_name);
-
-        if (!PMC_IS_NULL(method)) {
-            STRING * typename = string_copy(interp, interp->vtables[type]->whoami);
-            Parrot_run_meth_fromc_args(interp, method, SELF, meth_name, "vS", typename);
-        }
-        else
-            SUPER(type);
-    }
-
     VTABLE void morph_string(STRING * type) {
         PMC * const classobj = VTABLE_get_class(interp, SELF);
 

Modified: branches/morph_pmc_type/src/pmc/pointer.pmc
==============================================================================
--- branches/morph_pmc_type/src/pmc/pointer.pmc	(original)
+++ branches/morph_pmc_type/src/pmc/pointer.pmc	Thu Jan 15 17:55:01 2009
@@ -48,9 +48,6 @@
 
 */
 
-    VTABLE void morph(INTVAL type) {
-    }
-
     VTABLE void morph_string(STRING type) {
     }
 

Modified: branches/morph_pmc_type/src/pmc/ref.pmc
==============================================================================
--- branches/morph_pmc_type/src/pmc/ref.pmc	(original)
+++ branches/morph_pmc_type/src/pmc/ref.pmc	Thu Jan 15 17:55:01 2009
@@ -150,10 +150,6 @@
 
 */
 
-    VTABLE void morph(INTVAL type) {
-        SUPER(type);
-    }
-
     VTABLE void morph_string(STRING * type) {
         SUPER(type);
     }

Modified: branches/morph_pmc_type/src/pmc/scalar.pmc
==============================================================================
--- branches/morph_pmc_type/src/pmc/scalar.pmc	(original)
+++ branches/morph_pmc_type/src/pmc/scalar.pmc	Thu Jan 15 17:55:01 2009
@@ -96,12 +96,6 @@
 
 */
 
-    VTABLE void morph(INTVAL type) {
-        if (SELF->vtable->base_type == type)
-            return;
-        pmc_reuse(INTERP, SELF, type, 0);
-    }
-
     VTABLE void morph_string(STRING * type) {
         const INTVAL t = pmc_type(INTERP, type);
         if (SELF->vtable->base_type == t)
@@ -126,11 +120,11 @@
 
         if (SELF->vtable->base_type == enum_class_Boolean) {
             /* doesn't morph */
-            SELF.morph(value->vtable->base_type);
+            SELF.morph_string(value->vtable->whoami);
         }
 
         if (value->vtable->base_type == enum_class_Undef) {
-            SELF.morph(value->vtable->base_type);
+            SELF.morph_string(value->vtable->whoami);
             return;
         }
 
@@ -155,7 +149,7 @@
             SELF.set_string_native(v);
             return;
         }
-        SELF.morph(enum_class_Ref);
+        SELF.morph_string(interp->vtables[enum_class_Ref]->whoami);
         SELF.set_pmc(value);
     }
 

Modified: branches/morph_pmc_type/src/vtable.tbl
==============================================================================
--- branches/morph_pmc_type/src/vtable.tbl	(original)
+++ branches/morph_pmc_type/src/vtable.tbl	Thu Jan 15 17:55:01 2009
@@ -11,7 +11,6 @@
 void init_pmc(PMC* initializer)
 PMC* instantiate(PMC* sig)
 PMC* new_from_string(STRING* rep, INTVAL flags)
-void morph(INTVAL type) :write
 void morph_string(STRING* type) :write
 void mark()
 void destroy()
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.