Branch Coverage

blib/lib/Language/P/Intermediate/Generator.pm
Criterion Covered Total %
branch 127 164 77.4


line true false branch
25 63 21 unless $self->_options
36 0 0 if ($option eq 'dump-ir')
109 0 16 if ($outer)
124 0 16 if $regex->flags
154 21 60 $is_sub ? :
162 21 60 if ($outer)
183 432 135 if @{$block->successors;} != 2
186 50 220 if @{$succ->predecessors;} >= 2
196 0 81 if ($self->_options->{'dump-ir'})
295 0 112 if ($tree->indirect) { }
314 2 40 if ($tree->function == 167 and not $tree->arguments) { }
18 22 elsif ($builtins_no_list{$tree->function}) { }
319 6 12 unless $tree->arguments
333 25 41 unless $tree->arguments
337 25 41 unless $tree->arguments
340 44 22 if (ref $tree->function) { }
345 22 0 if ($tree->function == 141)
349 22 5 if $$block{'is_sub'}
383 0 14 unless $tree->left->isa('Language::P::ParseTree::Symbol')
413 19 146 if ($tree->op == 96 or $tree->op == 98) { }
106 40 elsif ($tree->op == 6) { }
421 9 10 $tree->op == 96 ? :
453 3 86 if ($tree->op == 96 or $tree->op == 98) { }
1 85 elsif (not $conditionals{$tree->op}) { }
456 3 0 $tree->op == 96 ? :
494 242 194 if ($tree->is_number) { }
194 0 elsif ($tree->is_string) { }
495 240 2 if ($tree->flags & 8) { }
2 0 elsif ($tree->flags & 16) { }
0 0 elsif ($tree->flags & 64) { }
0 0 elsif ($tree->flags & 32) { }
0 0 elsif ($tree->flags & 128) { }
556 8 22 if ($is_decl)
574 4 8 $tree->continue ? :
585 1 11 $is_until ? :
591 0 12 unless $tree->block->isa('Language::P::ParseTree::Block')
594 4 8 if ($tree->continue)
616 1 6 $tree->continue ? :
632 4 3 unless ($is_lexical)
653 4 3 if (not $is_lexical) { }
685 0 7 unless $tree->block->isa('Language::P::ParseTree::Block')
688 1 6 if ($tree->continue)
728 0 4 unless $tree->block->isa('Language::P::ParseTree::Block')
753 6 13 if ($tree->iffalse)
764 2 21 $is_unless ? :
770 10 13 unless $elsif->block->isa('Language::P::ParseTree::Block')
839 2 5 if ($tree->continue)
888 0 25 if (@{$tree->components;} == 1)
908 0 6 if $tree->reference
913 6 0 if ($tree->type == 2) { }
0 0 elsif ($tree->type == 3) { }
926 3 12 if $node->has_attribute('target')
927 0 12 if ref $node->left
928 0 12 if $node->op == 56
935 0 40 if $node->isa('Language::P::ParseTree::Subroutine')
936 26 14 unless $node->is_loop
938 9 5 unless $target_label
939 0 5 unless $node->has_attribute('label')
940 3 2 if $node->get_attribute('label') eq $target_label
952 10 34 if $node->isa('Language::P::ParseTree::Block') and not $node->isa('Language::P::ParseTree::BareBlock')
954 3 41 if $node->is_loop
969 0 6 if $node->isa('Language::P::ParseTree::Subroutine')
973 2 5 if $parents{$node}
974 0 5 if $node->isa('Language::P::ParseTree::Subroutine')
984 0 15 unless $target
986 3 12 $tree->op == 56 ? :
998 3 12 if ($tree->op == 56) { }
1000 3 0 unless ($label_to)
1004 7 2 $tree->op == 44 ? :
3 9 $tree->op == 48 ? :
1007 0 12 unless $label_to = $target->get_attribute($label)
1017 1480 7 unless $tree->has_attribute('label')
1019 4 3 unless ($tree->has_attribute('lbl_label'))
1031 103 248 if $context != 2
1063 0 7 unless $regex_assertions{$type}
1076 2 9 $is_group ? :
1078 2 9 if $capture
1080 2 9 if ($capture) { }
1090 2 9 $capture ? :
1104 5 0 if ($tree->capture)
1113 5 0 if ($tree->capture)
1144 2 2 if (not $is_last) { }