[svn:parrot] r47521 - branches/gsoc_past_optimization/runtime/parrot/library/PAST/Transformer

tcurtis at svn.parrot.org tcurtis at svn.parrot.org
Wed Jun 9 22:29:24 UTC 2010


Author: tcurtis
Date: Wed Jun  9 22:29:23 2010
New Revision: 47521
URL: https://trac.parrot.org/parrot/changeset/47521

Log:
Add support for PAST::VarList to PAST::Transformer::Dynamic.

Modified:
   branches/gsoc_past_optimization/runtime/parrot/library/PAST/Transformer/Dynamic.pir

Modified: branches/gsoc_past_optimization/runtime/parrot/library/PAST/Transformer/Dynamic.pir
==============================================================================
--- branches/gsoc_past_optimization/runtime/parrot/library/PAST/Transformer/Dynamic.pir	Wed Jun  9 22:28:45 2010	(r47520)
+++ branches/gsoc_past_optimization/runtime/parrot/library/PAST/Transformer/Dynamic.pir	Wed Jun  9 22:29:23 2010	(r47521)
@@ -94,6 +94,18 @@
     .tailcall $P0(walker, node)
 .end
 
+.sub 'walk' :multi(['PAST'; 'Transformer'; 'Dynamic'], ['PAST'; 'VarList'])
+    .param pmc walker
+    .param pmc node
+    $P0 = getattribute walker, 'varlist'
+    unless null $P0 goto has_handler
+    $P1 = 'walkChildren'(walker, node)
+    'replaceChildren'(node, $P1)
+    .return (node)
+has_handler:
+    .tailcall $P0(walker, node)
+.end
+
 =back
 
 =cut


More information about the parrot-commits mailing list