| blib/lib/OptArgs2/Arg.pm | |||
|---|---|---|---|
| Criterion | Covered | Total | % |
| condition | 13 | 26 | 50.0 |
| line | !l | l&&!r | l&&r | condition |
|---|---|---|---|---|
| 72 | 0 | 0 | 7 | exists $_[0]{'cmd'} and ref $_[0]{'cmd'} |
| 122 | 2 | 5 | 0 | $self->required and defined $self->default |
| 125 | 7 | 0 | 0 | $self->greedy and $self->isa eq "SubCmd" |
| line | l | !l | condition |
|---|---|---|---|
| 88 | 4 | 0 | $_[0]{'cmd'} // undef |
| 90 | 1 | 2 | $_[0]{'fallthru'} // undef |
| 91 | 0 | 18 | $_[0]{'greedy'} // undef |
| 92 | 20 | 0 | $_[0]{'isa'} // undef |
| line | l | !l&&r | !l&&!r | condition |
|---|---|---|---|---|
| 33 | 0 | 7 | 0 | ref $class || $class |
| 34 | 3 | 4 | 0 | $_NEW{$CLASS} //= do { my(%seen, @new, @build); my(@possible) = $CLASS; while (@possible) { my $c = shift @possible; no strict 'refs'; push @new, $c . '::_NEW' if exists &{$c . '::_NEW';}; push @build, $c . '::BUILD' if exists &{$c . '::BUILD';}; ++$seen{$c}; if (exists &{$c . '::DOES';}) { push @possible, grep({not $seen{$_}++;} $c->DOES("*")); }; push @possible, grep({not $seen{$_}++;} @{$c . '::ISA';}); }; [[reverse(@new)], [reverse(@build)]] } |
| 96 | 0 | 4 | 0 | $_[0]{'isa_name'} //= $OptArgs2::Arg::_FIELDS->{'isa_name'}{'default'}->($_[0]) |