Branch Coverage

lib/B/DeparseTree/P526.pm
Criterion Covered Total %
branch 65 204 31.8


line true false branch
144 24 168 unless *{$_;}{'CODE'}
156 0 0 if ($B::DeparseTree::P526::AUTOLOAD =~ s/^.*::pp_//u) { }
158 0 0 $_[1]->type == 382 ? :
179 0 0 if (($op->flags & 132) == 132) { }
183 0 0 $cx >= 16 || $self->{'parens'} ? :
205 0 32 if ($op->first->name eq 'padav') { }
220 0 0 if (@texts == 0) { }
0 0 elsif (@texts == 1) { }
0 0 elsif (@texts > 2 and not grep((!/^-?\d+$/u), @texts)) { }
229 0 0 unless (grep(($i++ != $_), @texts))
243 0 33 if ($kid->name eq 'const') { }
257 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)) { }
262 0 0 $left eq '[' ? :
266 0 0 if (not $allow_arrow and $quoted)
270 0 0 $quoted ? :
302 0 3 if $self->{'parens'}
327 0 0 unless ($array->name eq $padname)
334 0 0 if ($array_name) { }
335 0 0 unless ($array_name =~ /->\z/u)
336 0 0 if ($array_name eq '#') { }
343 0 0 if $left
352 0 0 if (B::Deparse::is_subscriptable($array)) { }
371 5 2 $is_hash ? :
373 1 6 $name eq '#' ? :
0 7 $quoted ? :
384 4 5 if ($op->private & 16) { }
4 1 elsif ($op->private & 32) { }
0 1 elsif ($op->private & 128) { }
394 0 9 if ($op->first and $op->first->flags & 4)
407 0 9 if (($actions & 15) == 0)
421 2 7 if (($actions & 15) == 5 or ($actions & 15) == 12) { }
7 0 elsif (($actions & 15) == 6 or ($actions & 15) == 13) { }
434 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) { }
453 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))
465 0 0 unless $derefs++
469 0 9 if (($actions & 48) == 0)
473 5 4 $is_hash ? :
475 9 0 if (($actions & 48) == 16) { }
0 0 elsif (($actions & 48) == 32) { }
0 0 elsif (($actions & 48) == 48) { }
477 5 4 if ($is_hash) { }
491 5 4 $is_hash ? :
493 9 0 if ($actions & 64)
507 0 1 if $self->{'noproto'}
518 0 4 if ($chr eq '') { }
1 3 elsif ($chr eq ';') { }
0 3 elsif ($chr eq '@' or $chr eq '%') { }
519 0 0 if @args
527 1 2 unless $arg
528 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 '\\') { }
529 2 0 if (B::Deparse::want_scalar($arg)) { }
535 0 0 if ($arg->name =~ /^(s?refgen|undef)$/u) { }
541 0 0 if ($arg->name =~ /^s?refgen$/u and $arg->first->first->name eq 'rv2gv') { }
545 0 0 if ($real->first->name eq 'gv') { }
555 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') { }
578 0 1 if $proto and not $doneok
579 0 1 if @args
590 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') { }
591 0 0 if $op->private & 0
626 1 0 unless $ret =~ s/^\$([(|)])\z/\${$1}/u
636 0 8 if B::Deparse::null($op)
639 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) { }
647 0 0 unless $join_op->name eq 'null' and $join_op->targ == 14
650 0 0 unless $gvop->name eq 'gvsv'
651 0 0 unless '"' eq $self->gv_name($self->gv_or_padgv($gvop))
653 0 0 unless ${$join_op->sibling;} eq ${$op->last;}
654 0 0 unless $op->last->name =~ /^(?:[ah]slice|(?:rv2|pad)av)$/u
684 0 5 if ($kid->name eq 'regcmaybe')
688 0 5 if ($kid->name eq 'regcreset')
692 0 1 if ($kid->name eq 'null' and not B::Deparse::null($kid->first) and $kid->first->name eq 'pushmark')
712 1 4 if ($self->pure_string($kid))
714 0 1 $info->{'other_ops'} ? :
733 0 0 if $kid->name eq 'regcomp'
740 0 0 if ($op->private & 16)
750 0 0 if ($stacked) { }
754 0 0 if ($op->private & 8) { }
760 0 0 unless ref $gv
766 0 0 if ($op->private & 128)
767 0 0 $op->private & 8 ? :
776 0 0 if (($op->reflags // 0) & 536870912)
791 0 0 if ($ary) { }