Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Perlito5 - perl5 - emit subroutine signature
  • Loading branch information
fglock committed Aug 26, 2013
1 parent eb84bd7 commit 0cbac5f
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 12 deletions.
14 changes: 9 additions & 5 deletions perlito5.pl
Expand Up @@ -12065,13 +12065,17 @@ package Perlito5::AST::Sub;
sub Perlito5::AST::Sub::emit_perl5 {
my $self = $_[0];
my $level = $_[1];
my $name = '';
my @parts;
if ($self->{'name'}) {
$name = ($self->{'namespace'} . '::' . $self->{'name'} . ' ')
push(@parts, ($self->{'namespace'} . '::' . $self->{'name'}))
};
my $sig = $self->{'sig'};
my $i = 0;
('sub ' . $name . '{' . chr(10) . join(';' . chr(10), map((Perlito5::Perl5::tab(($level + 1)) . $_->emit_perl5(($level + 1))), @{$self->{'block'}})) . chr(10) . Perlito5::Perl5::tab($level) . '}')
if (defined($self->{'sig'})) {
push(@parts, ('(' . $self->{'sig'} . ')'))
};
if (defined($self->{'block'})) {
push(@parts, ('{' . chr(10) . join(';' . chr(10), map((Perlito5::Perl5::tab(($level + 1)) . $_->emit_perl5(($level + 1))), @{$self->{'block'}})) . chr(10) . Perlito5::Perl5::tab($level) . '}'))
};
join(' ', 'sub', @parts)
}
};
package Perlito5::AST::Do;
Expand Down
18 changes: 11 additions & 7 deletions src5/lib/Perlito5/Perl5/Emitter.pm
Expand Up @@ -611,15 +611,19 @@ package Perlito5::AST::Sub;
my $self = $_[0];
my $level = $_[1];

my $name = '';
$name = $self->{namespace} . "::" . $self->{name} . " "
my @parts;
push @parts, $self->{namespace} . "::" . $self->{name}
if $self->{name};

my $sig = $self->{sig};
my $i = 0;
'sub ' . $name . "{\n"
. join(";\n", map( Perlito5::Perl5::tab($level+1) . $_->emit_perl5( $level + 1 ), @{$self->{block}} )) . "\n"
. Perlito5::Perl5::tab($level) . "}"
push @parts, '(' . $self->{sig} . ')'
if defined $self->{sig};

push @parts, "{\n"
. join(";\n", map( Perlito5::Perl5::tab($level+1) . $_->emit_perl5( $level + 1 ), @{$self->{block}} )) . "\n"
. Perlito5::Perl5::tab($level) . "}"
if defined $self->{block};

join(' ', 'sub', @parts);
}
}

Expand Down

0 comments on commit 0cbac5f

Please sign in to comment.