Branch Coverage

blib/lib/YATT/Lite/CGen/Perl.pm
Criterion Covered Total %
branch 221 280 78.9


line true false branch
29 0 314 unless (defined $f->{'cf_entns'})
32 0 314 if ($dup{$f->{'cf_entns'}}++) { }
41 0 156 unless (defined $tmpl->{'cf_entns'})
46 0 156 unless (defined $glob)
50 0 156 if (grep {not defined $_;} @isa)
64 156 0 unless ($self->{'cf_no_lineinfo'})
66 155 1 if (defined(my $fn = $tmpl->fake_filename))
75 12 144 if $tmpl->{'cf_utf8'}
76 3 153 if $tmpl->{'cf_age'}++
86 1 225 if ($widget->{'cf_suppressed'})
112 2 0 $has_nl ? :
125 164 284 $for_decl ? :
131 70 187 if $for_decl
138 426 22 unless defined(my $default = $var->default) and defined(my $mode = $var->dflag)
141 3 19 if ($mode eq '!')
147 2 17 if ($mode eq '|') { }
15 2 elsif ($mode eq '?') { }
2 0 elsif ($mode eq '/') { }
173 0 283 if $localtoks
180 169 636 if defined $pad
181 415 390 if @queue
183 167 638 if $task
184 262 543 if $last and not @{$self->{'curtoks'};}
186 360 445 if $has_nl
191 633 379 unless (ref $node)
194 378 255 if $node ne ''
196 360 273 if $has_nl
198 337 23 if $has_nl and @{$self->{'curtoks'};} || !$self->{'no_last_newline'}
199 374 259 if $has_nl or $node =~ /\n/
203 0 379 unless my $sub = $DISPATCH[$node->[0]]
206 0 358 unless (defined $expr)
210 167 191 if (ref $expr) { }
213 2 189 if length $pad
215 0 191 if $expr =~ /\n/
227 1 75 if (not @_ and $text_quote)
232 98 31 unless (ref $node)
233 46 52 $text_quote ? :
238 0 31 unless my $sub = $$dispatch[$node->[0]]
242 0 31 unless defined $expr
243 0 31 if (ref $expr)
248 73 3 wantarray ? :
278 0 141 if (my $alt = $self->altgen($path->[0])) { }
34 107 elsif (@$path == 2 and my $macro = $self->can('macro_' . join('_', @$path)) || $self->can("macro_$path->[-1]")) { }
299 22 85 if (@path == 2 and my $var = $self->find_callable_var($path[-1]))
306 2 83 unless (my YATT::Lite::Core::Widget $widget = $self->lookup_widget(@path))
313 15 68 unless ($use_this)
316 68 15 $use_this ? :
326 33 14 unless $delegate_vars or $widget->{'has_required_arg'} or $primary or $body
331 2 122 unless (my $formal = $widget->{'arg_dict'}{$name})
334 0 122 if (defined $argOrder[my $argno = $formal->argno]) { }
345 8 75 unless (defined $name)
346 0 8 unless defined($name = $widget->{'arg_order'}[$posArgs++])
350 46 35 if (not my $passThruVar = passThruVar($_)) { }
30 5 elsif (my $actual = $self->find_var($passThruVar)) { }
2 3 elsif (not defined argValue($_) and defined(my $v = $formal->flag)) { }
353 2 28 if ($formal->already_escaped and not $actual->already_escaped) { }
369 26 41 $body ? :
371 15 26 ref $name ? :
377 116 50 if defined $argOrder[$i]
379 4 46 if (my $inherit = $delegate_vars->{$argName}) { }
1 45 elsif ($widget->{'arg_dict'}{$argName}->is_required) { }
387 120 45 defined $_ ? :
393 0 711 if (not defined $type) { }
27 684 elsif (my $sub = $self->can('as_lvalue_' . $type->[0])) { }
415 2 0 $tmpl == $self->{'curtmpl'} ? :
422 0 6 if (my $sub = $self->can('as_escaped_' . $var->type->[0])) { }
433 0 124 unless my $sub = $self->can("as_cast_to_$type")
439 54 14 unless ref $value
447 4 11 unless (ref $value)
455 1 5 ref $value ? :
462 1 2 ref $value ? :
478 125 8 if (not wantarray && ref $name) { }
2 6 elsif (defined $skip) { }
489 33 55 if ($arg->[0] == 6) { }
8 47 elsif ($arg->[0] == 7) { }
499 0 37 if (my $sub = $self->can('pi_of_' . $node->[4][0]))
505 25 12 if (not $body[0] =~ s/^=+//) { }
6 6 elsif (length $& >= 3) { }
514 1 36 unless $expr =~ /\S/
516 24 12 $is_statement ? :
533 1 2 if (@$body >= 2 or @$path >= 2) { }
539 1 0 if (my $sub = $self->{'cf_lcmsg_sink'})
547 2 0 if (my $sub = $self->{'cf_lcmsg_sink'})
557 2 2 if (@$list >= 2 and not ref $list->[0] and not ref $list->[-1] and $list->[0] =~ /^\n+$/ and $list->[-1] =~ /^\n+$/)
560 2 0 if (@$list and not ref $list->[0])
565 7 5 if (not ref $item) { }
0 5 elsif ($item->[0] != 3) { }
0 5 elsif (ref($vspec = $item->[5]) ne 'ARRAY' or $vspec->[0] ne 'var') { }
577 0 5 unless my $var = $self->find_var($name)
579 4 1 unless ($uniq->{$name})
583 3 2 $ref_numeric ? :
585 1 4 if ($ref_numeric and $var->type->[0] eq 'scalar') { }
587 0 1 if ($$ref_numeric)
598 2 2 wantarray ? :
617 0 326 unless @_
619 10 286 if (@_ == 1 and $_[0][0] eq 'call' and my $macro = $self->can("entmacro_$_[0][1]"))
626 0 354 if (not my $sub = $self->can("as_expr_$type")) { }
632 0 307 unless @result
633 30 277 @result > 1 ? :
635 149 158 if (not $escape_now or ref $result) { }
646 6 44 wantarray ? :
650 8 204 unless my $var = $self->find_var($name)
652 25 179 if (my $sub = $self->can('as_expr_var_' . $var->type->[0])) { }
674 11 25 if (my $var = $self->find_callable_var($name))
681 1 24 unless ($tmpl->{'cf_entns'}->can("entity_$name"))
691 1 10 if (my $sub = $self->can('as_expr_call_var_' . $var->type->[0])) { }
733 2 0 if ($name =~ /^\w+$/) { }
759 7 18 unless (defined $name)
760 0 7 unless $name = $$arg_order[$nth++]
763 0 25 unless defined(my $argno = $arg_dict->{$name})
778 0 9 unless $self->feed_arg_spec($primary, \%args, \@args, my($if, $unless))
782 9 0 if ($if) { }
0 0 elsif ($unless) { }
792 6 0 if ($arg->[4][-1] eq 'else') { }
796 2 4 if ($if) { }
0 4 elsif ($unless) { }
809 11 4 defined $guard ? :
822 5 10 $body && @$body ? :
826 1 24 if (my $oldvar = $self->find_var($name))
832 3 21 if (my $sub = $self->can("_macro_my_$typename")) { }
835 0 21 unless my $var = $self->{'scope'}[0]{$name} = $self->mkvar_at(undef, $typename, $name)
842 18 3 $value ? :
849 5 9 if ($has_body)
852 1 4 if ($arg->[0] == 9) { }
893 0 7 unless $self->feed_arg_spec($primary, \%args, \@args, my($list, $my, $nth))
899 0 7 unless (defined $list)
905 6 1 if ($my) { }
917 1 6 if ($nth and my $vn = $nth->[5])
919 1 0 if ($vn =~ /^(\w+)$/) { }
926 1 6 if ($nth_var)
935 1 6 if (not my $passThruVarName = passThruVar($list)) { }
6 0 elsif (my $found_var = $self->find_var($passThruVarName)) { }
938 1 5 unless ($found_var->is_type('list'))
952 0 6 if ($opts and $opts->{'fragment'}) { }
971 0 9 ref $_ ? :
978 0 0 ref $_ ? :
984 0 0 unless (@list == 2)
988 0 0 ref $_ ? :
994 0 0 unless (@list == 2)
998 0 0 ref $_ ? :