Branch Coverage

blib/lib/Language/LispPerl/Evaler.pm
Criterion Covered Total %
branch 125 232 53.8


line true false branch
19 0 6 if ($@)
178 646 42 unless defined $namespace
219 4 255 if (exists $scope->{$name}) { }
250 5 elsif (exists $$scope{$self->current_namespace . '#' . $name}) { }
5 0 elsif (exists $$scope{'#' . $name}) { }
241 0 0 if ($sd == 0) { }
270 1 8 if (-f "$file$ext") { }
5 3 elsif (-f $dist_dir . "/lisp/$file$ext") { }
277 0 33 if (-f "$p/$file$ext")
302 0 6 if scalar @{$self->scopes;} > 1
306 1 5 if exists $self->{'loaded_files'}{$file}
362 102 1 defined $str ? :
1 102 unless (length(defined $str ? $str : ''))
387 12 657 if ($type eq 'symbol' and $value eq 'true') { }
7 650 elsif ($type eq 'symbol' and $value eq 'false') { }
1 649 elsif ($type eq 'symbol' and $value eq 'nil') { }
0 649 elsif ($type eq 'accessor') { }
0 649 elsif ($type eq 'sender') { }
41 608 elsif ($type eq 'syntaxquotation' or $type eq 'quotation') { }
455 153 elsif ($type eq 'symbol' and $self->{'syntaxquotation_scope'} == 0 and $self->{'quotation_scope'} == 0 or $type eq 'dequotation' and $self->{'syntaxquotation_scope'} > 0) { }
0 153 elsif ($type eq 'symbol' and $self->{'quotation_scope'} > 0) { }
70 83 elsif ($class eq 'Seq') { }
403 41 0 if $type eq 'syntaxquotation'
404 0 41 if $type eq 'quotation'
406 41 0 if $type eq 'syntaxquotation'
407 0 41 if $type eq 'quotation'
419 0 455 if $type eq 'dequotation' and $self->{'syntaxquotation_scope'} == 0
421 33 422 if ($type eq 'dequotation' and $value =~ /^@(\S+)$/)
424 260 195 if $self->word_is_reserved($name)
427 0 195 unless defined $var
437 0 70 if $type eq 'list' and $ast->size == 0
441 33 173 if ($i->type eq 'dequotation' and $i->value =~ /^@/) { }
443 0 33 if $dl->type ne 'list'
464 313 617 if ($type eq 'list') { }
0 617 elsif ($type eq 'accessor') { }
0 617 elsif ($type eq 'sender') { }
377 240 elsif ($type eq 'symbol') { }
41 199 elsif ($type eq 'syntaxquotation') { }
0 199 elsif ($type eq 'quotation') { }
5 194 elsif ($class eq 'Seq' and $type eq 'vector') { }
13 181 elsif ($class eq 'Seq' and $type eq 'map' || $type eq 'meta') { }
10 342 elsif ($class eq 'Seq' and $type eq 'xml') { }
466 0 313 if ($size == 0)
472 259 54 if ($ftype eq 'symbol') { }
0 54 elsif ($ftype eq 'key accessor') { }
0 54 elsif ($ftype eq 'index accessor') { }
19 35 elsif ($ftype eq 'function') { }
0 35 elsif ($ftype eq 'perlfunction') { }
35 0 elsif ($ftype eq 'macro') { }
476 0 0 if $size == 1
480 0 0 if $mtype ne 'map' and $mtype ne 'meta'
484 0 0 if ($size == 2) { }
0 0 elsif ($size == 3) { }
487 0 0 unless exists $mvalue->{$fvalue}
492 0 0 if ($v->type eq 'nil') { }
506 0 0 if $size == 1
510 0 0 if $vtype ne 'vector' and $vtype ne 'list' and $vtype ne 'xml'
517 0 0 if $fvalue >= scalar @{$vvalue;}
518 0 0 if ($size == 2) { }
0 0 elsif ($size == 3) { }
552 0 21 if ($name eq '&') { }
559 0 21 if $i >= $rrargsn
564 0 19 if (defined $rest_args) { }
571 0 19 if $i < $rrargsn
585 0 0 if defined $ast->second and $ast->second->type eq 'meta'
589 0 0 defined $meta ? :
607 33 65 if ($name eq '&') { }
614 0 65 if $i >= $rargsn
619 33 2 if (defined $rest_args) { }
626 0 2 if $i < $rargsn
646 0 0 if ($at eq 'number') { }
0 0 elsif ($at eq 'string' or $at eq 'keyword') { }
660 0 0 if $sn->type ne 'string' and $sn->type ne 'keyword'
688 0 13 if $n % 2 != 0
692 0 14 if $k->type ne 'keyword' and $k->type ne 'string'
701 10 3 if $type eq 'meta'
706 0 10 if $size == 0
709 0 10 if ($firsttype ne 'symbol')
714 0 0 if $firsttype ne 'symbol' and $firsttype ne 'string' and $firsttype ne 'keyword'
726 0 2 if $it ne 'string' and $it ne 'xml' and $it ne 'meta' and $it ne 'list'
733 2 11 if ($it eq 'meta') { }
0 11 elsif ($it eq 'list') { }
772 259 0 if (my $function = $self->builtins->has_function($fn))
788 6 6 if (defined $meta)
789 6 0 if (exists $meta->value->{'return'})
791 0 6 if $rt->type ne 'string' and $rt->type ne 'keyword'
797 0 6 if (exists $meta->value->{'arguments'})
799 0 0 if $ats->type ne 'vector'
802 0 0 if $arg->type ne 'string' and $arg->type ne 'keyword'
815 0 14 if ($i < scalar @fargtypes) { }
817 0 0 if ($ft eq 'scalar') { }
0 0 elsif ($ft eq 'array') { }
0 0 elsif ($ft eq 'hash') { }
0 0 elsif ($ft eq 'ref') { }
834 0 14 if (ref $pobj eq 'ARRAY') { }
0 14 elsif (ref $pobj eq 'HASH') { }
847 11 1 if ($ret_type eq 'scalar') { }
0 1 elsif ($ret_type eq 'ref-scalar') { }
0 1 elsif ($ret_type eq 'array') { }
0 1 elsif ($ret_type eq 'ref-array') { }
0 1 elsif ($ret_type eq 'hash') { }
0 1 elsif ($ret_type eq 'ref-hash') { }
0 1 elsif ($ret_type eq 'nil') { }
1 0 elsif ($ret_type eq 'raw') { }
892 13 3 if ($type eq 'string' or $type eq 'number' or $type eq 'quotation' or $type eq 'keyword' or $type eq 'perlobject') { }
0 3 elsif ($type eq 'bool') { }
1 2 elsif ($type eq 'nil') { }
0 2 elsif ($type eq 'list' or $type eq 'vector') { }
0 2 elsif ($type eq 'map') { }
2 0 elsif ($type eq 'function') { }
901 0 0 if ($value eq 'true') { }
963 1 2 if (not defined ref $v or ref $v eq '') { }
0 2 elsif (ref $v eq 'SCALAR') { }
0 2 elsif (ref $v eq 'HASH') { }
0 2 elsif (ref $v eq 'ARRAY') { }
0 2 elsif (ref $v eq 'CODE') { }