Condition Coverage

lib/B/DeparseTree/PP.pm
Criterion Covered Total %
condition 58 150 38.6


and 3 conditions

line !l l&&!r l&&r condition
241 12 7 6 $hints and $hints != $feature::hint_mask
245 12 0 13 $hh && $$hh{"feature_$feature_keywords{$name}"}
362 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
405 2 0 0 not $parens and substr($fh, 0, 1) eq '('
567 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
592 679 8 2582 B::Deparse::null($kid->sibling) and not $local
600 3197 0 14 class($kid) eq 'UNOP' and $kid->first->name eq 'gvsv'
644 0 0 0 not B::Deparse::null($anoncode = $kid->sibling) and $anoncode->name eq 'anoncode'
671 0 1 0 class($op) eq 'UNOP' and $op->first->name eq 'const'
1 0 0 class($op) eq 'UNOP' and $op->first->name eq 'const' and $op->first->private & 64
680 1 0 0 $op->first->name eq 'const' && $op->first->private & 2
708 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
728 0 0 0 not B::Deparse::null($false) and B::Deparse::is_ifelse_cont($false)
780 594 0 0 $op->flags & 128 and not $op->flags & 32
794 0 0 0 B::Deparse::is_scalar($kid->first) and $kid->first->name ne 'rv2cv'
802 0 34 560 class($gv) eq 'GV' and class($cv = $gv->CV) ne 'SPECIAL'
34 0 0 $gv->FLAGS & 2048 and class($cv = $gv->RV) eq 'CV'
818 594 0 0 not $kid =~ /::/ and $kid ne 'x'
859 1 593 0 not $declared and defined $proto
867 593 0 1 $declared and defined $proto
593 0 1 $declared and defined $proto and not $amper
898 1 0 0 $dproto eq '$' and B::Deparse::is_scalar($exprs[0])
0 1 0 $dproto ne '$' and defined $proto || $simple
907 0 0 593 $subname_info and $other_ops
950 0 0 0 $subname_info and $other_ops
1078 2 0 4 $from eq $to and $flags eq ''

or 3 conditions

line l !l&&r !l&&!r condition
396 2 0 0 $cx >= 5 || $self->{'parens'}
434 4 6 0 $keyword =~ /^CORE::/ or $kid->name ne 'const'
438 10 0 0 $text =~ /^\$?(\w|::|\`)+$/ or $text =~ /[<>]/
444 8 0 2 $cx >= 5 or $self->{'parens'}
560 3210 9 2602 $lop->private & 192 || $lop->name eq 'undef'
2602 0 3219 not $lop->private & 192 || $lop->name eq 'undef' or $lop->name =~ /^(?:entersub|exit|open|split)\z/
567 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
644 0 0 0 $anoncode->name eq 'anoncode' or not B::Deparse::null($anoncode = $kid->sibling) and $anoncode->name eq 'anoncode'
654 0 0 0 $self->{'parens'} or $kid->sibling->private & 8
708 0 0 0 B::Deparse::is_scope($false) || B::Deparse::is_ifelse_cont($false)
802 560 0 34 class($gv) eq 'GV' and class($cv = $gv->CV) ne 'SPECIAL' or $gv->FLAGS & 2048 and class($cv = $gv->RV) eq 'CV'
810 0 0 594 $self->lex_in_scope("&$kid") or $self->lex_in_scope("&$kid", 1)
840 0 0 0 is_subscriptable($kid->first) || $kid->first->name eq 'padcv'
857 0 1 593 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
879 0 0 594 $prefix or $amper
898 1 0 0 defined $proto || $simple