Branch Coverage

blib/lib/XML/Filter/Dispatcher/Compiler.pm
Criterion Covered Total %
branch 42 88 47.7


line true false branch
48 1 1 ref $_[0] ? :
94 0 3 if $$_{'CodeRef'}
97 2 1 if ($$_{'IsInlineCode'})
121 1 0 unless $$self{'Imports'}
125 0 1 unless defined $preamble
127 1 0 if length $preamble
189 0 1 if ($$self{'Debug'})
235 0 5 unless (eval { do { 'XML::Filter::Dispatcher::Parser'->parse($self, $expr, $action); 1 } })
250 0 1 unless $$self{'OpTree'}
268 0 1 if ($$self{'Debug'})
284 2 0 unless defined $ENV{'XFDOPTIMIZE'} and not $ENV{'XFDOPTIMIZE'} or defined $$self{'Optimize'} and not $$self{'Optimize'}
288 0 2 if ($$self{'Debug'} > 1)
291 0 0 if $$self{$_}
308 10 2 unless exists $$self{$tree_name} and $$self{$tree_name}
344 4 10 if $_
354 0 5 unless ($rule->isa('XFD::Rule'))
363 0 5 $n->isa('XFD::union') ? :
370 25 5 unless exists $$self{$tree_name} and $$self{$tree_name}
374 5 0 unless @kids
375 0 0 @kids == 1 ? :
389 5 0 if ($op->isa('XFD::doc_node'))
392 0 5 if ($kid->isa('XFD::union')) { }
397 0 0 $kid->get_kids ? :
401 0 5 $op->get_next ? :
413 5 0 if ($op->isa('XFD::Axis::descendant_or_self'))
416 0 5 if ($kid->isa('XFD::union')) { }
421 0 0 $kid->get_kids ? :
427 0 5 $op->get_next ? :
439 5 0 if ($op->isa('XFD::EventType::node'))
441 0 5 if ($kid->isa('XFD::union')) { }
447 0 0 $op->get_kids ? :
453 0 5 $op->get_next ? :
465 0 5 if ($op->isa('XFD::Axis::end_element'))
478 5 0 if ($op->isa('XFD::Axis::child')) { }
0 0 elsif ($op->isa('XFD::Axis::attribute')) { }
480 0 0 if ($kid->isa('XFD::node_name') or $kid->isa('XFD::namespace_test') or $kid->isa('XFD::node_local_name'))
491 0 0 if ($kid->isa('XFD::EventType::node'))
507 0 0 if ($kid->isa('XFD::node_name') or $kid->isa('XFD::namespace_test') or $kid->isa('XFD::node_local_name'))
527 0 14 unless $op
529 5 9 if $op->isa('XFD::Action')
533 4 5 if ($op->isa('XFD::union')) { }
541 0 5 if (@$_ > 1 and $$_[0]->can('force_set_next'))
555 0 4 if $op->get_kids == 1
560 0 5 unless $op->can('force_set_next')