Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Perlito5 - perl5 emitter - grep, sort
  • Loading branch information
fglock committed Sep 12, 2013
1 parent fa4c162 commit 3fe2854
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
6 changes: 3 additions & 3 deletions perlito5.pl
Expand Up @@ -11694,13 +11694,13 @@ package Perlito5::AST::Apply;
if (($self->{'code'} eq 'package')) {
return ('package ' . $self->{'namespace'})
};
if (($code eq 'map')) {
if (((($code eq 'map') || ($code eq 'grep')) || ($code eq 'sort'))) {
if ($self->{'special_arg'}) {
return ('map {' . chr(10) . join(';' . chr(10), map {
return ($code . ' {' . chr(10) . join(';' . chr(10), map {
(Perlito5::Perl5::tab(($level + 1)) . $_->emit_perl5(($level + 1)))
} @{$self->{'special_arg'}->{'stmts'}}) . chr(10) . Perlito5::Perl5::tab($level) . '} ' . $self->emit_perl5_args(($level + 1)))
};
return ('map(' . $self->emit_perl5_args(($level + 1)) . ')')
return ($code . '(' . $self->emit_perl5_args(($level + 1)) . ')')
};
if (($code eq 'infix:<x>')) {
return ('join("", ' . join(' x ', map($_->emit_perl5(($level + 1)), @{$self->{'arguments'}})) . ')')
Expand Down
6 changes: 3 additions & 3 deletions src5/lib/Perlito5/Perl5/Emitter.pm
Expand Up @@ -373,18 +373,18 @@ package Perlito5::AST::Apply;
}
if ($self->{code} eq 'package') { return 'package ' . $self->{namespace} }

if ($code eq 'map') {
if ($code eq 'map' || $code eq 'grep' || $code eq 'sort') {

if ( $self->{special_arg} ) {
# TODO - test 'special_arg' type (scalar, block, ...)
return "map {\n"
return "$code {\n"
. join(";\n", map { Perlito5::Perl5::tab($level+1) . $_->emit_perl5( $level + 1 ) } @{$self->{special_arg}{stmts}} ) . "\n"
. Perlito5::Perl5::tab($level) . "} "

. $self->emit_perl5_args($level+1);
}

return 'map(' . $self->emit_perl5_args($level+1) . ')'
return "$code(" . $self->emit_perl5_args($level+1) . ')'
}

if ($code eq 'infix:<x>') {
Expand Down

0 comments on commit 3fe2854

Please sign in to comment.