Author: pmichaud
Date: Sun Jan  4 20:27:36 2009
New Revision: 34954

Modified:
   branches/rvar/languages/perl6/src/classes/Object.pir
   branches/rvar/languages/perl6/src/parser/actions.pm

Log:
[rakudo]:  Add simple type constraints to attributes.


Modified: branches/rvar/languages/perl6/src/classes/Object.pir
==============================================================================
--- branches/rvar/languages/perl6/src/classes/Object.pir        (original)
+++ branches/rvar/languages/perl6/src/classes/Object.pir        Sun Jan  4 
20:27:36 2009
@@ -305,6 +305,8 @@
     .local pmc attr
     attr = new itypeclass
     setattribute candidate, parrotclass, attrname, attr
+    $P0 = attrhash['type']
+    setprop attr, 'type', $P0
     .local string keyname
     $I0 = index attrname, '!'
     if $I0 < 0 goto attrinit_loop

Modified: branches/rvar/languages/perl6/src/parser/actions.pm
==============================================================================
--- branches/rvar/languages/perl6/src/parser/actions.pm (original)
+++ branches/rvar/languages/perl6/src/parser/actions.pm Sun Jan  4 20:27:36 2009
@@ -1513,8 +1513,7 @@
             for @($<fulltypename>) {
                 $type.push( $( $_ ) );
             }
-            ## XXX: might need to revisit this, puts node in tree twice
-            $past.viviself( $( $<fulltypename>[0] ) );
+            $past.viviself( $( $<fulltypename>[0] ).clone() );
         }
     }
     make $past;

Reply via email to