Skip to content

Commit

Permalink
Perlito5 - java - require VERSION
Browse files Browse the repository at this point in the history
  • Loading branch information
fglock committed Jul 14, 2017
1 parent 15df80d commit a73c77e
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 17 deletions.
1 change: 1 addition & 0 deletions ChangeLog
Expand Up @@ -30,6 +30,7 @@
-- /xx regex modifier
-- strict refs
-- srand() returns true, warns on overflow
-- require VERSION

9.022 cpan:Perlito5 2017-05-xx
- Parser:
Expand Down
10 changes: 5 additions & 5 deletions perlito5.pl
Expand Up @@ -17736,12 +17736,9 @@
(my($self), my($level), my($wantarray)) = @_;
my $arg = $self->{"arguments"}->[0];
if ($arg->{"is_version_string"}) {;
return "p5pkg[\"Perlito5\"][\"test_perl_version\"]([" . Perlito5::Java::to_str($self->{"arguments"}->[0]) . "], " . Perlito5::Java::to_context($wantarray) . ")"
return "PlV.apply(\"Perlito5::test_perl_version\", PlCx.VOID, new PlArray(" . $arg->emit_java($level, "scalar") . "))"
}
"PlCORE.require(" . Perlito5::Java::to_context($wantarray) . ", " . Perlito5::Java::to_str($self->{"arguments"}->[0]) . ", " . ($self->{"arguments"}->[0]->{"bareword"} ? "true" : "false") . ")"
}, "select", sub {
(my($self), my($level), my($wantarray)) = @_;
"p5pkg[\"CORE\"][\"select\"]([" . ($self->{"arguments"}->[0]->{"bareword"} ? Perlito5::Java::to_str($self->{"arguments"}->[0]) : $self->{"arguments"}->[0]->emit_java($level, "scalar")) . "])"
}, "prefix:<\$>", sub {
(my($self), my($level), my($wantarray), my($autovivification_type)) = @_;
my $arg = $self->{"arguments"}->[0];
Expand Down Expand Up @@ -18399,7 +18396,7 @@
"PlCORE." . $op . "(" . Perlito5::Java::to_context($wantarray) . ", " . Perlito5::Java::to_filehandle($fun, $level + 1) . ", " . Perlito5::Java::to_param_list(\@in, $level + 1) . ")"
}
}
for my $op ("sleep", "ref", "exit", "warn", "die", "system", "qx", "pack", "unpack", "sprintf", "crypt", "join", "reverse") {;
for my $op ("sleep", "ref", "exit", "warn", "die", "system", "qx", "pack", "unpack", "sprintf", "crypt", "join", "reverse", "select") {;
$emit_js{$op} = sub {
(my($self), my($level), my($wantarray)) = @_;
"PlCORE." . $op . "(" . Perlito5::Java::to_context($wantarray) . ", " . Perlito5::Java::to_list($self->{"arguments"}, $level) . ")"
Expand Down Expand Up @@ -20566,6 +20563,9 @@
}
return PlCx.UNDEF;
}
public static final PlObject select(int want, PlArray List__) {
return PlCORE.die(\"select() not implemented\");
}
public static final PlObject exit(int want, PlArray List__) {
int arg = List__.aget(0).to_int();
System.exit(arg);
Expand Down
16 changes: 4 additions & 12 deletions src5/lib/Perlito5/Java/Apply.pm
Expand Up @@ -567,9 +567,9 @@ package Perlito5::AST::Apply;
my $arg = $self->{arguments}->[0];
if ($arg->{is_version_string}) {
# require VERSION
return 'p5pkg["Perlito5"]["test_perl_version"](['
. Perlito5::Java::to_str( $self->{arguments}[0] )
. '], ' . Perlito5::Java::to_context($wantarray) . ')';
return 'PlV.apply("Perlito5::test_perl_version", PlCx.VOID, new PlArray('
. $arg->emit_java( $level, 'scalar' )
. '))';
}
# require FILE
'PlCORE.require('
Expand All @@ -578,14 +578,6 @@ package Perlito5::AST::Apply;
. ($self->{arguments}[0]{bareword} ? 'true' : 'false')
. ')';
},
'select' => sub {
my ($self, $level, $wantarray) = @_;
'p5pkg["CORE"]["select"](['
. ( $self->{arguments}[0]{bareword}
? Perlito5::Java::to_str( $self->{arguments}[0] )
: $self->{arguments}[0]->emit_java( $level, 'scalar' ) )
. '])';
},
'prefix:<$>' => sub {
my ($self, $level, $wantarray, $autovivification_type) = @_;
my $arg = $self->{arguments}->[0];
Expand Down Expand Up @@ -1607,7 +1599,7 @@ package Perlito5::AST::Apply;
};
}

for my $op (qw/ sleep ref exit warn die system qx pack unpack sprintf crypt join reverse /) {
for my $op (qw/ sleep ref exit warn die system qx pack unpack sprintf crypt join reverse select /) {
$emit_js{$op} = sub {
my ($self, $level, $wantarray) = @_;
'PlCORE.' . $op . '('
Expand Down
3 changes: 3 additions & 0 deletions src5/lib/Perlito5/Java/CORE.pm
Expand Up @@ -458,6 +458,9 @@ EOT
}
return PlCx.UNDEF;
}
public static final PlObject select(int want, PlArray List__) {
return PlCORE.die("select() not implemented");
}
public static final PlObject exit(int want, PlArray List__) {
int arg = List__.aget(0).to_int();
System.exit(arg);
Expand Down

0 comments on commit a73c77e

Please sign in to comment.