Condition Coverage

blib/lib/Type/Params.pm
Criterion Covered Total %
condition 39 63 61.9


and 3 conditions

line !l l&&!r l&&r condition
52 69 2 1 defined $pfx && $pfx =~ /::\z/
60 69 2 1 defined $sfx && $sfx =~ /\A_/
165 42 1 1 $opts{'fallback'} and not $opts{'next'}

or 3 conditions

line l !l&&r !l&&!r condition
72 0 1 0 $Invocant ||= do { require Type::Tiny::Union; "Type::Tiny::Union"->new("name", "Invocant", "type_constraints", [&Types::Standard::Object(), &Types::Standard::ClassName()]) }
87 8 3 0 $ArgsObject ||= do { "Type::Tiny"->new("name", "ArgsObject", "parent", &Types::Standard::Object(), "constraint", " ref(\$_) =~ qr/^Type::Params::OO::/ ", "constraint_generator", sub { Type::Tiny::check_parameter_count_for_parameterized_type("Type::Params", "ArgsObject", \@_, 1, 1); my $param = Types::Standard::assert_Str(shift()); sub { $_->{'~~caller'} eq $param if defined $_->{'~~caller'}; } ; } , "inline_generator", sub { my $param = shift(); my $quoted = B::perlstring($param); sub { my $var = pop(); return &Types::Standard::Object()->inline_check($var), sprintf(' ref(%s) =~ qr/^Type::Params::OO::/ ', $var), sprintf(q[ do { use Scalar::Util (); Scalar::Util::reftype(%s) eq 'HASH' } ], $var), sprintf(q[ defined((%s)->{'~~caller'}) && ((%s)->{'~~caller'} eq %s) ], $var, $var, $quoted); } ; } ) }
131 0 1 0 $opts{'next'} ||= delete $opts{'goto_next'}
133 217 42 0 [caller 1 + ($opts{'caller_level'} || 0)]->[3] || ($opts{'package'} || '__ANON__') . '::__ANON__'
135 2 257 0 $opts{'package'} ||= $pkg
136 2 257 0 $opts{'subname'} ||= $sub
148 6 41 0 $opts{'package'} || caller($opts{'caller_level'} || 0)
149 0 2 0 $opts{'next'} ||= delete $opts{'goto_next'}
159 6 38 0 $opts{'package'} ||= $package
160 0 44 0 $opts{'subname'} ||= $function =~ /::(\w+)$/ ? $1 : $function
161 6 35 3 $opts{'next'} ||= do { no strict 'refs'; exists &$fullname ? \&$fullname : undef }
163 11 1 0 $opts{'next'} ||= eval { do { $package->can($opts{'subname'}) } }
178 0 40 0 $compiled ||= $sig->coderef->compile
268 6 9 0 $compiled{_mk_key(@_)} ||= signature("caller_level", 1, %{ref $_[0] eq "HASH" ? shift @_ : {};}, "positional", [@_])
285 402 28 0 $compiled{_mk_key(@_)} ||= signature("caller_level", 1, "bless", 0, %{ref $_[0] eq "HASH" ? shift @_ : {};}, "named", [@_])
304 0 2 0 $opts->{'caller'} ||= caller
313 0 1 0 $opts->{'caller'} ||= caller
330 2 1 0 $opts->{'caller'}->can($name) || sub { }