blib/lib/Sub/Defer.pm | |||
---|---|---|---|
Criterion | Covered | Total | % |
condition | 49 | 63 | 77.7 |
line | l | !l | condition |
---|---|---|---|
151 | 57 | 31 | $target and !1 |
line | !l | l&&!r | l&&r | condition |
---|---|---|---|---|
23 | 3 | 0 | 1 | eval { do { require Sub::Util } } && defined &Sub::Util::set_subname |
2 | 0 | 1 | eval { do { require Sub::Name } } && defined &Sub::Name::subname | |
76 | 14 | 0 | 72 | $deferred_sub and $deferred eq $deferred_sub |
2 | 0 | 12 | ${$undeferred_ref;} and $deferred eq ${$undeferred_ref;} | |
88 | 31 | 2 | 28 | defined $target and $deferred eq *{_getglob($target);}{'CODE'} |
111 | 2 | 8 | 52 | $DEFERRED{$_} && $DEFERRED{$_}[0] |
122 | 12 | 0 | 6 | $deferred_sub and $deferred eq $deferred_sub |
6 | 0 | 6 | ${$undeferred_ref;} and $deferred eq ${$undeferred_ref;} | |
130 | 0 | 4 | 8 | $undeferred_ref && $$undeferred_ref |
143 | 42 | 46 | 7 | $options and $options->{'attributes'} |
191 | 0 | 6 | 86 | $_->[3] && ${$_->[3];} |
line | l | !l | condition | |
---|---|---|---|---|
88 | 28 | 33 | defined $target and $deferred eq *{_getglob($target);}{'CODE'} or '' | |
119 | 24 | 2 | $deferred or '' | |
139 | 33 | 3 | 0 | ($package, $subname) = $target =~ /^(.*)::([^:]+)$/ or croak("$target is not a fully qualified sub name!") |
line | l | !l&&r | !l&&!r | condition |
---|---|---|---|---|
76 | 72 | 12 | 2 | $deferred_sub and $deferred eq $deferred_sub or ${$undeferred_ref;} and $deferred eq ${$undeferred_ref;} |
122 | 6 | 12 | 0 | $deferred_sub and $deferred eq $deferred_sub or ${$undeferred_ref;} and $deferred eq ${$undeferred_ref;} |
142 | 35 | 27 | 0 | $options && $options->{'package'} || caller |
33 | 62 | 0 | $package ||= $options && $options->{'package'} || caller | |
146 | 5 | 2 | 0 | /\A\w+(?:\(.*\))?\z/s or croak("invalid attribute $_") |
151 | 5 | 10 | 78 | @attributes or $target and !1 |
176 | 4 | 33 | 0 | $undeferred ||= undefer_sub($deferred_info->[4]) |