line |
true |
false |
branch |
42
|
8 |
20 |
if (not $Class::Multimethods::dispatch_installed{$pkg}{$name}) |
44
|
0 |
8 |
unless eval make_dispatch($pkg, $name) |
|
1 |
0 |
if $code |
|
0 |
0 |
if index($types[$i], 'Class::Multimethods::SUPERCLASS') == 0 |
|
0 |
0 |
if @code |
|
0 |
0 |
if (@code == 0 and $Class::Multimethods::hasgeneric{'mm'}) |
|
0 |
0 |
if ref $handler |
|
0 |
0 |
if defined $Class::Multimethods::dispatch{'mm'}{$handler} |
|
0 |
0 |
if (defined $handler) |
|
0 |
0 |
if ref $handler |
|
0 |
0 |
if defined $Class::Multimethods::dispatch{'mm'}{$handler} |
|
0 |
0 |
if (defined $handler) |
|
0 |
0 |
if (@code == 1) { } |
|
0 |
0 |
elsif (@code > 1) { } |
|
2 |
0 |
if $code |
|
0 |
0 |
if index($types[$i], 'Class::Multimethods::SUPERCLASS') == 0 |
|
0 |
0 |
if @code |
|
0 |
0 |
if (@code == 0 and $Class::Multimethods::hasgeneric{'mm'}) |
|
0 |
0 |
if ref $handler |
|
0 |
0 |
if defined $Class::Multimethods::dispatch{'mm'}{$handler} |
|
0 |
0 |
if (defined $handler) |
|
0 |
0 |
if ref $handler |
|
0 |
0 |
if defined $Class::Multimethods::dispatch{'mm'}{$handler} |
|
0 |
0 |
if (defined $handler) |
|
0 |
0 |
if (@code == 1) { } |
|
0 |
0 |
elsif (@code > 1) { } |
|
32 |
220 |
if $code |
|
0 |
222 |
if index($types[$i], 'Class::Multimethods::SUPERCLASS') == 0 |
|
0 |
0 |
if @code |
|
0 |
183 |
if (@code == 0 and $Class::Multimethods::hasgeneric{'mm'}) |
|
0 |
0 |
if ref $handler |
|
0 |
0 |
if defined $Class::Multimethods::dispatch{'mm'}{$handler} |
|
0 |
12 |
if (defined $handler) |
|
0 |
0 |
if ref $handler |
|
0 |
0 |
if defined $Class::Multimethods::dispatch{'mm'}{$handler} |
|
0 |
183 |
if (defined $handler) |
|
25 |
195 |
if (@code == 1) { } |
|
12 |
183 |
elsif (@code > 1) { } |
|
4 |
0 |
if $code |
|
0 |
0 |
if index($types[$i], 'Class::Multimethods::SUPERCLASS') == 0 |
|
0 |
0 |
if @code |
|
0 |
0 |
if (@code == 0 and $Class::Multimethods::hasgeneric{'new'}) |
|
0 |
0 |
if ref $handler |
|
0 |
0 |
if defined $Class::Multimethods::dispatch{'new'}{$handler} |
|
0 |
0 |
if (defined $handler) |
|
0 |
0 |
if ref $handler |
|
0 |
0 |
if defined $Class::Multimethods::dispatch{'new'}{$handler} |
|
0 |
0 |
if (defined $handler) |
|
0 |
0 |
if (@code == 1) { } |
|
0 |
0 |
elsif (@code > 1) { } |
|
0 |
3 |
if $code |
|
0 |
3 |
if index($types[$i], 'Class::Multimethods::SUPERCLASS') == 0 |
|
0 |
0 |
if @code |
|
0 |
0 |
if (@code == 0 and $Class::Multimethods::hasgeneric{'set'}) |
|
0 |
0 |
if ref $handler |
|
0 |
0 |
if defined $Class::Multimethods::dispatch{'set'}{$handler} |
|
0 |
0 |
if (defined $handler) |
|
0 |
0 |
if ref $handler |
|
0 |
0 |
if defined $Class::Multimethods::dispatch{'set'}{$handler} |
|
0 |
0 |
if (defined $handler) |
|
3 |
0 |
if (@code == 1) { } |
|
0 |
0 |
elsif (@code > 1) { } |
|
2 |
0 |
if $code |
|
0 |
0 |
if index($types[$i], 'Class::Multimethods::SUPERCLASS') == 0 |
|
0 |
0 |
if @code |
|
0 |
0 |
if (@code == 0 and $Class::Multimethods::hasgeneric{'set'}) |
|
0 |
0 |
if ref $handler |
|
0 |
0 |
if defined $Class::Multimethods::dispatch{'set'}{$handler} |
|
0 |
0 |
if (defined $handler) |
|
0 |
0 |
if ref $handler |
|
0 |
0 |
if defined $Class::Multimethods::dispatch{'set'}{$handler} |
|
0 |
0 |
if (defined $handler) |
|
0 |
0 |
if (@code == 1) { } |
|
0 |
0 |
elsif (@code > 1) { } |
|
3 |
1 |
if $code |
|
0 |
1 |
if index($types[$i], 'Class::Multimethods::SUPERCLASS') == 0 |
|
0 |
0 |
if @code |
|
0 |
0 |
if (@code == 0 and $Class::Multimethods::hasgeneric{'val'}) |
|
0 |
0 |
if ref $handler |
|
0 |
0 |
if defined $Class::Multimethods::dispatch{'val'}{$handler} |
|
0 |
0 |
if (defined $handler) |
|
0 |
0 |
if ref $handler |
|
0 |
0 |
if defined $Class::Multimethods::dispatch{'val'}{$handler} |
|
0 |
0 |
if (defined $handler) |
|
1 |
0 |
if (@code == 1) { } |
|
0 |
0 |
elsif (@code > 1) { } |
|
2 |
79 |
if $code |
|
0 |
79 |
if index($types[$i], 'Class::Multimethods::SUPERCLASS') == 0 |
|
61 |
0 |
if @code |
|
61 |
0 |
if (@code == 0 and $Class::Multimethods::hasgeneric{'wild'}) |
|
0 |
0 |
if ref $handler |
|
0 |
0 |
if defined $Class::Multimethods::dispatch{'wild'}{$handler} |
|
0 |
3 |
if (defined $handler) |
|
0 |
0 |
if ref $handler |
|
0 |
0 |
if defined $Class::Multimethods::dispatch{'wild'}{$handler} |
|
0 |
0 |
if (defined $handler) |
|
76 |
3 |
if (@code == 1) { } |
|
3 |
0 |
elsif (@code > 1) { } |
56
|
0 |
0 |
if (@_ == 1 and ref $_[0] eq 'CODE') { } |
65
|
0 |
0 |
if (@_ == 1 and ref $_[0] eq 'CODE') { } |
77
|
0 |
0 |
if @_ <= 1 |
78
|
0 |
0 |
@_ > 1 ? : |
85
|
198 |
0 |
unless $_[0] =~ s/Class::Multimethods::SUPERCLASS_IS::// |
99
|
26 |
1 |
if (@_) |
102
|
0 |
26 |
unless ref $code eq 'CODE' |
108
|
6 |
20 |
if not defined $_ or @types > $_ |
110
|
5 |
21 |
if not defined $_ or @types < $_ |
117
|
0 |
0 |
if $^W and exists $Class::Multimethods::dispatch{$name}{$sig} |
269
|
0 |
1683 |
if $tried->{$sig} |
275
|
135 |
1548 |
if ($match and ref $match eq 'CODE') |
288
|
1520 |
28 |
unless (@$matches) |
292
|
152 |
2897 |
if $candidate->[$i] =~ /[^\w:#]/ |
295
|
2 |
2895 |
if ($candidate->[$i] eq '#') { } |
|
0 |
2895 |
elsif ($candidate->[$i] =~ /\AClass::Multimethods::SUPERCLASS_IS::(.+)/) { } |
|
0 |
2895 |
elsif ($candidate->[$i] =~ /\AClass::Multimethods::SUPERCLASS_OF::(.+)/) { } |
300
|
0 |
0 |
$1 eq '#' ? : |
317
|
1010 |
120 |
unless @$matches |
351
|
0 |
0 |
unless /::$/ and $_ ne $self |
354
|
0 |
0 |
unless $_[0] |
405
|
0 |
0 |
unless $Class::Multimethods::min_args{$multimethod} |
411
|
0 |
0 |
if $typeset =~ /\*/ |
418
|
0 |
0 |
unless exists $ignore{$ancestor} |
443
|
0 |
0 |
if @paramlists == 1 |
464
|
0 |
0 |
if $ambiguous_handler and ref $ambiguous_handler ne 'CODE' |
466
|
0 |
0 |
if $no_match_handler and ref $no_match_handler ne 'CODE' |
469
|
0 |
0 |
if ($case_count) { } |
474
|
0 |
0 |
ref $_ eq 'ARRAY' ? : |
484
|
0 |
0 |
unless ($case_count) |
514
|
0 |
0 |
unless $Class::Multimethods::a->{'wrong_length'} - $Class::Multimethods::b->{'wrong_length'} or @{$Class::Multimethods::a->{'incomp'};} - @{$Class::Multimethods::b->{'incomp'};} or $Class::Multimethods::a->{'generic'} - $Class::Multimethods::b->{'generic'} |
518
|
0 |
0 |
if ($ordered[0] and not @{$ordered[0]{'incomp'};}) |
528
|
0 |
0 |
if @{$ordered[$i]{'incomp'};} or $ordered[$i]{'wrong_length'} or $ordered[$i]{'sum_dist'} > $ordered[0]{'sum_dist'} or $ordered[$i]{'generic'} != $ordered[0]{'generic'} |
531
|
0 |
0 |
if ($i > 1) |
544
|
0 |
0 |
if ($winner and $winner->{'ambig'} and $ambiguous_handler) { } |
|
0 |
0 |
elsif ($winner and @{$winner->{'incomp'};} || $winner->{'wrong_length'} and $no_match_handler) { } |
562
|
0 |
0 |
if ($variant->{'ambig'}) { } |
|
0 |
0 |
elsif (@{$variant->{'incomp'};} == 1) { } |
|
0 |
0 |
elsif (@{$variant->{'incomp'};}) { } |
|
0 |
0 |
elsif ($variant->{'wrong_length'}) { } |
|
0 |
0 |
elsif ($first) { } |
|
0 |
0 |
elsif ($variant->{'generic'} and $variant->{'sum_dist'} < $min_dist) { } |
|
0 |
0 |
elsif ($variant->{'generic'}) { } |
565
|
0 |
0 |
if $first |
611
|
0 |
0 |
if @ambigs |
612
|
0 |
0 |
if @fails |
623
|
0 |
0 |
if $from eq $to |
624
|
0 |
0 |
if $to eq '*' |
625
|
0 |
0 |
if defined $distance{$from}{$to} |
627
|
0 |
0 |
if ($parents{$from}) |
632
|
0 |
0 |
if (defined $distance) |
658
|
0 |
0 |
if (@nexttypes != @$types) |
669
|
0 |
0 |
if (not defined $nextdist) { } |
|
0 |
0 |
elsif ($nextdist < 0) { } |