Branch Coverage

inc/Pegex/Optimizer.pm
Criterion Covered Total %
branch 33 52 63.4


line true false branch
11 1 274 if $$tree{'+optimized'}
12 0 274 if $self->parser->{'maxparse'}
15 823 10976 unless ref $node
30 7 25523 defined $max ? :
25530 1919 unless defined $$node{'+min'}
32 1919 25523 defined $min ? :
27442 7 unless defined $$node{'+max'}
34 26355 1094 unless defined $$node{'+asr'}
38 0 45311 if $kind eq 'xxx'
39 27449 17862 if ($$node{'rule'} = $$node{".$kind"})
42 15091 12358 if ($kind eq 'ref')
43 0 15091 unless my $rule = $$node{'rule'}
44 0 15091 if (my $method = $self->grammar->can("rule_$rule")) { }
0 15091 elsif (not $self->grammar->{'tree'}{$rule}) { }
48 0 0 if (my $method = $self->grammar->can("$rule"))
60 0 27449 unless $$node{'method'} ||= $self->parser->can("match_$kind")
65 3855 23594 if ($$node{'kind'} =~ /^(?:all|any)$/) { }
15091 8503 elsif ($$node{'kind'} eq 'ref') { }
8503 0 elsif ($$node{'kind'} eq 'rgx') { }
72 7945 7146 if (my $action = $self->receiver->can("got_$ref")) { }
7146 0 elsif (my $gotrule = $self->receiver->can('gotrule')) { }
78 0 15091 if ($self->parser->{'debug'})
106 0 0 $asr == 1 ? :
0 0 $asr == -1 ? :
112 0 0 if ($result = $self->$method($ref, $parent)) { }
130 0 0 if $counter++ >= $maxparse