Author: pmichaud
Date: Sun Dec 28 21:04:46 2008
New Revision: 34546
Modified:
branches/rvar/languages/perl6/src/parser/actions.pm
Log:
[rakudo]: Clean up package variable vivification.
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 Dec 28 21:04:46 2008
@@ -1727,7 +1727,11 @@
my $sym := ~$<sym>;
my $past := $( $<scoped> );
if $past.isa(PAST::Var) {
- my $scope := $sym eq 'my' ?? 'lexical' !! 'package';
+ my $scope := 'lexical';
+ if $sym eq 'our' {
+ $scope := 'package';
+ $past.lvalue(1);
+ }
our $?BLOCK;
my $symbol := $?BLOCK.symbol( $past.name() );
$symbol<scope> := $scope;