line |
!l |
l&&!r |
l&&r |
condition |
101
|
0 |
17627 |
42044 |
$subname and not $already{$_[1]}++ |
122
|
0 |
0 |
0 |
require Error::TypeTiny and Error::TypeTiny::croak("Expected $library to be a type library, but it doesn't seem to be") |
134
|
0 |
0 |
0 |
require Error::TypeTiny and Error::TypeTiny::croak("Cannot parameterize a non-existant type") |
140
|
387 |
0 |
1 |
@_ && wantarray |
192
|
44 |
0 |
27080 |
defined $args{'description'} and not $^P & 16 |
200
|
511 |
0 |
12469 |
$k =~ /^\$/ and &Scalar::Util::reftype($args{'environment'}{$k}) =~ /^(SCALAR|REF)$/ |
203
|
274 |
0 |
237 |
$k =~ /^\@/ and &Scalar::Util::reftype($args{'environment'}{$k}) eq "ARRAY" |
206
|
266 |
1 |
7 |
$k =~ /^\%/ and &Scalar::Util::reftype($args{'environment'}{$k}) eq "HASH" |
209
|
1 |
0 |
2 |
$k =~ /^\&/ and &Scalar::Util::reftype($args{'environment'}{$k}) eq "CODE" |
231
|
26843 |
11 |
5 |
$alias and &ALIAS_IMPLEMENTATION() eq "tie" |
251
|
26839 |
13 |
3 |
$alias and &ALIAS_IMPLEMENTATION() eq "Devel::LexAlias" |
257
|
26839 |
13 |
3 |
$alias and &ALIAS_IMPLEMENTATION() eq "PadWalker" |
line |
l |
!l&&r |
!l&&!r |
condition |
47
|
103 |
1 |
0 |
$implementation ||= _pick_alternative("if", $] ge "5.022", "perl", "needs", "Devel::LexAlias", "Devel::LexAlias", "needs", "PadWalker", "PadWalker", "if", Deparse error: Can't locate object method "object_2svref" via package "B::SPECIAL" at /usr/local/lib/perl5/5.26.1/B/Deparse.pm line 5018.
, "tie") |
121
|
2 |
1 |
385 |
$type ||= do {
require Error::TypeTiny and Error::TypeTiny::croak("Expected $library to be a type library, but it doesn't seem to be") unless $library->can("get_type");
$library->get_type($name)
} |
172
|
0 |
12255 |
0 |
$args{'description'} || sprintf(q[exportable function '%s'], $qualified_name) |
318
|
3 |
2 |
0 |
$tie ||= eval "no warnings qw(void once uninitialized numeric);\nuse Type::Tiny ();\n\n{\n\tpackage #\n\t\tEval::TypeTiny::_TieArray;\n\trequire Tie::Array;\n\tour \@ISA = qw( Tie::StdArray );\n\tsub TIEARRAY {\n\t\tmy \$class = shift;\n\t\tbless \$_[0] => \$class;\n\t}\n\tsub AUTOLOAD {\n\t\tmy \$self = shift;\n\t\tmy (\$method) = (our \$AUTOLOAD =~ /(\\w+)\$/);\n\t\tdefined tied(\@\$self) and return tied(\@\$self)->\$method(\@_);\n\t\trequire Carp;\n\t\tCarp::croak(qq[Can't call method \"\$method\" on an undefined value]) unless \$method eq 'DESTROY';\n\t}\n\tsub can {\n\t\tmy \$self = shift;\n\t\tmy \$code = \$self->SUPER::can(\@_)\n\t\t\t|| (defined tied(\@\$self) and tied(\@\$self)->can(\@_));\n\t\treturn \$code;\n\t}\n\t__PACKAGE__->Type::Tiny::_install_overloads(\n\t\tq[bool] => sub { !! tied \@{\$_[0]} },\n\t\tq[\"\"] => sub { '' . tied \@{\$_[0]} },\n\t\tq[0+] => sub { 0 + tied \@{\$_[0]} },\n\t);\n}\n{\n\tpackage #\n\t\tEval::TypeTiny::_TieHash;\n\trequire Tie::Hash;\n\tour \@ISA = qw( Tie::StdHash );\n\tsub TIEHASH {\n\t\tmy \$class = shift;\n\t\tbless \$_[0] => \$class;\n\t}\n\tsub AUTOLOAD {\n\t\tmy \$self = shift;\n\t\tmy (\$method) = (our \$AUTOLOAD =~ /(\\w+)\$/);\n\t\tdefined tied(%\$self) and return tied(%\$self)->\$method(\@_);\n\t\trequire Carp;\n\t\tCarp::croak(qq[Can't call method \"\$method\" on an undefined value]) unless \$method eq 'DESTROY';\n\t}\n\tsub can {\n\t\tmy \$self = shift;\n\t\tmy \$code = \$self->SUPER::can(\@_)\n\t\t\t|| (defined tied(%\$self) and tied(%\$self)->can(\@_));\n\t\treturn \$code;\n\t}\n\t__PACKAGE__->Type::Tiny::_install_overloads(\n\t\tq[bool] => sub { !! tied %{\$_[0]} },\n\t\tq[\"\"] => sub { '' . tied %{\$_[0]} },\n\t\tq[0+] => sub { 0 + tied %{\$_[0]} },\n\t);\n}\n{\n\tpackage #\n\t\tEval::TypeTiny::_TieScalar;\n\trequire Tie::Scalar;\n\tour \@ISA = qw( Tie::StdScalar );\n\tsub TIESCALAR {\n\t\tmy \$class = shift;\n\t\tbless \$_[0] => \$class;\n\t}\n\tsub AUTOLOAD {\n\t\tmy \$self = shift;\n\t\tmy (\$method) = (our \$AUTOLOAD =~ /(\\w+)\$/);\n\t\tdefined tied(\$\$self) and return tied(\$\$self)->\$method(\@_);\n\t\trequire Carp;\n\t\tCarp::croak(qq[Can't call method \"\$method\" on an undefined value]) unless \$method eq 'DESTROY';\n\t}\n\tsub can {\n\t\tmy \$self = shift;\n\t\tmy \$code = \$self->SUPER::can(\@_)\n\t\t\t|| (defined tied(\$\$self) and tied(\$\$self)->can(\@_));\n\t\treturn \$code;\n\t}\n\t__PACKAGE__->Type::Tiny::_install_overloads(\n\t\tq[bool] => sub { !! tied \${\$_[0]} },\n\t\tq[\"\"] => sub { '' . tied \${\$_[0]} },\n\t\tq[0+] => sub { 0 + tied \${\$_[0]} },\n\t);\n}\n\n1;\n" |
|
0 |
0 |
0 |
$self->SUPER::can(@_) || defined tied $$self && tied($$self)->can(@_) |
|
0 |
1 |
2 |
$self->SUPER::can(@_) || defined tied @$self && tied(@$self)->can(@_) |