| line |
true |
false |
branch |
|
86
|
0 |
0 |
if warnings::enabled("redefine") |
|
|
0 |
0 |
if "" ne $info->{'package'} and warnings::enabled("redefine") |
|
|
0 |
0 |
if (not $info) { } |
|
|
0 |
0 |
elsif ($info->{'keyword'} ne 'multi') { } |
|
|
0 |
0 |
elsif ($info->{'package'} ne caller()) { } |
|
|
0 |
7 |
if (*{(caller()) . '::smartmatch';}{'CODE'}) { } |
|
|
2474 |
1616 |
if (@_ < $variant->{'min'}) |
|
|
93 |
1523 |
if (@_ > $variant->{'max'}) |
|
|
1173 |
350 |
if (ref $handler) |
|
|
7 |
0 |
if ($redefining) |
|
185
|
0 |
0 |
if ($source =~ /$VALIDATE_PURE_GIVEN/u) |
|
194
|
0 |
0 |
$after_a_statement ? : |
|
195
|
0 |
0 |
if ($_->{'TYPE'} eq 'when') { } |
|
|
0 |
0 |
elsif ($_->{'TYPE'} eq 'default') { } |
|
|
0 |
0 |
elsif ($_->{'TYPE'} eq 'given') { } |
|
197
|
0 |
0 |
if ($_->{'WHENTRUE'}) { } |
|
|
0 |
0 |
elsif ($_->{'WHENFALSE'}) { } |
|
210
|
0 |
0 |
if ($after_a_statement) { } |
|
220
|
0 |
0 |
if ($after_a_statement) { } |
|
229
|
0 |
0 |
!$after_a_statement ? : |
|
246
|
0 |
0 |
unless (defined $REPLACEMENT_CODE) |
|
268
|
0 |
0 |
if (exists $result{'BLOCK'}) { } |
|
|
0 |
0 |
elsif (exists $result{'EXPR'}) { } |
|
340
|
0 |
0 |
if (defined $matched{'BLOCK'} and defined $matched{'EXPR'}) { } |
|
|
0 |
0 |
elsif (defined $matched{'MODIFIER'}) { } |
|
|
0 |
0 |
elsif (exists $matched{'INVALID_BLOCK'}) { } |
|
350
|
0 |
0 |
if ($WHENTRUE) { } |
|
|
0 |
0 |
elsif ($WHENFALSE) { } |
|
397
|
0 |
0 |
if (defined $matched{'BLOCK'}) { } |
|
454
|
0 |
0 |
$TYPE eq 'default' ? : |
|
463
|
0 |
0 |
if ($KIND eq 'when') { } |
|
|
0 |
0 |
elsif ($KIND eq 'given') { } |
|
465
|
0 |
0 |
defined $AFTERGIVEN ? : |
|
559
|
0 |
0 |
if ($MOD_EXPR =~ /$JUNCTIVE_EXPR/u) |
|
583
|
0 |
0 |
if ($EXPR =~ /\.\./u and $EXPR =~ /$FLIP_FLOP/u) |
|
590
|
0 |
0 |
$EXPR =~ /[\%]/u && $EXPR =~ /$HASH_SLICE/u ? : |
|
|
0 |
0 |
$EXPR =~ /[\@]/u && $EXPR =~ /$ARRAY_SLICE/u ? : |
|
|
0 |
0 |
$EXPR =~ /[\@%]/u && $EXPR =~ /$CONTAINER_VARIABLE/u ? : |
|
614
|
0 |
0 |
if warnings::enabled("Multi::Dispatch::noncontiguous") |
|
|
0 |
7 |
if ($Multi::Dispatch::closed{'multi'}{'smartmatch'}{'Switch::Right'}) { } |
|
|
0 |
0 |
if warnings::enabled("redefine") |
|
|
0 |
0 |
if "" ne $info->{'package'} and warnings::enabled("redefine") |
|
|
0 |
0 |
if (not $info) { } |
|
|
0 |
0 |
elsif ($info->{'keyword'} ne 'multi') { } |
|
|
0 |
0 |
elsif ($info->{'package'} ne __PACKAGE__) { } |
|
|
0 |
7 |
if (*smartmatch{'CODE'}) { } |
|
|
603732 |
201244 |
if (@_ < $variant->{'min'}) |
|
|
0 |
201244 |
if (@_ > $variant->{'max'}) |
|
|
201244 |
0 |
if (ref $handler) |
|
|
7 |
0 |
if ($redefining) |
|
616
|
6 |
201933 |
unless $Multi::Dispatch::_____static0000000000_init++ |
|
622
|
153 |
201786 |
unless defined $right |
|
625
|
1421 |
200365 |
if builtin::is_bool($right) |
|
629
|
98 |
200267 |
if ($right_type ne "REGEXP" and builtin::blessed($right)) |
|
637
|
20 |
200247 |
$left_is_obj ? : |
|
640
|
261 |
281 |
if $right_type eq "CODE" |
|
647
|
0 |
4 |
if (created_as_number $right) { } |
|
648
|
0 |
0 |
unless overload::Method($left, "0+") |
|
652
|
0 |
4 |
unless overload::Method($left, "\"\"") |
|
657
|
85 |
199289 |
unless defined $left |
|
662
|
778 |
198511 |
if (created_as_number $right) |
|
663
|
14 |
764 |
if (not &looks_like_number($left)) { } |
|
|
0 |
764 |
elsif ($Switch::Right::_use_integer) { } |
|
682
|
11 |
120 |
if $left == $right |
|
684
|
14 |
106 |
if @{$left;} != @{$right;} |
|
688
|
3 |
103 |
if $Sm4r7m4tCh::seen{"L$left"}++ or $Sm4r7m4tCh::seen{"R$right"}++ |
|
692
|
29 |
418 |
unless smartmatch($left->[$n], $right->[$n]) |
|
696
|
20 |
78 |
if $left == $right |
|
698
|
22 |
56 |
if keys %{$left;} != keys %{$right;} |
|
702
|
0 |
56 |
if $Sm4r7m4tCh::seen{"L$left"}++ or $Sm4r7m4tCh::seen{"R$right"}++ |
|
707
|
15 |
1393 |
unless exists $right->{$key} and smartmatch($left->{$key}, $right->{$key}) |
|
723
|
0 |
0 |
if warnings::enabled("Multi::Dispatch::noncontiguous") |
|
|
0 |
7 |
if ($Multi::Dispatch::closed{'multi'}{'smartmatch'}{'Switch::Right'}) { } |
|
|
0 |
0 |
if warnings::enabled("redefine") |
|
|
0 |
0 |
if "" ne $info->{'package'} and warnings::enabled("redefine") |
|
|
0 |
7 |
if (not $info) { } |
|
|
0 |
7 |
elsif ($info->{'keyword'} ne 'multi') { } |
|
|
0 |
7 |
elsif ($info->{'package'} ne __PACKAGE__) { } |
|
|
7 |
0 |
if (*smartmatch{'CODE'}) { } |
|
|
0 |
0 |
if (@_ < $variant->{'min'}) |
|
|
0 |
0 |
if (@_ > $variant->{'max'}) |
|
|
0 |
0 |
if (ref $handler) |
|
|
0 |
7 |
if ($redefining) |
|
|
71 |
318 |
if @_ > 2 and (builtin::reftype($_[2]) // "") ne "ARRAY" |
|
|
18 |
300 |
unless eval {
do {
$junction =~ /^(?:any|all|none)$/u
}
} |
|
733
|
62 |
148 |
if smartmatch($left, $rval) |
|
739
|
23 |
105 |
unless smartmatch($left, $rval) |
|
745
|
3 |
130 |
if smartmatch($left, $rval) |
|
751
|
0 |
0 |
if warnings::enabled("Multi::Dispatch::noncontiguous") |
|
|
0 |
7 |
if ($Multi::Dispatch::closed{'multi'}{'smartmatch'}{'Switch::Right'}) { } |
|
|
0 |
0 |
if warnings::enabled("redefine") |
|
|
0 |
0 |
if "" ne $info->{'package'} and warnings::enabled("redefine") |
|
|
0 |
7 |
if (not $info) { } |
|
|
0 |
7 |
elsif ($info->{'keyword'} ne 'multi') { } |
|
|
0 |
7 |
elsif ($info->{'package'} ne __PACKAGE__) { } |
|
|
7 |
0 |
if (*smartmatch{'CODE'}) { } |
|
|
0 |
0 |
if (@_ < $variant->{'min'}) |
|
|
0 |
0 |
if (@_ > $variant->{'max'}) |
|
|
0 |
0 |
if (ref $handler) |
|
|
0 |
7 |
if ($redefining) |
|
|
0 |
89 |
if @_ > 1 and (builtin::reftype($_[1]) // "") ne "ARRAY" |
|
|
0 |
89 |
unless eval {
do {
$junction =~ /^(?:any|all|none)$/u
}
} |
|
760
|
16 |
42 |
if smartmatch($lval, $right) |
|
766
|
12 |
45 |
unless smartmatch($lval, $right) |
|
772
|
3 |
54 |
if smartmatch($lval, $right) |
|
779
|
0 |
0 |
if warnings::enabled("Multi::Dispatch::noncontiguous") |
|
|
0 |
7 |
if ($Multi::Dispatch::closed{'multi'}{'smartmatch'}{'Switch::Right'}) { } |
|
|
0 |
0 |
if warnings::enabled("redefine") |
|
|
0 |
0 |
if "" ne $info->{'package'} and warnings::enabled("redefine") |
|
|
0 |
7 |
if (not $info) { } |
|
|
0 |
7 |
elsif ($info->{'keyword'} ne 'multi') { } |
|
|
0 |
7 |
elsif ($info->{'package'} ne __PACKAGE__) { } |
|
|
7 |
0 |
if (*smartmatch{'CODE'}) { } |
|
|
0 |
0 |
if (@_ < $variant->{'min'}) |
|
|
0 |
0 |
if (@_ > $variant->{'max'}) |
|
|
0 |
0 |
if (ref $handler) |
|
|
0 |
7 |
if ($redefining) |
|
|
0 |
78 |
if @_ > 1 and (builtin::reftype($_[1]) // "") ne "ARRAY" |
|
|
0 |
78 |
if @_ > 3 and (builtin::reftype($_[3]) // "") ne "ARRAY" |
|
|
0 |
78 |
unless eval {
do {
$ljunction =~ /^(?:any|all|none)$/u
}
} |
|
|
0 |
78 |
unless eval {
do {
$rjunction =~ /^(?:any|all|none)$/u
}
} |
|
789
|
19 |
554 |
if smartmatch($lval, $rval) |
|
795
|
11 |
14 |
unless smartmatch($lval, $rval) |
|
807
|
920 |
197071 |
if smartmatch($lval, $rval) |
|
815
|
2 |
26 |
unless smartmatch($lval, $rval) |
|
821
|
3 |
13 |
if smartmatch($lval, $rval) |
|
828
|
11 |
11 |
unless smartmatch($lval, $rval) |
|
837
|
7 |
17 |
if smartmatch($lval, $rval) |
|
846
|
2 |
19 |
if smartmatch($lval, $rval) |