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}
533 2088 0 0 B::class($op) eq 'COP' and not $expr->{'text'}
562 14 0 0 defined $nseq and $nseq < $limit_seq
567 1340 0 2 defined $self->{'limit_seq'} and !defined($limit_seq) || $self->{'limit_seq'} < $limit_seq
631 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')
832 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)
1120 0 0 0 defined $use_dec and $self->{'expand'} < 5
1212 0 0 67 $key =~ /^feature_/ && $^V ge 5.15.6
1213 0 54 13 $is_feature and not $doing_features
1232 0 0 55 $key =~ /^feature_/ && $^V ge 5.15.6
1233 0 42 13 $is_feature and not $doing_features
1280 0 0 0 $warnings->isa('B::SPECIAL') and $$warnings == 4
0 0 0 $warnings->isa('B::SPECIAL') and $$warnings == 5
1293 0 0 0 defined $warning_bits and !defined($self->{'warnings'}) || $self->{'warnings'} ne $warning_bits
1377 2087 0 0 scalar @{$self->{'subs_todo'};} and $seq > $self->{'subs_todo'}[0][0]
1384 0 0 0 !$lexical && $cv && $cv->OUTSIDE
1385 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
602 0 24710 $self->{'ops'}{$$op} ||= {}
661 12770 0 $self->{'ops'}{$$op} ||= {}
770 0 0 perlstring($/) || 'undef'
771 0 0 perlstring($O::savebackslash) || 'undef'

or 3 conditions

line l !l&&r !l&&!r condition
562 1328 0 14 not defined $limit_seq or defined $nseq and $nseq < $limit_seq
567 0 2 0 !defined($limit_seq) || $self->{'limit_seq'} < $limit_seq
769 0 0 0 $/ ne "\n" or defined $O::savebackslash
980 0 0 1330 not defined $cv or $cv->isa('B::NULL')
1109 0 0 0 $name //= $self->gv_name($gv)
1214 12 0 42 not exists $from->{$key} or $from->{$key} ne $to->{$key}
1240 3 0 2084 @features or @unfeatures
1293 0 0 0 !defined($self->{'warnings'}) || $self->{'warnings'} ne $warning_bits