[svn:parrot] r40316 - in trunk: docs lib/Parrot/Pmc2c

cotto at svn.parrot.org cotto at svn.parrot.org
Tue Jul 28 21:15:02 UTC 2009


Author: cotto
Date: Tue Jul 28 21:15:02 2009
New Revision: 40316
URL: https://trac.parrot.org/parrot/changeset/40316

Log:
[pmc2c] rip out DYNSUPER, which isn't needed now that it and SUPER act the same

Modified:
   trunk/docs/pmc2c.pod
   trunk/lib/Parrot/Pmc2c/MethodEmitter.pm

Modified: trunk/docs/pmc2c.pod
==============================================================================
--- trunk/docs/pmc2c.pod	Tue Jul 28 21:12:35 2009	(r40315)
+++ trunk/docs/pmc2c.pod	Tue Jul 28 21:15:02 2009	(r40316)
@@ -185,11 +185,7 @@
 =item C<SUPER(a,b,c)>
 
 Calls the overridden implementation of the current method in the nearest
-superclass, using the static type of C<SELF>.
-
-=item C<DYNSUPER(a,b,c)>
-
-As above, but uses the actual dynamic type of C<SELF>.
+superclass, using the type of C<SELF>.
 
 =back
 

Modified: trunk/lib/Parrot/Pmc2c/MethodEmitter.pm
==============================================================================
--- trunk/lib/Parrot/Pmc2c/MethodEmitter.pm	Tue Jul 28 21:12:35 2009	(r40315)
+++ trunk/lib/Parrot/Pmc2c/MethodEmitter.pm	Tue Jul 28 21:15:02 2009	(r40316)
@@ -189,7 +189,7 @@
     # Rewrite SELF.other_method(args...)
     $body->subst(
         qr{
-    \bSELF\b         # Macro: SELF
+      \bSELF\b       # Macro: SELF
       \.(\w+)        # other_method
       \(\s*(.*?)\)   # capture argument list
       }x,
@@ -199,7 +199,7 @@
     # Rewrite STATICSELF.other_method(args...)
     $body->subst(
         qr{
-      \bSTATICSELF\b          # Macro STATICSELF
+      \bSTATICSELF\b    # Macro STATICSELF
       \.(\w+)           # other_method
       \(\s*(.*?)\)      # capture argument list
       }x,
@@ -242,15 +242,6 @@
         die "$pmcname defines unknown vtable method '$name'\n" unless defined $super_table->{$name};
         my $supermethod = "Parrot_" . $super_table->{$name} . "_$name";
 
-        # Rewrite DYNSUPER(args)
-        $body->subst(
-            qr{
-            \bDYNSUPER\b      # Macro: DYNSUPER
-            \(\s*(.*?)\)      # capture argument list
-          }x,
-            sub { "interp->vtables[$supertype]->$name(" . full_arguments($1) . ')' }
-        );
-
         # Rewrite OtherClass.SUPER(args...)
         $body->subst(
             qr{


More information about the parrot-commits mailing list