Branch Coverage

blib/lib/Lox/Interpreter.pm
Criterion Covered Total %
branch 3 112 2.6


line true false branch
45 2 0 unless $self->{'breaking'}
62 0 0 if (my $sc = $stmt->superclass)
64 0 0 unless (ref $superclass eq 'Lox::Class')
70 0 0 if ($superclass)
90 0 0 if ($superclass)
106 0 0 if ($self->is_truthy($self->evaluate($stmt->condition))) { }
0 0 elsif ($stmt->else_branch) { }
135 0 0 if ($expr->operator->type == 31) { }
136 0 0 if $self->is_truthy($left)
139 0 0 unless $self->is_truthy($left)
148 0 0 if (ref $object ne 'Lox::Instance')
163 0 0 unless ($method)
184 0 0 if ($stmt->value)
194 1 0 if ($stmt->initializer)
205 0 0 if $self->{'breaking'}
226 0 0 if ($error = $@)
231 0 0 if $error
247 0 0 unless (ref $callee and $callee->isa('Lox::Callable'))
251 0 0 if (@args != $callee->arity)
262 0 0 if (ref $object eq 'Lox::Instance')
277 0 0 if ($expr->operator->{'type'} == 6) { }
279 0 0 if ref $right
284 0 0 $self->is_truthy($right) ? :
292 0 0 if (defined $distance) { }
309 0 1 defined $distance ? :
320 0 0 if ($type == 14) { }
0 0 elsif ($type == 12) { }
0 0 elsif ($type == 15) { }
0 0 elsif ($type == 16) { }
0 0 elsif ($type == 17) { }
0 0 elsif ($type == 18) { }
0 0 elsif ($type == 6) { }
0 0 elsif ($type == 7) { }
0 0 elsif ($type == 9) { }
0 0 elsif ($type == 10) { }
321 0 0 $self->are_equal($left, $right) ? :
324 0 0 !$self->are_equal($left, $right) ? :
328 0 0 if ref $left or ref $right
330 0 0 $left > $right ? :
333 0 0 if ref $left or ref $right
335 0 0 $left >= $right ? :
338 0 0 if ref $left or ref $right
340 0 0 $left < $right ? :
343 0 0 if ref $left or ref $right
345 0 0 $left <= $right ? :
348 0 0 if ref $left or ref $right
353 0 0 if (ref $left or ref $right)
354 0 0 if (ref $left eq ref $right)
355 0 0 if (ref $left eq 'Lox::String')
365 0 0 if ref $left or ref $right
367 0 0 $right ? :
370 0 0 if ref $left or ref $right
383 0 0 if ref $value
389 0 0 if (my $ltype = ref $left) { }
0 0 elsif (ref $right) { }
390 0 0 if ($ltype eq ref $right)