| line |
true |
false |
branch |
|
42
|
98 |
100 |
unless @unhandled |
|
55
|
63 |
482 |
if $candidate and $candidate == $sub_ref |
|
87
|
14 |
56 |
$raw ? : |
|
96
|
81 |
214 |
$_[0] =~ /$matcher/ ? : |
|
110
|
1 |
64 |
unless $attr =~ /\A ATTRS? \s* (?: \( (.*) \) )? \z/msx |
|
112
|
59 |
5 |
if (my $config = $1) |
|
117
|
23 |
36 |
if ($getter = _extract_get($config) || $name) |
|
123
|
9 |
50 |
if ($setter = _extract_set($config) || $name) |
|
126
|
0 |
4 |
unless @_ == 2 |
|
154
|
2 |
4 |
unless exists $$attr_ref{'ref'}{$id} |
|
187
|
18 |
45 |
if ($attr eq 'CUMULATIVE') { } |
|
|
6 |
39 |
elsif ($attr =~ /\A CUMULATIVE \s* [(] \s* BASE \s* FIRST \s* [)] \z/msx) { } |
|
|
4 |
35 |
elsif ($attr =~ /\A RESTRICTED \z/msx) { } |
|
|
2 |
33 |
elsif ($attr =~ /\A PRIVATE \z/msx) { } |
|
|
33 |
0 |
elsif (exists $OVERLOADER_FOR{$attr}) { } |
|
212
|
12879 |
64 |
if exists $_hierarchy_of{$class} |
|
225
|
29 |
4 |
$b->isa($a) ? : |
|
|
87 |
33 |
$a->isa($b) ? : |
|
237
|
28 |
20 |
if exists $_reverse_hierarchy_of{$class} |
|
251
|
3 |
3 |
$b->isa($a) ? : |
|
|
17 |
6 |
$a->isa($b) ? : |
|
265
|
28 |
8 |
if keys(%restricted) + keys(%private) + keys(%cumulative) + keys(%anticumulative) + keys(%overload) == 0 |
|
279
|
0 |
4 |
unless my $original = *{$sub_name;}{'CODE'} |
|
286
|
11 |
5 |
unless $caller =~ /^(?: Class::Std | attributes )$/msx |
|
288
|
7 |
4 |
if not $caller or $caller->isa($package) or $package->isa($caller) |
|
302
|
0 |
2 |
unless my $original = *{$sub_name;}{'CODE'} |
|
307
|
1 |
3 |
if $caller eq $package |
|
325
|
4 |
33 |
unless my $sub_ref = $cumulative_named{$name}{$parent} |
|
326
|
0 |
33 |
if $name eq 'AUTOLOAD' |
|
327
|
9 |
24 |
unless (defined $list_context) |
|
332
|
0 |
24 |
if ($list_context) { } |
|
339
|
6 |
4 |
unless defined $list_context |
|
340
|
0 |
4 |
if $list_context |
|
352
|
0 |
6 |
if ($cumulative_named{$name}) |
|
354
|
0 |
0 |
unless $other_package->isa($package) or $package->isa($other_package) |
|
373
|
2 |
12 |
unless my $sub_ref = $anticumulative_named{$name}{$parent} |
|
374
|
0 |
12 |
unless (defined $list_context) |
|
379
|
0 |
12 |
if ($list_context) { } |
|
386
|
0 |
2 |
unless defined $list_context |
|
387
|
0 |
2 |
if $list_context |
|
402
|
0 |
33 |
if $@ |
|
420
|
0 |
23 |
unless keys %{$class . '::';} |
|
422
|
0 |
23 |
if @_ > 1 and ref $arg_ref ne 'HASH' |
|
433
|
27 |
17 |
unless $$arg_ref{$base_class} |
|
438
|
16 |
28 |
if (my $build_ref = *{$base_class . '::BUILD';}{'CODE'}) |
|
446
|
14 |
65 |
if defined $$attr_ref{'ref'}{$new_obj_id} |
|
449
|
49 |
16 |
if (defined $$attr_ref{'init_arg'} and exists $$arg_set{$$attr_ref{'init_arg'}}) { } |
|
|
15 |
1 |
elsif (defined $$attr_ref{'default'}) { } |
|
459
|
8 |
7 |
if ($@) |
|
466
|
0 |
1 |
if (defined $$attr_ref{'init_arg'}) |
|
476
|
0 |
23 |
if @missing_inits |
|
487
|
2 |
42 |
if (my $init_ref = *{$base_class . '::START';}{'CODE'}) |
|
505
|
0 |
0 |
if @names == 0 |
|
507
|
0 |
0 |
@names == 2 ? : |
|
|
0 |
0 |
@names == 1 ? : |
|
522
|
10 |
43 |
if (my $demolish_ref = *{$base_class . '::DEMOLISH';}{'CODE'}) |
|
538
|
12 |
8 |
unless (defined $ident) |
|
542
|
20 |
17 |
if (my $automethod_ref = *{$parent_class . '::AUTOMETHOD';}{'CODE'}) |
|
545
|
15 |
4 |
if (my $method_impl = &$automethod_ref($invocant, $ident, @_[1 .. $#_])) |
|
552
|
4 |
0 |
ref $invocant ? : |
|
562
|
83850 |
1 |
if (defined $invocant) |
|
563
|
70964 |
12886 |
if (my $sub_ref = &$real_can(@_)) |
|
569
|
9 |
38614 |
if (my $automethod_ref = *{$parent_class . '::AUTOMETHOD';}{'CODE'}) |
|
572
|
6 |
2 |
if (my $method_impl = &$automethod_ref(@_)) |