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 639 42 unless defined $namespace
219 4 252 if (exists $scope->{$name}) { }
247 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 99 1 defined $str ? :
1 99 unless (length(defined $str ? $str : ''))
387 12 645 if ($type eq 'symbol' and $value eq 'true') { }
7 638 elsif ($type eq 'symbol' and $value eq 'false') { }
1 637 elsif ($type eq 'symbol' and $value eq 'nil') { }
0 637 elsif ($type eq 'accessor') { }
0 637 elsif ($type eq 'sender') { }
40 597 elsif ($type eq 'syntaxquotation' or $type eq 'quotation') { }
448 149 elsif ($type eq 'symbol' and $self->{'syntaxquotation_scope'} == 0 and $self->{'quotation_scope'} == 0 or $type eq 'dequotation' and $self->{'syntaxquotation_scope'} > 0) { }
0 149 elsif ($type eq 'symbol' and $self->{'quotation_scope'} > 0) { }
69 80 elsif ($class eq 'Seq') { }
403 40 0 if $type eq 'syntaxquotation'
404 0 40 if $type eq 'quotation'
406 40 0 if $type eq 'syntaxquotation'
407 0 40 if $type eq 'quotation'
419 0 448 if $type eq 'dequotation' and $self->{'syntaxquotation_scope'} == 0
421 33 415 if ($type eq 'dequotation' and $value =~ /^@(\S+)$/)
424 256 192 if $self->word_is_reserved($name)
427 0 192 unless defined $var
437 0 69 if $type eq 'list' and $ast->size == 0
441 33 170 if ($i->type eq 'dequotation' and $i->value =~ /^@/) { }
443 0 33 if $dl->type ne 'list'
464 308 607 if ($type eq 'list') { }
0 607 elsif ($type eq 'accessor') { }
0 607 elsif ($type eq 'sender') { }
370 237 elsif ($type eq 'symbol') { }
40 197 elsif ($type eq 'syntaxquotation') { }
0 197 elsif ($type eq 'quotation') { }
5 192 elsif ($class eq 'Seq' and $type eq 'vector') { }
13 179 elsif ($class eq 'Seq' and $type eq 'map' || $type eq 'meta') { }
10 338 elsif ($class eq 'Seq' and $type eq 'xml') { }
466 0 308 if ($size == 0)
472 255 53 if ($ftype eq 'symbol') { }
0 53 elsif ($ftype eq 'key accessor') { }
0 53 elsif ($ftype eq 'index accessor') { }
19 34 elsif ($ftype eq 'function') { }
0 34 elsif ($ftype eq 'perlfunction') { }
34 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 1 if (defined $rest_args) { }
626 0 1 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 255 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') { }