Branch Coverage

lib/B/DeparseTree/P526.pm
Criterion Covered Total %
branch 77 254 30.3


line true false branch
110 9 63 unless *{$_;}{'CODE'}
122 0 0 if ($B::DeparseTree::P526::AUTOLOAD =~ s/^.*::pp_//u) { }
124 0 0 $_[1]->type == 382 ? :
145 0 0 if (($op->flags & 132) == 132) { }
149 0 0 $cx >= 16 || $self->{'parens'} ? :
160 0 6 if $kid->name eq 'rv2gv'
161 0 4 if (B::Deparse::is_scalar($kid) and $op->flags & 128 and $self->deparse($kid, 1) eq 'ARGV')
180 0 0 if ($op->flags & 128) { }
206 0 0 $s->name eq 'unstack' ? :
227 0 2282 if (class($op) eq 'PADOP') { }
247 0 1 if $op->flags & 128
251 0 1 $quoted ? :
253 0 1 if $i > 127
266 0 32 if ($op->first->name eq 'padav') { }
281 0 0 if (@texts == 0) { }
0 0 elsif (@texts == 1) { }
0 0 elsif (@texts > 2 and not grep((!/^-?\d+$/u), @texts)) { }
290 0 0 unless (grep(($i++ != $_), @texts))
304 0 33 if ($kid->name eq 'const') { }
318 3 0 if ($array->name eq $padname) { }
0 0 elsif (B::Deparse::is_scope($array)) { }
0 0 elsif ($array->name eq 'gv') { }
0 0 elsif (not $allow_arrow or B::Deparse::is_scalar($array)) { }
323 0 0 $left eq '[' ? :
327 0 0 if (not $allow_arrow and $quoted)
331 0 0 $quoted ? :
363 0 3 if $self->{'parens'}
388 0 0 unless ($array->name eq $padname)
395 0 0 if ($array_name) { }
396 0 0 unless ($array_name =~ /->\z/u)
397 0 0 if ($array_name eq '#') { }
404 0 0 if $left
413 0 0 if (is_subscriptable($array)) { }
432 5 2 $is_hash ? :
434 1 6 $name eq '#' ? :
0 7 $quoted ? :
445 4 5 if ($op->private & 16) { }
4 1 elsif ($op->private & 32) { }
0 1 elsif ($op->private & 128) { }
455 0 9 if ($op->first and $op->first->flags & 4)
468 0 9 if (($actions & 15) == 0)
482 2 7 if (($actions & 15) == 5 or ($actions & 15) == 12) { }
7 0 elsif (($actions & 15) == 6 or ($actions & 15) == 13) { }
495 0 0 if (($actions & 15) == 3 or ($actions & 15) == 10) { }
0 0 elsif (($actions & 15) == 2 or ($actions & 15) == 9) { }
0 0 elsif (($actions & 15) == 1 or ($actions & 15) == 8) { }
514 0 0 if ($op->flags & 4 and B::Deparse::_op_is_or_was($op->first, 134) || B::Deparse::_op_is_or_was($op->first, 148) and $op->first->flags & 4 and B::Deparse::_op_is_or_was($op->first->first, 137) || B::Deparse::_op_is_or_was($op->first->first, 149))
526 0 0 unless $derefs++
530 0 9 if (($actions & 48) == 0)
534 5 4 $is_hash ? :
536 9 0 if (($actions & 48) == 16) { }
0 0 elsif (($actions & 48) == 32) { }
0 0 elsif (($actions & 48) == 48) { }
538 5 4 if ($is_hash) { }
552 5 4 $is_hash ? :
554 9 0 if ($actions & 64)
568 0 0 if $glob->name eq 'rv2gv'
572 0 0 $scope ? :
593 0 2 if ($kid->name eq 'list' and B::Deparse::want_list($kid)) { }
623 2 0 if ($meth->name eq 'method_named') { }
0 0 elsif ($meth->name eq 'method_super') { }
0 0 elsif ($meth->name eq 'method_redir') { }
0 0 elsif ($meth->name eq 'method_redir_super') { }
634 0 0 if ($meth->name eq 'const')
658 0 2 if ($minfo->{'variable_method'})
671 0 2 if ($minfo->{'object'}->name eq 'scope' and B::Deparse::want_list($minfo->{'object'}))
676 0 0 if ($need_paren) { }
686 1 1 if (length $args) { }
701 0 1 if $self->{'noproto'}
712 0 4 if ($chr eq '') { }
1 3 elsif ($chr eq ';') { }
0 3 elsif ($chr eq '@' or $chr eq '%') { }
713 0 0 if @args
721 1 2 unless $arg
722 2 0 if ($chr eq '$' or $chr eq '_') { }
0 0 elsif ($chr eq '&') { }
0 0 elsif ($chr eq '*') { }
0 0 elsif (substr($chr, 0, 1) eq '\\') { }
723 2 0 if (B::Deparse::want_scalar($arg)) { }
729 0 0 if ($arg->name =~ /^(s?refgen|undef)$/u) { }
735 0 0 if ($arg->name =~ /^s?refgen$/u and $arg->first->first->name eq 'rv2gv') { }
739 0 0 if ($real->first->name eq 'gv') { }
749 0 0 if ($arg->name =~ /^s?refgen$/u and not B::Deparse::null($real = $arg->first) and $chr =~ /\$/u && B::Deparse::is_scalar($real->first) || $chr =~ /@/u && class($real->first->sibling) ne 'NULL' && $real->first->sibling->name =~ /^(rv2|pad)av$/u || $chr =~ /%/u && class($real->first->sibling) ne 'NULL' && $real->first->sibling->name =~ /^(rv2|pad)hv$/u || $chr =~ /\*/u && $real->first->name eq 'rv2gv') { }
772 0 1 if $proto and not $doneok
773 0 1 if @args
785 0 0 if ($f == int $f) { }
810 0 0 if ($kid->name =~ /^(?:const|padsv|rv2sv|av2arylen|gvsv|multideref |aelemfast(?:_lex)?|[ah]elem|join|concat)\z/ux) { }
831 0 1 if ($type eq 'const') { }
0 1 elsif ($type eq 'concat') { }
0 1 elsif ($type eq 'uc') { }
0 1 elsif ($type eq 'lc') { }
0 1 elsif ($type eq 'ucfirst') { }
0 1 elsif ($type eq 'lcfirst') { }
0 1 elsif ($type eq 'quotemeta') { }
0 1 elsif ($type eq 'fc') { }
0 1 elsif ($type eq 'join') { }
832 0 0 if $op->private & 0
867 1 0 unless $ret =~ s/^\$([(|)])\z/\${$1}/u
877 0 8 if B::Deparse::null($op)
880 0 8 if ($type eq 'const' or $type eq 'av2arylen') { }
0 8 elsif ($type =~ /^(?:[ul]c(first)?|fc)$/u or $type eq 'quotemeta') { }
0 8 elsif ($type eq 'join') { }
0 8 elsif ($type eq 'concat') { }
0 8 elsif (B::Deparse::is_scalar($op) or $type =~ /^[ah]elem$/u) { }
1 7 elsif ($type eq 'null' and $op->can('first') and not B::Deparse::null($op->first) and $op->first->name eq 'null' && $op->first->can('first') && !B::Deparse::null($op->first->first) && $op->first->first->name eq 'aelemfast' || $op->first->name =~ /^aelemfast(?:_lex)?\z/u) { }
888 0 0 unless $join_op->name eq 'null' and $join_op->targ == 14
891 0 0 unless $gvop->name eq 'gvsv'
892 0 0 unless '"' eq $self->gv_name($self->gv_or_padgv($gvop))
894 0 0 unless ${$join_op->sibling;} eq ${$op->last;}
895 0 0 unless $op->last->name =~ /^(?:[ah]slice|(?:rv2|pad)av)$/u
925 0 5 if ($kid->name eq 'regcmaybe')
929 0 5 if ($kid->name eq 'regcreset')
933 0 1 if ($kid->name eq 'null' and not B::Deparse::null($kid->first) and $kid->first->name eq 'pushmark')
953 1 4 if ($self->pure_string($kid))
955 0 1 $info->{'other_ops'} ? :
980 0 0 if $kid->name eq 'regcomp'
987 0 0 if ($op->private & 16)
997 0 0 if ($stacked) { }
1001 0 0 if ($op->private & 8) { }
1007 0 0 unless ref $gv
1013 0 0 if ($op->private & 128)
1014 0 0 $op->private & 8 ? :
1023 0 0 if (($op->reflags // 0) & 536870912)
1038 0 0 if ($ary) { }
1110 0 0 if $x <= 1
1122 0 0 wantarray ? :
1127 0 0 if ($basename =~ s/$pat//su)