Condition Coverage

lib/B/DeparseTree/PP.pm
Criterion Covered Total %
condition 63 156 40.3


and 3 conditions

line !l l&&!r l&&r condition
188 14 7 6 $hints and $hints != $feature::hint_mask
192 14 0 13 $hh && $$hh{"feature_$feature_keywords{$name}"}
339 0 0 0 not B::Deparse::null($op->first) and $op->first->name eq 'null'
0 0 0 not B::Deparse::null($op->first) and $op->first->name eq 'null' and $op->first->targ == 157
389 2 0 0 not $parens and substr($fh, 0, 1) eq '('
544 23 0 0 $lop->name =~ /^(gv|rv2)[ash]v$/ and $lop->private & 64
9 0 14 $lop->name eq 'null' and $lop->first->name eq 'gvsv'
9 2 12 $lop->name eq 'null' and $lop->first->name eq 'gvsv' and $lop->first->private & 64
2 0 0 $lop->name eq 'sort' && $lop->flags & 4
9 0 2 $lop->name ne 'undef' and not $lop->name eq 'sort' && $lop->flags & 4
569 668 8 2566 B::Deparse::null($kid->sibling) and not $local
577 3142 0 14 class($kid) eq 'UNOP' and $kid->first->name eq 'gvsv'
621 0 0 0 not B::Deparse::null($anoncode = $kid->sibling) and $anoncode->name eq 'anoncode'
648 0 1 1 class($op) eq 'UNOP' and $op->first->name eq 'const'
1 1 0 class($op) eq 'UNOP' and $op->first->name eq 'const' and $op->first->private & 64
657 1 1 0 $op->first->name eq 'const' && $op->first->private & 2
682 0 0 0 B::Deparse::is_scope($true) and $true->name ne 'null'
0 0 0 $cx < 1 and (B::Deparse::is_scope($true) and $true->name ne 'null')
0 0 0 $cx < 1 and (B::Deparse::is_scope($true) and $true->name ne 'null') and B::Deparse::is_scope($false) || B::Deparse::is_ifelse_cont($false)
0 0 0 $cx < 1 and (B::Deparse::is_scope($true) and $true->name ne 'null') and B::Deparse::is_scope($false) || B::Deparse::is_ifelse_cont($false) and $self->{'expand'} < 7
702 0 0 0 not B::Deparse::null($false) and B::Deparse::is_ifelse_cont($false)
754 574 0 0 $op->flags & 128 and not $op->flags & 32
771 0 0 0 B::Deparse::is_scalar($kid->first) and $kid->first->name ne 'rv2cv'
779 0 34 540 class($gv) eq 'GV' and class($cv = $gv->CV) ne 'SPECIAL'
34 0 0 $gv->FLAGS & 2048 and class($cv = $gv->RV) eq 'CV'
795 574 0 0 not $kid =~ /::/ and $kid ne 'x'
837 1 573 0 not $declared and defined $proto
845 573 0 1 $declared and defined $proto
573 0 1 $declared and defined $proto and not $amper
877 1 0 0 $dproto eq '$' and B::Deparse::is_scalar($exprs[0])
0 1 0 $dproto ne '$' and defined $proto || $simple
896 0 0 573 $subname_info and $other_ops
941 0 0 0 $subname_info and $other_ops
1032 2 4 0 B::Deparse::is_scalar($kid) and $] < 5.021 || $op->flags & 128
1109 2 0 4 $from eq $to and $flags eq ''

or 3 conditions

line l !l&&r !l&&!r condition
380 2 0 0 $cx >= 5 || $self->{'parens'}
413 0 2 0 $keyword =~ /^CORE::/ or $kid->name ne 'const'
417 2 0 0 $text =~ /^\$?(\w|::|\`)+$/ or $text =~ /[<>]/
423 0 0 2 $cx >= 5 or $self->{'parens'}
537 3155 9 2586 $lop->private & 192 || $lop->name eq 'undef'
2586 0 3164 not $lop->private & 192 || $lop->name eq 'undef' or $lop->name =~ /^(?:entersub|exit|open|split)\z/
544 0 0 23 $lop->name =~ /^(gv|rv2)[ash]v$/ and $lop->private & 64 or $lop->name eq 'null' and $lop->first->name eq 'gvsv' and $lop->first->private & 64
621 2 0 0 $anoncode->name eq 'anoncode' or not B::Deparse::null($anoncode = $kid->sibling) and $anoncode->name eq 'anoncode'
631 0 0 0 $self->{'parens'} or $kid->sibling->private & 8
682 0 0 0 B::Deparse::is_scope($false) || B::Deparse::is_ifelse_cont($false)
779 540 0 34 class($gv) eq 'GV' and class($cv = $gv->CV) ne 'SPECIAL' or $gv->FLAGS & 2048 and class($cv = $gv->RV) eq 'CV'
787 0 0 574 $self->lex_in_scope("&$kid") or $self->lex_in_scope("&$kid", 1)
817 0 0 0 B::Deparse::is_subscriptable($kid->first) || $kid->first->name eq 'padcv'
835 0 1 573 exists $self->{'subs_declared'}{$sub_name} || defined &{do { $self->{'curstash'} . '::' }->{$sub_name};} && !exists($self->{'subs_deparsed'}{$self->{'curstash'} . '::' . $sub_name}) && defined prototype $self->{'curstash'} . '::' . $sub_name
858 0 0 574 $prefix or $amper
877 1 0 0 defined $proto || $simple
1032 0 0 4 $] < 5.021 || $op->flags & 128