File Coverage

blib/lib/Syntax/Keyword/Wielding.pm
Criterion Covered Total %
statement 129 348 37.0
branch 8 18 44.4
condition 8 18 44.4
subroutine 20 26 76.9
pod n/a
total 165 410 40.2


line stmt bran cond sub pod time code
1 2     2   429497 use 5.014;
  2         26  
2 2     2   12 use strict;
  2         6  
  2         69  
3 2     2   11 use warnings;
  2         4  
  2         261  
4              
5             package Syntax::Keyword::Wielding;
6              
7             our $AUTHORITY = 'cpan:TOBYINK';
8             our $VERSION = '0.001001';
9              
10 2     2   2085 use Keyword::Declare;
  2         401445  
  2         29  
11 2     2   1840 use Import::Into;
  2         1454  
  2         90  
12 2     2   16 use vars (); # yes, in 2025, we're using vars.pm!
  2         5  
  2         156  
13              
14 0           sub import {
15            
16             # Prevent syntax error when _ is used outside wielding.
17 1     1   47 vars->import::into( 1, qw/
18             $____WIELDING_object
19             $____WIELDING_method
20             @____WIELDING_params
21             / );
22 1         282
23 0 50 50 0   0 keyword wielding ( ScalarAccess $obj, '->' $arrow, QualIdent $callable, ParensList $parens, Block $block )
  0         0  
  0         0  
  1         13  
  0         0  
  0         0  
  0         0  
24 0         0 {{{ do { my $____WIELDING_object = \ « $obj »; my $____WIELDING_method = qq[« quotemeta($callable) »]; my @____WIELDING_params = « $parens »; « $block » }; }}}
  1         6  
  0         0  
  1         68  
25 0 50 50 2   0 keyword wielding ( ScalarAccess $obj, '->' $arrow, QualIdent $callable, Block $block )
  0         0  
  0         0  
  0         0  
  0         0  
  1         14  
  2         902280  
  2         6  
  2         177  
26 0         0 {{{ do { my $____WIELDING_object = \ « $obj »; my $____WIELDING_method = qq[« quotemeta($callable) »]; my @____WIELDING_params = (); « $block » }; }}}
  1         7  
  2         10  
  1         28  
27 0 50 50 0   0 keyword wielding ( QualIdent $callable, ParensList $parens, Block $block )
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  2         87  
  1         12  
  0         0  
  0         0  
  0         0  
28 0         0 {{{ do { my $____WIELDING_object = undef; my $____WIELDING_method = \&«$callable»; my @____WIELDING_params = « $parens »; « $block » }; }}}
  0         0  
  0         0  
  1         5  
  0         0  
  1         26  
29 0 50 50 0   0 keyword wielding ( QualIdent $callable, Block $block )
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  2         103  
  2         7  
  0         0  
  1         14  
  0         0  
  0         0  
  0         0  
30 0         0 {{{ do { my $____WIELDING_object = undef; my $____WIELDING_method = \&«$callable»; my @____WIELDING_params = (); « $block » }; }}}
  0         0  
  2         5  
  1         6  
  0         0  
  1         25  
31 0 50 50 0   0 keyword wielding ( ScalarAccess $callable, '->' $arrow, ParensList $parens, Block $block )
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  2         67  
  0         0  
  0         0  
  0         0  
  1         12  
  0         0  
  0         0  
  0         0  
32 0         0 {{{ do { my $____WIELDING_object = undef; my $____WIELDING_method = «$callable»; my @____WIELDING_params = « $parens »; « $block » }; }}}
  0         0  
  0         0  
  0         0  
  0         0  
  1         5  
  0         0  
  1         24  
33 0 50 50 1   0 keyword wielding ( Block $callable, Block $block )
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  2         84  
  2         6  
  0         0  
  0         0  
  0         0  
  0         0  
  1         12  
  1         300955  
  1         30  
  1         4  
34 0         0 {{{ do { my $____WIELDING_object = undef; my $____WIELDING_method = sub { «$callable» }; my @____WIELDING_params = (); « $block » }; }}}
  0         0  
  0         0  
  2         6  
  0         0  
  1         8  
  1         409  
35 0         0
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  2         60  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  1         34  
  1         25  
36 0 50 50 1   0 keyword _ ( ParensList $parens )
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  1         14  
  1         152516  
  1         2  
  1         3  
37 0         0 {{{ $____WIELDING_object ? ${$____WIELDING_object}->$____WIELDING_method(@____WIELDING_params, « $parens ») : $____WIELDING_method ? $____WIELDING_method->(@____WIELDING_params, « $parens ») : die('Used _ outside wielding block'); }}}
  0         0  
  0         0  
  0         0  
  2         21  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  2         54  
  2         5  
  0         0  
  1         6  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  1         16  
  1         2  
  1         6  
  1         297  
  1         26  
38 0 50 50 5   0 keyword _ ( List $parens )
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  2         21  
  1         39  
  1         9  
  1         37  
  1         11  
  5         796862  
  5         8  
  5         11  
39 0     2   0 {{{ $____WIELDING_object ? ${$____WIELDING_object}->$____WIELDING_method(@____WIELDING_params, « $parens ») : $____WIELDING_method ? $____WIELDING_method->(@____WIELDING_params, « $parens ») : die('Used _ outside wielding block'); }}}
  0         0  
  0         0  
  2         23  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  2         115173  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  2         46  
  1         8  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  1         206  
  1         5  
  5         1215  
40 0         0 }
  0         0  
  2         18  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  1         39  
  0         0  
  1         6  
  1         67  
  1         6  
  1         3  
  1         8  
  5         134  
41 0     2   0  
  2         19  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  2         148589  
  0         0  
  2         18  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  1         8  
  2         75  
  2         5  
  2         5  
  2         45  
  2         18  
  0         0  
  1         7  
  1         9  
  1         2  
  1         2  
  1         6  
  1         38  
42 2     2   92393 sub unimport {
  2     0   37  
  0         0  
  0         0  
  0         0  
  0         0  
  1         47  
  1         39  
  1         6  
  5         180  
  5         10  
  5         9  
  5         25  
  0            
  0            
43 2 0 0 2   18 unkeyword wielding;
  0     2   0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  2         128558  
  0         0  
  0         0  
  2         122086  
  1         20  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  1         31  
  0            
  0            
44 0     2   0 }
  2         102263  
  1         70  
  0         0  
  0            
45 2     2   130098  
  0     2   0  
  2         111033  
  0         0  
46 2     0   424 1;
47 2         16  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  1         6  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
48 1         39 __END__