Condition Coverage

lib/B/DeparseTree/TreeMain.pm
Criterion Covered Total %
condition 31 122 25.4


and 3 conditions

line !l l&&!r l&&r condition
297 29 0 0 $sv->FLAGS & 2048 and $sv->can('RV')
380 0 0 0 $] > 5.0150051 and $self->{'curcv'}
0 0 0 $] > 5.0150051 and $self->{'curcv'} and $self->{'curcv'}->object_2svref == $ref->object_2svref
400 0 0 0 $self->{'in_subst_repl'} and $const =~ /^[0-9]/
483 0 2097 4 $addr and not exists $self->{'optree'}{$addr}
532 2088 0 0 B::class($op) eq 'COP' and not $expr->{'text'}
561 14 0 0 defined $nseq and $nseq < $limit_seq
566 1340 0 2 defined $self->{'limit_seq'} and !defined($limit_seq) || $self->{'limit_seq'} < $limit_seq
630 24686 0 24 class($op) eq 'PMOP' and ref $op->pmreplroot
24686 20 4 class($op) eq 'PMOP' and ref $op->pmreplroot and ${$op->pmreplroot;}
20 0 4 class($op) eq 'PMOP' and ref $op->pmreplroot and ${$op->pmreplroot;} and $op->pmreplroot->isa('B::OP')
831 0 0 0 $root->name eq 'leave' and ($kid = $root->first)->name eq 'enter'
0 0 0 $root->name eq 'leave' and ($kid = $root->first)->name eq 'enter' and not B::Deparse::null($kid = $kid->sibling)
0 0 0 $root->name eq 'leave' and ($kid = $root->first)->name eq 'enter' and not B::Deparse::null($kid = $kid->sibling) and $kid->name eq 'stub'
0 0 0 $root->name eq 'leave' and ($kid = $root->first)->name eq 'enter' and not B::Deparse::null($kid = $kid->sibling) and $kid->name eq 'stub' and not B::Deparse::null($kid = $kid->sibling)
0 0 0 $root->name eq 'leave' and ($kid = $root->first)->name eq 'enter' and not B::Deparse::null($kid = $kid->sibling) and $kid->name eq 'stub' and not B::Deparse::null($kid = $kid->sibling) and $kid->name eq 'null'
0 0 0 $root->name eq 'leave' and ($kid = $root->first)->name eq 'enter' and not B::Deparse::null($kid = $kid->sibling) and $kid->name eq 'stub' and not B::Deparse::null($kid = $kid->sibling) and $kid->name eq 'null' and class($kid) eq 'COP'
0 0 0 $root->name eq 'leave' and ($kid = $root->first)->name eq 'enter' and not B::Deparse::null($kid = $kid->sibling) and $kid->name eq 'stub' and not B::Deparse::null($kid = $kid->sibling) and $kid->name eq 'null' and class($kid) eq 'COP' and B::Deparse::null($kid->sibling)
1119 0 0 0 defined $use_dec and $self->{'expand'} < 5
1211 0 0 67 $key =~ /^feature_/ && $^V ge 5.15.6
1212 0 54 13 $is_feature and not $doing_features
1231 0 0 55 $key =~ /^feature_/ && $^V ge 5.15.6
1232 0 42 13 $is_feature and not $doing_features
1279 0 0 0 $warnings->isa('B::SPECIAL') and $$warnings == 4
0 0 0 $warnings->isa('B::SPECIAL') and $$warnings == 5
1292 0 0 0 defined $warning_bits and !defined($self->{'warnings'}) || $self->{'warnings'} ne $warning_bits
1376 2087 0 0 scalar @{$self->{'subs_todo'};} and $seq > $self->{'subs_todo'}[0][0]
1383 0 0 0 !$lexical && $cv && $cv->OUTSIDE
1384 0 0 0 not $lexical and $cv
0 0 0 not $lexical and $cv and ${\0 unless $cv->OUTSIDE;} != ${$self->{'curcv'};}

or 2 conditions

line l !l condition
601 0 24710 $self->{'ops'}{$$op} ||= {}
660 12770 0 $self->{'ops'}{$$op} ||= {}
769 0 0 perlstring($/) || 'undef'
770 0 0 perlstring($O::savebackslash) || 'undef'

or 3 conditions

line l !l&&r !l&&!r condition
561 1328 0 14 not defined $limit_seq or defined $nseq and $nseq < $limit_seq
566 0 2 0 !defined($limit_seq) || $self->{'limit_seq'} < $limit_seq
768 0 0 0 $/ ne "\n" or defined $O::savebackslash
979 0 0 1330 not defined $cv or $cv->isa('B::NULL')
1108 0 0 0 $name //= $self->gv_name($gv)
1213 12 0 42 not exists $from->{$key} or $from->{$key} ne $to->{$key}
1239 3 0 2084 @features or @unfeatures
1292 0 0 0 !defined($self->{'warnings'}) || $self->{'warnings'} ne $warning_bits