Branch Coverage

blib/lib/Marpa/R2/MetaAST.pm
Criterion Covered Total %
branch 177 280 63.2


line true false branch
36 2 201 unless eval { do { $meta_recce->read($p_rules_source) } }
39 1 200 if (my $ambiguity_status = $meta_recce->ambiguous)
44 0 200 unless defined $value_ref
86 0 200 unless $eval_ok
96 190 0 if ($lexer eq "L0")
100 0 0 if substr($lexer_name, 0, 2) ne "L-"
121 0 0 unless defined $start_lhs
138 0 734 if exists $self->{$key}
147 715 886 if substr($Marpa::R2::Internal::SUBGRAMMAR, 0, 1) eq "L"
152 786 100 unless defined $blessing
154 72 28 if $blessing =~ /\A [\w] /msx
155 0 28 if $blessing eq "::undef"
158 28 0 if ($blessing eq "::lhs")
160 0 28 if ($blessing =~ / [^ [:alnum:]] /msx)
308 0 1345 unless ($rhs)
428 177 102 unless defined $is_activated
433 82 20 $_[0][2] eq 'off' ? :
459 108 0 $op_declare->op eq '::=' ? :
468 108 8 if ($key eq "action" and $subgrammar eq "G1")
472 8 0 if ($key eq "bless" and $subgrammar eq "G1")
489 0 27 if (exists $parse->{'discard_default_adverbs'})
500 27 0 if ($key eq "event" and defined $value)
517 0 53 if (exists $parse->{'lexeme_default_adverbs'})
528 40 47 if ($key eq "action")
532 4 43 if ($key eq "bless")
536 43 0 if ($key eq "latm")
552 0 7 if (exists $parse->{'defaults'}{'if_inaccessible'})
575 504 467 if ($op_declare->op eq '::=') { }
576 0 504 if ($current_lexer ne "L0")
590 504 467 if $subgrammar eq "G1"
602 952 19 if ($priority_count <= 1)
615 0 1231 unless ($eval_ok)
628 0 1231 if (substr($subgrammar, 0, 1) eq "L" and grep {not $_;} @mask)
645 127 66 if ($key eq "action")
649 0 66 if ($key eq "assoc")
654 26 40 if ($key eq "bless")
658 5 35 if ($key eq "name")
662 2 33 if ($key eq "null_ranking")
666 33 0 if ($key eq "rank")
677 371 860 if (defined $action)
678 0 371 if substr($subgrammar, 0, 1) eq "L"
685 33 1198 if (defined $rank)
686 0 33 if substr($subgrammar, 0, 1) eq "L"
693 2 1229 if (defined $null_ranking)
694 0 2 if substr($subgrammar, 0, 1) eq "L"
701 0 1231 if (defined $blessing and substr($subgrammar, 0, 1) eq "L")
733 0 114 unless ($eval_ok)
750 19 0 if $subgrammar eq "G1"
780 0 114 if (substr($subgrammar, 0, 1) eq "L" and grep {not $_;} @mask)
798 44 64 if ($key eq "action")
802 21 43 if ($key eq "assoc")
806 43 0 if ($key eq "bless")
810 0 0 if ($key eq "name")
814 0 0 if ($key eq "null_ranking")
818 0 0 if ($key eq "rank")
830 107 7 if (defined $action)
831 0 107 if substr($subgrammar, 0, 1) eq "L"
838 0 114 if (defined $null_ranking)
839 0 0 if substr($subgrammar, 0, 1) eq "L"
846 0 114 if (defined $rank)
847 0 0 if substr($subgrammar, 0, 1) eq "L"
854 0 114 if (defined $blessing and substr($subgrammar, 0, 1) eq "L")
871 38 76 if $next_priority >= $priority_count
875 29 85 unless (scalar @arity)
881 19 66 if (scalar @arity == 1)
882 0 19 if $rhs_length == 1
886 64 21 if ($assoc eq "L")
893 10 11 if ($assoc eq "R")
900 11 0 if ($assoc eq "G")
923 61 1 if ($op_declare->op eq '::=') { }
924 0 61 if ($current_lexer ne "L0")
938 61 1 if $subgrammar eq "G1"
955 8 0 if ($key eq "action")
959 0 0 if ($key eq "bless")
963 0 0 if ($key eq "name")
967 0 0 if ($key eq "null_ranking")
971 0 0 if ($key eq "rank")
981 33 29 if (defined $action)
982 0 33 if substr($subgrammar, 0, 1) eq "L"
989 0 62 if (defined $null_ranking)
990 0 0 if substr($subgrammar, 0, 1) eq "L"
997 0 62 if (defined $rank)
998 0 0 if substr($subgrammar, 0, 1) eq "L"
1005 0 62 if (defined $blessing and substr($subgrammar, 0, 1) eq "L")
1027 0 63 if (defined $declarations)
1039 2 105 if ($key eq "priority")
1043 54 51 if ($key eq "pause")
1044 10 44 if ($raw_value eq "before")
1048 44 0 if ($raw_value eq "after")
1057 49 2 if ($key eq "event")
1061 2 0 if ($key eq "latm")
1070 0 63 if (exists $declarations{'event'} and not exists $declarations{'pause'})
1130 0 104 if (defined $parse->{'start_lhs'})
1164 51 0 if ($key eq "event")
1180 51 98 if defined $event
1194 53 141 if ($op_declare->op eq '::=') { }
1195 0 53 if ($current_lexer ne "L0")
1209 53 141 if $subgrammar eq "G1"
1217 133 61 $quantifier->evaluate($parse) eq '+' ? :
1233 20 17 if ($key eq "action")
1237 3 14 if ($key eq "bless")
1241 0 14 if ($key eq "name")
1245 1 13 if ($key eq "proper")
1249 0 13 if ($key eq "rank")
1253 0 13 if ($key eq "null_ranking")
1257 13 0 if ($key eq "separator")
1269 13 181 if defined $separator
1271 1 193 if defined $proper
1274 41 153 if (defined $action)
1275 0 41 if substr($subgrammar, 0, 1) eq "L"
1282 0 194 if (defined $null_ranking)
1283 0 0 if substr($subgrammar, 0, 1) eq "L"
1290 0 194 if (defined $rank)
1291 0 0 if substr($subgrammar, 0, 1) eq "L"
1298 0 194 if (defined $blessing and substr($subgrammar, 0, 1) eq "L")
1318 0 54 if (defined $completion_events->{$symbol_name})
1336 0 46 if (defined $nulled_events->{$symbol_name})
1355 0 52 if (defined $prediction_events->{$symbol_name})
1373 0 0 if ($raw_lexer_name eq "L0")
1378 0 0 if ($raw_lexer_name =~ /\A [[:upper:]] [[:digit:]]+ \z/msx)
1404 0 0 unless ($alternative)
1484 1392 609 unless defined $adverb_list_items
1520 307 8 if (substr($subgrammar, 0, 1) eq "L")
1557 266 308 $subgrammar eq 'G1' ? :
1572 308 266 if $Marpa::R2::Internal::SUBGRAMMAR ne "G1"
1606 0 6351 if ref $cc_components ne "ARRAY"
1608 37 6314 $flags ? :
1611 0 6351 unless (defined eval { do { $regex = qr/$flags$char_class/msx; 1 } })
1613 0 0 if $flags
1621 1792 29 unless $raw_flag_string
1625 6 29 unless $raw_flag
1626 28 1 if ($raw_flag eq "i")
1630 1 0 if ($raw_flag eq "ic")
1660 1247 0 unless (defined $symbol)
1668 0 1247 unless $regex
1689 346 1670 $subgrammar eq 'G1' ? :
1704 370 0 $Marpa::R2::Internal::SUBGRAMMAR eq 'G1' ? :
1705 298 72 if defined $symbol_data
1706 6 66 $base_symbol =~ /\s/msx ? :
1742 0 315 if scalar @{$names;} != 1