Branch Coverage

blib/lib/Anarres/Mud/Driver/Compiler/Check.pm
Criterion Covered Total %
branch 1 246 0.4


line true false branch
32 0 0 unless $Anarres::Mud::Driver::Compiler::Check::DEBUG & $class
47 0 0 if $type
57 0 0 unless $type
263 0 0 unless ($self->type->equals(\'?'))
267 0 0 if $type->equals(\'i')
269 0 0 if $type->equals(\'s')
271 0 0 if $type->is_array
273 0 0 if $type->is_mapping
275 0 0 if $type->equals(\'f')
277 0 0 if $type->equals(\'o')
286 0 0 if ref($stmt) =~ /::Block$/
287 0 0 unless ref($stmt) =~ /::Stmt[^:]+$/
311 0 0 unless $type
312 0 0 if $type->equals($newtype)
317 0 0 if $type->compatible($newtype)
320 0 0 if $newtype->equals(\'b')
324 0 0 if $type->equals(\'?')
326 0 0 if $type->equals(\'i') and $newtype->equals(\'s')
342 0 0 unless (ref $Anarres::Mud::Driver::Compiler::Check::OPTYPES{$opcode})
343 0 0 if $Anarres::Mud::Driver::Compiler::Check::OPTYPES{$opcode}
352 0 0 unless (@values == @template)
372 0 0 if (ref $type eq 'ARRAY')
377 0 0 if (not defined $type) { }
0 0 elsif ($type eq 'BLOCK') { }
382 0 0 unless $tval->check($program, @rest)
386 0 0 if (not $val->check($program, @rest)) { }
0 0 elsif (not $tval = $val->promote($type)) { }
401 0 0 if ($_ == 2) { }
402 0 0 unless ($tval->lvaluep)
418 0 0 if @errors
450 0 0 unless @errors
476 0 0 unless @errors
479 0 0 if @errors
492 0 0 if ($self->type)
504 0 0 if (ref $Anarres::Mud::Driver::Compiler::Check::OPTYPES{$opcode} eq 'ARRAY') { }
0 0 elsif ($Anarres::Mud::Driver::Compiler::Check::OPTYPES{$opcode} eq 'CHOOSE') { }
0 0 elsif ($Anarres::Mud::Driver::Compiler::Check::OPTYPES{$opcode} eq 'NOCHECK') { }
0 0 elsif ($Anarres::Mud::Driver::Compiler::Check::OPTYPES{$opcode} eq 'CODE') { }
535 0 0 unless $_
536 0 0 unless $_->check(@rest)
556 0 21 unless my $sub = \&{"${source}::$subname";}
581 0 0 if ($self->value(0) == 0)
582 0 0 unless ($newtype->equals(\'i'))
601 0 0 unless $self->check_children(\@values, $program, @rest)
613 0 0 if $flag
627 0 0 unless $self->check_children(\@values, $program, @rest)
637 0 0 if ($idx & 1) { }
642 0 0 if ($key) { }
657 0 0 if $flag
659 0 0 $ret ? :
684 0 0 unless $program
685 0 0 if ($var = $program->local($name)) { }
0 0 elsif ($var = $program->global($name)) { }
746 0 0 unless $_->check($program, @rest)
749 0 0 if (@failed)
762 0 0 unless $type
776 0 0 unless $self->check_children(\@values, $program, @rest)
787 0 0 if $_[0]->flags & 2
788 0 0 if ($_[0]->value(0)->lvaluep)
813 0 0 unless $val->check($program, @rest)
815 0 0 unless $idx->check($program, @rest)
817 0 0 unless $val->type->is_array
820 0 0 unless $idx->type->equals(\'i')
823 0 0 if @errors
839 0 0 unless $val->check($program, @rest)
841 0 0 unless $idx->check($program, @rest)
843 0 0 unless $val->type->is_mapping
847 0 0 unless $idx->type->equals(\'s') or $idx->type->equals(\'i')
852 0 0 if @errors
853 0 0 if $endp
864 0 0 if ($_[0]->value(0)->lvaluep)
875 0 0 unless $value->check($program, @rest)
878 0 0 if (not $type->is_class) { }
922 0 0 unless $self->check_children(\@values, $program, @rest)
929 0 0 unless ($sexp)
937 0 0 unless ($sfmt)
957 0 0 unless $self->check_children([$lval, $exp], $program, @rest)
959 0 0 unless ($lval->lvaluep)
966 0 0 unless ($rval)
992 0 0 unless $lval->check($program, @rest)
993 0 0 unless $rval->check($program, @rest)
994 0 0 unless $ret
1012 0 0 unless $lval->check($program, @rest)
1013 0 0 unless $rval->check($program, @rest)
1014 0 0 unless $ret
1015 0 0 unless ($lval->lvaluep)
1035 0 0 unless $self->check_children([$left, $right], @rest)
1038 0 0 unless $left->type->is_array
1040 0 0 unless $right->type->is_array
1042 0 0 if @errors
1054 0 0 unless $self->check_children([$left, $right], @rest)
1057 0 0 unless $left->type->is_array
1059 0 0 unless $right->type->is_array
1061 0 0 if @errors
1083 0 0 unless $self->check_children([$left, $right], @rest)
1086 0 0 unless $left->type->is_mapping
1088 0 0 unless $right->type->is_mapping
1090 0 0 if @errors
1102 0 0 unless $self->check_children([$left, $right], @rest)
1115 0 0 unless $self->check_children([$cond, $left, $right], @rest)
1146 0 0 unless $_->check($program, @rest)
1152 0 0 $ret ? :
1166 0 0 if ($self->value(1)) { }
1176 0 0 unless $self->check_children(\@values, $program, @rest)
1189 0 0 unless ($lv0->lvaluep)
1206 0 0 unless ($lv0->lvaluep)
1210 0 0 unless ($lv0->type->equals(\'s'))
1228 0 0 unless $exp->check($program, @rest)
1232 0 0 unless $block->check($program, @rest)
1238 0 0 $ret ? :
1248 0 0 unless $case->check($program, @rest)
1250 0 0 unless ($case->constp)
1302 0 0 if ($self->value(2) and not ref($self->value(2)) =~ /::StmtIf$/)
1310 0 0 unless $cond->check($program, @rest)
1324 0 0 unless $if->check($program, @rest)
1327 0 0 if ($else)
1330 0 0 unless $else->check($program, @rest)
1335 0 0 $ret ? :
1345 0 0 if ($val)
1346 0 0 unless $val->check($program, @rest)
1363 0 0 unless $self->check_children(\@values, $program, @rest)
1365 0 0 unless ($values[1]->lvaluep)
1370 0 0 $ret ? :