Branch Coverage

blib/lib/MarpaX/G4/Parser.pm
Criterion Covered Total %
branch 65 156 41.6


line true false branch
272 6 230 unless defined $value
273 217 13 if ref $value eq "ARRAY" and scalar @$value == 0
274 0 13 if ref $value eq "HASH" and scalar keys %$value == 0
291 0 0 if defined $structure
298 519 0 unless $MarpaX::G4::Actions::trace
306 0 11 if (ref $value eq "ARRAY")
308 0 0 if scalar @$value != 1
319 60 218 if scalar @items == 1
334 0 0 if ref $value eq "ARRAY"
361 0 0 if (ref $comment[0] eq 'HASH') { }
366 0 0 unless exists $entry->{'comment'}
374 0 0 if (scalar @comment > 1)
394 1 1 if (isNotNull($items[0]))
419 0 1 if $MarpaX::G4::Actions::ignoreredirect and not $items[0] =~ /skip|hidden/i
424 1 0 if (scalar @redirlist > 0)
427 0 1 if scalar @$_ > 0
438 6 0 if ref $tokenlist eq "HASH" and exists $tokenlist->{'rightsides'}
440 0 6 if ref $tokenlist ne "ARRAY"
447 2 4 if (scalar @$tokenlist <= 1) { }
464 0 6 if (isNotNull($comment1) or isNotNull($comment2))
467 0 0 if ref $comment1 eq ""
468 0 0 if ref $comment1 eq "HASH"
469 0 0 if (ref $comment2 eq "ARRAY")
473 0 0 if ref $cl eq "HASH"
476 0 0 if scalar @$commentlines > 0
479 6 0 if exists $self->{'grammarstate'}
493 1 7 if ref $rightsides eq "HASH" and exists $rightsides->{'redirect'}
496 8 0 if ref $rightsides eq "HASH" and exists $rightsides->{'rightsides'}
500 0 8 if (isNotNull($comment))
502 0 0 if (ref $comment eq 'HASH' and exists $comment->{'comment'}) { }
0 0 elsif (ref $comment eq 'ARRAY') { }
511 0 0 if (ref $cl eq 'HASH' and exists $cl->{'comment'}) { }
528 0 8 if isNotNull($retclause)
529 3 5 if exists $self->{'grammarstate'}
545 13 9 if (ref $rhs eq 'ARRAY' and scalar @$rhs > 0) { }
556 0 22 if (isNotNull($comment1) or isNotNull($comment2))
559 0 0 if ref $comment1 eq ""
560 0 0 if ref $comment1 eq "HASH"
561 0 0 if (ref $comment2 eq "ARRAY")
565 0 0 if ref $cl eq "HASH"
568 0 0 if scalar @$commentlines > 0
571 1 21 if ref $endrhs eq "HASH" and exists $endrhs->{'redirect'}
573 0 22 if (ref $endrhs eq "ARRAY" and isNotNull($endrhs))
581 8 14 if (ref $endrhs eq "HASH" and exists $endrhs->{'rightsides'})
585 0 8 if ref $rightsides ne "ARRAY"
586 0 8 if ref $rhs ne "HASH" or not exists $rhs->{'rightsides'}
587 0 8 if ref $rhs->{'rightsides'} ne "ARRAY"
593 1 21 if defined $redirect
603 1 13 if isNotNull($opt_redir)
616 0 8 if (ref $rhs eq "ARRAY" and scalar @$rhs == 0)
622 0 8 if ref $rhs ne "HASH"
624 0 8 if exists $rhs->{'redirect'} and not exists $rhs->{'rightsides'}
626 0 8 unless (exists $rhs->{'rightsides'})
633 0 8 if ref $rightsides ne "ARRAY"
636 0 8 if ref $firstrhs ne "HASH"
637 0 8 unless exists $firstrhs->{'rhs'}
649 7 15 if scalar @items > 1
659 0 31 if ref $rulecomponent eq "ARRAY" and scalar @$rulecomponent == 1
661 7 24 if (isNotNull($opt_card))
663 0 7 if (ref $rulecomponent ne "HASH")
665 0 0 if (ref $rulecomponent eq '') { }
677 0 31 if (isNotNull($opt_assoc))
679 0 0 if (ref $rulecomponent ne "HASH")
681 0 0 if (ref $rulecomponent eq '') { }
713 0 0 if ref $rhs eq "ARRAY" and scalar @$rhs == 1
716 0 0 if ref $grouplist eq "HASH"
717 0 0 if ref $grouplist eq "ARRAY"
720 0 0 if isNotNull($opt_colon)
721 0 0 if isNotNull($opt_bar)
740 0 0 if ref $element eq "HASH" and scalar keys %$element == 1
752 0 0 if (ref $element eq "HASH" and scalar keys %$element == 1)
766 0 5 if isNotNull($items[0])
781 21 0 if ref $token eq "HASH" and scalar keys %$token == 1 and exists $token->{'token'}
783 3 19 if isNotNull($opt_card)
791 3 0 if ref $token eq "HASH" and scalar keys %$token == 1 and exists $token->{'token'}
793 0 3 if isNotNull($opt_card)
802 1 34 if isNotNull($opt_neg)
820 0 21 if isNotNull($items[0])