Condition Coverage

blib/lib/Language/MinCaml/TypeInferrer.pm
Criterion Covered Total %
condition 0 111 0.0


and 3 conditions

line !l l&&!r l&&r condition
120 0 0 0 $right_type->kind eq 'Var' and $left_type == $right_type
0 0 0 $right_type->kind eq 'Var' and $right_type->children->[0]
153 0 0 0 $left_type->kind eq 'Unit' and $right_type->kind eq 'Unit'
0 0 0 $left_type->kind eq 'Bool' and $right_type->kind eq 'Bool'
0 0 0 $left_type->kind eq 'Int' and $right_type->kind eq 'Int'
0 0 0 $left_type->kind eq 'Float' and $right_type->kind eq 'Float'
0 0 0 $left_type->kind eq 'Fun' and $right_type->kind eq 'Fun'
0 0 0 $left_type->kind eq 'Tuple' and $right_type->kind eq 'Tuple'
0 0 0 $left_type->kind eq 'Array' and $right_type->kind eq 'Array'
0 0 0 $left_type->kind eq 'Var' and $right_type->kind eq 'Var'
0 0 0 $left_type->kind eq 'Var' and $right_type->kind eq 'Var' and $left_type->children->[0]
0 0 0 $left_type->kind eq 'Var' and $right_type->kind eq 'Var' and $left_type->children->[0] and $right_type->children->[0]
0 0 0 $left_type->kind eq 'Var' and $right_type->kind eq 'Var' and $left_type->children->[0] and $right_type->children->[0] and $left_type->children->[0]->kind eq $right_type->children->[0]->kind
0 0 0 $left_type->kind eq 'Var' and $left_type->children->[0]
0 0 0 $right_type->kind eq 'Var' and $right_type->children->[0]
0 0 0 $left_type->kind eq 'Var' and not $self->occur($left_type, $right_type)
0 0 0 $right_type->kind eq 'Var' and not $self->occur($right_type, $left_type)

or 3 conditions

line l !l&&r !l&&!r condition
59 0 0 0 $kind eq 'Not' or $kind eq 'Neg'
0 0 0 $kind eq 'Not' or $kind eq 'Neg' or $kind eq 'FNeg'
0 0 0 $kind eq 'Add' or $kind eq 'Sub'
0 0 0 $kind eq 'Add' or $kind eq 'Sub' or $kind eq 'Eq'
0 0 0 $kind eq 'Add' or $kind eq 'Sub' or $kind eq 'Eq' or $kind eq 'LE'
0 0 0 $kind eq 'Add' or $kind eq 'Sub' or $kind eq 'Eq' or $kind eq 'LE' or $kind eq 'FAdd'
0 0 0 $kind eq 'Add' or $kind eq 'Sub' or $kind eq 'Eq' or $kind eq 'LE' or $kind eq 'FAdd' or $kind eq 'FSub'
0 0 0 $kind eq 'Add' or $kind eq 'Sub' or $kind eq 'Eq' or $kind eq 'LE' or $kind eq 'FAdd' or $kind eq 'FSub' or $kind eq 'FMul'
0 0 0 $kind eq 'Add' or $kind eq 'Sub' or $kind eq 'Eq' or $kind eq 'LE' or $kind eq 'FAdd' or $kind eq 'FSub' or $kind eq 'FMul' or $kind eq 'FDiv'
0 0 0 $kind eq 'Add' or $kind eq 'Sub' or $kind eq 'Eq' or $kind eq 'LE' or $kind eq 'FAdd' or $kind eq 'FSub' or $kind eq 'FMul' or $kind eq 'FDiv' or $kind eq 'Array'
0 0 0 $kind eq 'Add' or $kind eq 'Sub' or $kind eq 'Eq' or $kind eq 'LE' or $kind eq 'FAdd' or $kind eq 'FSub' or $kind eq 'FMul' or $kind eq 'FDiv' or $kind eq 'Array' or $kind eq 'Get'
0 0 0 $kind eq 'If' or $kind eq 'Put'
153 0 0 0 $left_type->kind eq 'Unit' and $right_type->kind eq 'Unit' or $left_type->kind eq 'Bool' and $right_type->kind eq 'Bool'
0 0 0 $left_type->kind eq 'Unit' and $right_type->kind eq 'Unit' or $left_type->kind eq 'Bool' and $right_type->kind eq 'Bool' or $left_type->kind eq 'Int' and $right_type->kind eq 'Int'
0 0 0 $left_type->kind eq 'Unit' and $right_type->kind eq 'Unit' or $left_type->kind eq 'Bool' and $right_type->kind eq 'Bool' or $left_type->kind eq 'Int' and $right_type->kind eq 'Int' or $left_type->kind eq 'Float' and $right_type->kind eq 'Float'
206 0 0 0 $kind eq 'Add' or $kind eq 'Sub'
0 0 0 $kind eq 'FAdd' or $node->kind eq 'FSub'
0 0 0 $kind eq 'FAdd' or $node->kind eq 'FSub' or $kind eq 'FMul'
0 0 0 $kind eq 'FAdd' or $node->kind eq 'FSub' or $kind eq 'FMul' or $kind eq 'FDiv'
0 0 0 $kind eq 'Eq' or $kind eq 'LE'