Condition Coverage

blib/lib/Type/Params.pm
Criterion Covered Total %
condition 31 50 62.0


and 3 conditions

line !l l&&!r l&&r condition
142 10 1 1 $opts{'fallback'} and not $opts{'goto_next'}

or 2 conditions

line l !l condition
274 2 1 $opts->{'caller'}->can($name) || sub { }

or 3 conditions

line l !l&&r !l&&!r condition
53 0 1 0 $Invocant ||= do { require Type::Tiny::Union; "Type::Tiny::Union"->new("name", "Invocant", "type_constraints", [&Types::Standard::Object(), &Types::Standard::ClassName()]) }
68 3 2 0 $ArgsObject ||= do { "Type::Tiny"->new("name", "ArgsObject", "parent", &Types::Standard::Object(), "constraint", " ref(\$_) =~ qr/^Type::Params::OO::/ ", "constraint_generator", sub { 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(" do { use Scalar::Util (); Scalar::Util::reftype(%s) eq 'HASH' } ", $var), sprintf(" defined((%s)->{'~~caller'}) && ((%s)->{'~~caller'} eq %s) ", $var, $var, $quoted); } ; } ) }
112 214 42 0 [caller 1 + ($opts{'caller_level'} || 0)]->[3] || ($opts{'package'} || '__ANON__') . '::__ANON__'
114 1 255 0 $opts{'package'} ||= $pkg
115 1 255 0 $opts{'subname'} ||= $sub
127 2 12 0 $opts{'package'} || caller($opts{'caller_level'} || 0)
136 2 10 0 $opts{'package'} ||= $package
137 0 12 0 $opts{'subname'} ||= $function =~ /::(\w+)$/ ? $1 : $function
138 1 8 3 $opts{'goto_next'} ||= do { no strict 'refs'; exists &$fullname ? \&$fullname : undef }
140 5 1 0 $opts{'goto_next'} ||= eval { do { $package->can($opts{'subname'}) } }
155 0 9 0 $compiled ||= $sig->coderef->compile
212 6 9 0 $compiled{_mk_key(@_)} ||= signature("caller_level", 1, %{ref $_[0] eq "HASH" ? shift @_ : {};}, "positional", [@_])
229 402 28 0 $compiled{_mk_key(@_)} ||= signature("caller_level", 1, "bless", 0, %{ref $_[0] eq "HASH" ? shift @_ : {};}, "named", [@_])
248 0 2 0 $opts->{'caller'} ||= caller
257 0 1 0 $opts->{'caller'} ||= caller