| line |
true |
false |
branch |
|
93
|
0 |
10 |
unless $class eq 'Attribute::Storage' |
|
104
|
6 |
25 |
unless defined $opts |
|
105
|
9 |
22 |
$attrname eq 'ATTR' ? : |
|
116
|
0 |
11 |
unless $sub = 'Attribute::Storage'->can($symb) |
|
264
|
9 |
3 |
if /^CODE$/ |
|
266
|
0 |
3 |
if /^SCALAR|HASH|ARRAY$/ |
|
269
|
1 |
2 |
if /^RAWDATA$/ |
|
272
|
1 |
1 |
if /^MULTI$/ |
|
275
|
1 |
0 |
if /^NAME$/ |
|
290
|
0 |
22 |
unless my $cv = $pkg->can($attrname) |
|
291
|
0 |
22 |
unless my $cvattrs = _get_attr_hash($cv, 0) |
|
292
|
0 |
22 |
unless my $type = $$cvattrs{'ATTR'} |
|
295
|
1 |
21 |
if ($$type{'raw'}) { } |
|
301
|
21 |
0 |
defined $opts ? : |
|
304
|
0 |
21 |
if ($@) |
|
312
|
2 |
20 |
if ($$type{'name'}) |
|
316
|
3 |
19 |
if ($$type{'multi'}) { } |
|
320
|
1 |
18 |
if exists $$attrs{$attrname} |
|
325
|
0 |
21 |
if $@ |
|
326
|
0 |
21 |
unless defined $value |
|
353
|
0 |
1 |
unless defined $sub |
|
356
|
1 |
0 |
if (ref $sub) { } |
|
362
|
0 |
0 |
unless defined $cv |
|
365
|
0 |
1 |
unless _get_attr_hash($cv, 0) |
|
380
|
0 |
45 |
unless defined $sub |
|
383
|
42 |
3 |
if (ref $sub) { } |
|
389
|
0 |
3 |
unless defined $cv |
|
392
|
17 |
28 |
unless my $attrhash = _get_attr_hash($cv, 0) |
|
491
|
1 |
4 |
if ref $matching eq 'Regexp' |
|
500
|
1 |
4 |
ref $pkg ? : |
|
505
|
0 |
42 |
if exists $ret{$symname} |
|
509
|
7 |
35 |
unless my $cv = $pkg->can($symname) |
|
511
|
6 |
29 |
if $matching and not &$matching(local $_ = $symname) |
|
513
|
15 |
14 |
unless defined get_subattr($cv, $attrname) |
|
515
|
1 |
13 |
if $filter and not &$filter($cv, $symname, $pkg) |