return add($self->inspect_kids($op)), undef if $n eq 'return';
my $meth = $self->can('pp_' . $n);
return add($self->inspect_kids($op)), undef if $n eq 'return';
my $meth = $self->can('pp_' . $n);
my $op = $op->first;
my ($r1, $l1) = $self->inspect($op);
return $r1, $l1 if defined $r1 and zero $l1;
my $op = $op->first;
my ($r1, $l1) = $self->inspect($op);
return $r1, $l1 if defined $r1 and zero $l1;
- $r = add $r, scale $c, $rc if defined $rc;
- if (zero $lc) {
- $c = 1 - count $r;
- return $r, $c ? { 0 => $c } : undef
- }
+ return $rc, $lc if defined $rc and not defined $lc;
+ $r = add $r, scale $c, $rc;
- my ($r, $l) = $self->inspect($op);
- if (name($op) ne 'const') {
- my $c = 1 - count $r;
- $l = $c ? { list => $c } : 0;
+ if (name($op) eq 'gv') {
+ return undef, { list => 1 };
my ($r1, $l1) = $self->inspect($op);
return (add $r2, scale $c2, $r1), undef if defined $r1 and zero $l1
and not zero $l2;
my ($r1, $l1) = $self->inspect($op);
return (add $r2, scale $c2, $r1), undef if defined $r1 and zero $l1
and not zero $l2;
my ($r1, $l1) = $self->inspect($op);
return (add $r2, scale $c2, $r1), undef if defined $r1 and zero $l1
and not zero $l2;
my ($r1, $l1) = $self->inspect($op);
return (add $r2, scale $c2, $r1), undef if defined $r1 and zero $l1
and not zero $l2;