Branch Coverage

blib/lib/Dios.pm
Criterion Covered Total %
branch 254 362 70.1


line true false branch
102 227 3 $sub_name ? :
106 52 178 if (not defined $params or $params =~ /$EMPTY_PARAM_LIST/u)
108 48 4 $kind eq 'method' ? :
3 49 $std_slurpy ? :
115 48 4 $kind eq 'method' ? :
3 49 $std_slurpy ? :
126 109 69 $kind eq 'method' ? :
132 33 253 unless $param{'raw_param'} =~ /\S/u
135 3 250 if (defined $param{'is_num_constant'}) { }
7 243 elsif (defined $param{'is_str_constant'}) { }
2 241 elsif (defined $param{'is_regex_constant'}) { }
157 1 177 if (not @params and $kind eq "method")
163 33 145 if ($params =~ s/ (?&WS) --> (?&WS) (.*+) (?(DEFINE) (? \s*+ (\# [^\n]*+ \n \s*+ )*+)) //msux)
168 0 178 if $params =~ /\S/u
181 1 253 if (defined $param->{'constraint'} and not defined $param->{'type'} && $param->{'type'} =~ /\S/u)
186 19 235 if (exists $param->{'nameless'})
188 5 2 $nameless_pos =~ /(?
1 7 $nameless_pos =~ /(?
11 8 $nameless_pos =~ /(?
200 0 254 if exists $param_named{$param->{'var'}}
202 62 192 if $param->{'name'}
209 0 0 exists $param->{'slurpy'} ? :
0 0 exists $param->{'name'} ? :
0 254 if substr($param->{'var'}, 1) eq "_" and $param->{'namedvar'} ne "*\@_"
212 91 95 if ($first_param and $kind eq "method" and $param->{'terminator'} ne ":")
218 18 236 if ($first_param and $param->{'terminator'} and $param->{'terminator'} eq ':') { }
216 20 elsif (not exists $param->{'slurpy'}) { }
219 0 18 if $kind ne "method"
222 0 18 $param->{'constraint'} ? :
229 60 156 if (exists $param->{'name'}) { }
235 0 20 if defined $slurpy
240 2 18 if (exists $param->{'name'}) { }
243 0 2 if exists $param->{'name'} and $param->{'sigil'} ne "\@"
253 104 74 if (@positional)
258 6 150 if ($param->{'sigil'} eq '@') { }
2 148 elsif ($param->{'sigil'} eq '%') { }
261 15 141 $param->{'constraint'} ? :
263 36 120 exists $param->{'default_type'} ? :
268 42 136 if (@named)
273 5 57 if ($param->{'sigil'} eq '@') { }
1 56 elsif ($param->{'sigil'} eq '%') { }
276 1 61 $param->{'constraint'} ? :
278 2 60 exists $param->{'default_type'} ? :
284 18 160 if (defined $slurpy) { }
285 17 1 if ($slurpy->{'var'} ne "\@_")
286 0 17 $slurpy->{'constraint'} ? :
295 33 145 defined $return_type ? :
296 0 178 if (defined $return_constraint)
306 61 1 unless $param->{'required'}
325 0 157 if (exists $param->{'type'})
339 17 139 $var =~ /^(.)__nameless_(\d++[^\W_]++)_parameter__$/u ? :
348 36 120 if (exists $param->{'name'} and exists $param->{'default_type'})
349 9 27 if ($param->{'default_type'} eq '//=' and $param->{'sigil'} eq '$') { }
10 17 elsif ($param->{'default_type'} eq '||=') { }
360 101 55 unless exists $param->{'type'}
387 2 60 exists $param->{'slurpy'} ? :
391 2 60 if (exists $param->{'name'} and exists $param->{'default'})
395 0 1 $param->{'default_type'} eq '||=' ? :
1 1 $param->{'default_type'} eq '//=' ? :
406 22 40 unless exists $param->{'type'}
408 1 39 exists $param->{'slurpy'} ? :
423 0 17 unless defined $param
427 2 15 $param->{'var'} =~ /^(.)__nameless_.*_parameter__$/u ? :
432 2 15 if ($param->{'sigil'} eq "%")
437 1 0 $special eq 'alias' ? :
0 1 $special eq 'alias' && $] < 5.022 ? :
0 1 $special eq 'ro' ? :
16 1 !$special ? :
443 3 14 exists $param->{'default'} ? :
447 1 16 if (exists $param->{'type'})
452 1 16 if (exists $param->{'required'})
464 381 13 if ($sigil eq "\$")
465 2 377 $special eq 'alias' ? :
0 379 $special eq 'alias' && $] < 5.022 ? :
2 379 $special eq 'ro' ? :
472 10 3 if ($sigil eq "\@")
473 0 10 $special eq 'alias' ? :
0 10 $special eq 'alias' && $] < 5.022 ? :
0 10 $special eq 'ro' ? :
482 3 0 if ($sigil eq "%")
483 0 3 $special eq 'alias' ? :
0 3 $special eq 'alias' && $] < 5.022 ? :
0 3 $special eq 'ro' ? :
499 4 369 if ($special)
500 2 2 if ($special eq 'ro') { }
0 2 elsif ($special eq 'alias' and $] < 5.022) { }
502 0 2 unless eval { do { require Const::Fast; 1 } }
506 0 0 unless eval { do { require Data::Alias; 1 } }
515 36 337 if (defined $default)
516 0 1 $sigil eq '@' ? :
8 1 $sigil eq '$' ? :
519 33 3 $sigil eq '$' ? :
525 60 313 $name ? :
539 0 2 if ($special eq "alias" and $] < "5.022")
541 0 0 unless eval { do { require Data::Alias; 1 } }
545 0 2 $special eq 'alias' ? :
0 2 $special eq 'alias' && $] >= 5.022 ? :
556 16 80 $constraint ? :
561 94 2 if ($sigil eq "\$")
564 2 0 if ($sigil eq "\@")
565 1 1 if $is_slurpy
568 0 0 if ($sigil eq "%")
753 1 33 $constraint ? :
754 0 34 if ($constraint and not defined $type)
759 14 20 $traits =~ /\brw\b/u ? :
769 8 19 $sigil eq '%' ? :
7 27 $sigil eq '@' ? :
776 28 6 if ($type)
783 3 31 $twigil ne '.' ? :
788 0 0 unless $delegation
789 0 0 if ($delegation =~ /^:(.*)<(.*)>$/msux) { }
798 19 15 $required ? :
802 15 0 if ($sigil =~ /[\@%]/u and !$initializer || $initializer =~ /\A \s*+ \z/msux)
807 20 14 if ($initializer =~ m[\A \s*+ (? // \s*+ )? = (? .*+ ) ]msux) { }
812 7 13 if ($sigil eq '@') { }
8 5 elsif ($sigil eq '%') { }
815 15 5 $init_field{'DEFAULT_INIT'} ? :
824 19 15 if ($sigil eq '$') { }
825 0 19 $] < 5.022 ? :
829 0 15 $] < 5.022 ? :
834 28 6 if ($type)
847 2 1 $constraint ? :
848 0 3 if ($constraint and not defined $type)
854 3 0 if (defined $type)
868 1 4 $constraint ? :
869 0 5 if ($constraint and not defined $type)
878 1 4 $traits =~ /\brw\b/u ? :
882 0 5 $twigil ne '.' ? :
886 1 4 if ($type) { }
894 1 4 if ($type)
916 28 30 if ($kind eq 'method') { }
929 103 187 if (defined $match) { }
939 25 33 if @variants == 1
944 6 0 $args =~ /\A \( .* \) \Z/msux ? :
947 6 27 if @variants == 0
955 0 0 $args =~ /\A \( .* \) \Z/msux ? :
958 0 27 if @variants == 0
1051 66 0 if ($invocant_name =~ /\A (\$?+) ([^\W\d]\w*+) \Z/msux) { }
1060 66 0 if (((&CORE::GLOBAL::caller(0))[3] // "") =~ /\b(?:un)?import\Z/u)
1068 66 0 if (((&CORE::GLOBAL::caller(0))[3] // "") =~ /\b(?:un)?import\Z/u)
1076 0 0 @bases ? :
13 39 @bases ? :
1089 66 0 if (((&CORE::GLOBAL::caller(0))[3] // "") =~ /\b(?:un)?import\Z/u)
1120 66 0 if (((&CORE::GLOBAL::caller(0))[3] // "") =~ /\b(?:un)?import\Z/u)
1140 66 0 if (((&CORE::GLOBAL::caller(0))[3] // "") =~ /\b(?:un)?import\Z/u)
1154 0 0 if (my $return_type = $parameter_list->{'return_type'}) { }
30 23 if (my $return_type = $parameter_list->{'return_type'}) { }
1158 0 0 $sub_name ? :
22 1 $sub_name ? :
1185 0 0 if (my $return_type = $parameter_list->{'return_type'}) { }
0 34 if (my $return_type = $parameter_list->{'return_type'}) { }
1203 0 0 $] < 5.022 ? :
0 131 $] < 5.022 ? :
1204 0 0 $^H{'Dios attrs'} ? :
17 114 $^H{'Dios attrs'} ? :
1210 0 0 $sub_name ? :
129 2 $sub_name ? :
1223 0 0 $] < 5.022 ? :
0 12 $] < 5.022 ? :
1224 0 0 $^H{'Dios attrs'} ? :
7 5 $^H{'Dios attrs'} ? :
66 0 if (((&CORE::GLOBAL::caller(0))[3] // "") =~ /\b(?:un)?import\Z/u)
1234 0 0 if ($sub_name eq 'BUILD') { }
0 0 elsif ($sub_name eq 'DESTROY') { }
8 4 if ($sub_name eq 'BUILD') { }
3 1 elsif ($sub_name eq 'DESTROY') { }
1238 0 0 $attr_name{$_} ? :
0 5 $attr_name{$_} ? :
66 0 if (((&CORE::GLOBAL::caller(0))[3] // "") =~ /\b(?:un)?import\Z/u)
1239 0 0 $attr_name{$_} ? :
0 0 if (my $invalid_names = join(", ", map({$attr_name{$_} ? ":$_" : ();} @{$$parameter_spec{"names"};})))
0 5 $attr_name{$_} ? :
0 8 if (my $invalid_names = join(", ", map({$attr_name{$_} ? ":$_" : ();} @{$$parameter_spec{"names"};})))
1249 66 0 if (((&CORE::GLOBAL::caller(0))[3] // "") =~ /\b(?:un)?import\Z/u)
1254 0 0 if $parameter_list and not $parameter_list =~ /^\(\s*+\)$/u
0 3 if $parameter_list and not $parameter_list =~ /^\(\s*+\)$/u
1255 66 0 if (((&CORE::GLOBAL::caller(0))[3] // "") =~ /\b(?:un)?import\Z/u)
1258 66 0 if (((&CORE::GLOBAL::caller(0))[3] // "") =~ /\b(?:un)?import\Z/u)
1259 66 0 if (((&CORE::GLOBAL::caller(0))[3] // "") =~ /\b(?:un)?import\Z/u)
1268 0 0 $sub_name ? :
12 0 $sub_name ? :