develooper Front page | perl.cvs.parrot | Postings from January 2009

[svn:parrot] r35534 - trunk/languages/perl6

From:
jonathan
Date:
January 14, 2009 09:48
Subject:
[svn:parrot] r35534 - trunk/languages/perl6
Message ID:
20090114174827.10B55CB9AE@x12.develooper.com
Author: jonathan
Date: Wed Jan 14 09:48:26 2009
New Revision: 35534

Modified:
   trunk/languages/perl6/perl6.pir

Log:
[rakudo] Ensure parse_name handles names with type-parametric parts.

Modified: trunk/languages/perl6/perl6.pir
==============================================================================
--- trunk/languages/perl6/perl6.pir	(original)
+++ trunk/languages/perl6/perl6.pir	Wed Jan 14 09:48:26 2009
@@ -173,6 +173,14 @@
 
 .sub 'parse_name' :method
     .param string name
+    ##  remove any type parameterization for now
+    .local string type_param
+    type_param = ''
+    $I0 = index name, '['
+    if $I0 == -1 goto type_param_done
+    type_param = substr name, $I0
+    name = substr name, 0, $I0
+  type_param_done:
     ##  divide name based on ::
     .local pmc list
     list = split '::', name
@@ -198,6 +206,11 @@
     push list, $S0
     goto iter_loop
   iter_done:
+    if type_param == '' goto no_add_type_param
+    $S0 = pop list
+    concat $S0, type_param
+    push list, $S0
+  no_add_type_param:
     .return (list)
 .end
 



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About