line |
true |
false |
branch |
29
|
85 |
145 |
if ($action eq '-gather') { }
|
|
25 |
120 |
elsif ($action eq '-go') { }
|
|
60 |
60 |
elsif ($action eq '-parent') { }
|
|
60 |
0 |
elsif ($action eq '-unparent') { }
|
32
|
60 |
102 |
if (my($kind, $pkg) = $k =~ /^(class|role|class_generator|role_generator):(.+)$/u) { }
|
33
|
0 |
60 |
unless $stack{$me}{$caller}
|
|
60 |
0 |
if (my(@stack) = @{[] unless $stack{$me}{$caller};})
|
34
|
60 |
0 |
if $stack[-1] eq $pkg
|
35
|
25 |
35 |
if (@stack)
|
48
|
0 |
25 |
if ($gather{$me}{$caller}{'_defer_role'})
|
52
|
0 |
25 |
if ($gather{$me}{$caller}{'_defer_role_generator'})
|
56
|
1 |
24 |
if ($gather{$me}{$caller}{'_defer_class_generator'})
|
59
|
5 |
20 |
if ($gather{$me}{$caller}{'_defer_class'})
|
63
|
0 |
22 |
if ($gather{$me}{$caller}{'debug'})
|
83
|
3 |
2 |
unless $classes
|
91
|
7 |
17 |
if $spec->{'_depth'} > $max_depth
|
95
|
60 |
24 |
unless $spec->{'_depth'} == $depth
|
98
|
3 |
21 |
unless ($class_hash{$parent_key})
|
556
|
0 |
69 |
unless "$GRAMMAR" =~ m[<$name>(.+)</$name>]su
|
560
|
225 |
919 |
if (my($named_capture) = /# CAPTURE:(\w+)/u)
|
567
|
0 |
8 |
$opts{'anchor'} eq 'both' ? :
|
|
0 |
8 |
$opts{'anchor'} eq 'end' ? :
|
|
61 |
8 |
$opts{'anchor'} eq 'start' ? :
|
583
|
4 |
19 |
unless $sig
|
591
|
0 |
28 |
unless $sig
|
595
|
3 |
25 |
if ($sig =~ /^((?&PerlBlock)) $GRAMMAR/osux) { }
|
|
19 |
6 |
elsif ($sig =~ /^((?&MxpTypeSpec)) $GRAMMAR/osux) { }
|
614
|
2 |
26 |
if ($sig =~ /^\*((?&PerlIdentifier)) $GRAMMAR/osux) { }
|
|
26 |
0 |
elsif ($sig =~ /^((?&PerlVariable)) $GRAMMAR/osux) { }
|
633
|
0 |
28 |
if ($sig =~ /^\?/u) { }
|
|
2 |
26 |
elsif ($sig =~ /^=((?&PerlOWS))((?&PerlTerm)) $GRAMMAR/osux) { }
|
644
|
9 |
19 |
if ($sig)
|
645
|
0 |
9 |
unless $sig =~ /^,/u
|
654
|
0 |
19 |
if ($seen_named and $seen_pos)
|
661
|
0 |
0 |
if (grep $_->{'positional'}, @parsed)
|
668
|
0 |
0 |
if ($is_optional) { }
|
|
0 |
0 |
elsif ($p->{'default'}) { }
|
|
0 |
0 |
elsif ($p->{'name'} =~ /^[\@\%]/u) { }
|
688
|
2 |
26 |
if $seen_named
|
689
|
3 |
25 |
if ($p->{'name'} =~ /^[\@\%]/u) { }
|
690
|
0 |
3 |
if @parsed
|
698
|
2 |
1 |
if ($p->{'type'} eq 'Any')
|
699
|
1 |
1 |
substr($p->{'name'}, 0, 1) eq '%' ? :
|
706
|
3 |
25 |
if ($p->{'type_is_block'}) { }
|
712
|
5 |
23 |
if (exists $p->{'optional'} or exists $p->{'default'} or $p->{'slurpy'})
|
714
|
0 |
5 |
if exists $p->{'optional'}
|
715
|
2 |
3 |
if exists $p->{'default'}
|
716
|
3 |
2 |
if exists $p->{'slurpy'}
|
721
|
1 |
18 |
if $seen_named
|
724
|
0 |
19 |
if (@head or @tail)
|
727
|
0 |
0 |
$_->{'type_is_block'} ? :
|
728
|
0 |
0 |
$_->{'type_is_block'} ? :
|
729
|
0 |
0 |
$head_stuff ? :
|
|
0 |
0 |
$tail_stuff ? :
|
757
|
3 |
12 |
if ($rolelist =~ /^((?&PerlBlock)) $GRAMMAR/osux) { }
|
|
12 |
0 |
elsif ($rolelist =~ /^((?&PerlQualifiedIdentifier)) $GRAMMAR/osux) { }
|
772
|
4 |
11 |
if ($rolelist =~ /^\?/sux) { }
|
|
4 |
7 |
elsif ($rolelist =~ /^((?&PerlList)) $GRAMMAR/osux) { }
|
773
|
0 |
4 |
if $kind eq 'class'
|
783
|
3 |
12 |
if ($role_is_block) { }
|
789
|
4 |
11 |
if ($role_params)
|
794
|
1 |
14 |
if (length $rolelist)
|
795
|
0 |
1 |
unless $rolelist =~ /^,/u
|
808
|
0 |
0 |
if $attr =~ /^:optimize\b/u
|
811
|
0 |
2 |
if ($via)
|
812
|
0 |
0 |
$name =~ /^\{/u ? :
|
|
0 |
0 |
$via =~ /^\{/u ? :
|
819
|
0 |
2 |
unless ($has_sig)
|
821
|
0 |
0 |
$name =~ /^\{/u ? :
|
|
0 |
0 |
$optim ? :
|
831
|
0 |
2 |
$name =~ /^\{/u ? :
|
|
0 |
2 |
$optim ? :
|
848
|
1 |
0 |
if $attr =~ /^:optimize\b/u
|
851
|
10 |
1 |
if (defined $name) { }
|
852
|
9 |
1 |
if ($has_sig) { }
|
855
|
0 |
9 |
$name =~ /^\{/u ? :
|
|
1 |
8 |
$optim ? :
|
867
|
0 |
1 |
$name =~ /^\{/u ? :
|
|
0 |
1 |
$optim ? :
|
877
|
1 |
0 |
if ($has_sig) { }
|
880
|
0 |
1 |
$optim ? :
|
891
|
0 |
0 |
$optim ? :
|
908
|
0 |
0 |
if $attr =~ /^:optimize\b/u
|
909
|
0 |
0 |
if $attr =~ /^:alias\((.+)\)$/u
|
912
|
0 |
0 |
if ($has_sig) { }
|
915
|
0 |
0 |
$name =~ /^\{/u ? :
|
927
|
0 |
0 |
$name =~ /^\{/u ? :
|
942
|
0 |
0 |
if $attr =~ /^:optimize\b/u
|
945
|
1 |
0 |
if ($has_sig) { }
|
|
0 |
0 |
elsif ($kind eq 'around') { }
|
948
|
0 |
1 |
if ($kind eq 'around') { }
|
954
|
0 |
1 |
$name =~ /^\{/u ? :
|
|
0 |
1 |
$optim ? :
|
967
|
0 |
0 |
$name =~ /^\{/u ? :
|
|
0 |
0 |
$optim ? :
|
978
|
0 |
0 |
$name =~ /^\{/u ? :
|
|
0 |
0 |
$optim ? :
|
992
|
1 |
64 |
if ($kind eq 'abstract')
|
997
|
0 |
65 |
if ($kind eq 'interface')
|
1002
|
7 |
58 |
if ($name and $has_sig) { }
|
|
1 |
57 |
elsif ($has_sig) { }
|
|
53 |
4 |
elsif ($name) { }
|
1031
|
53 |
0 |
$code ? :
|
1062
|
13 |
12 |
unless defined $rawspec
|
1064
|
0 |
25 |
if (defined $default and $default =~ /\$self/u) { }
|
|
4 |
21 |
elsif (defined $default) { }
|
1074
|
2 |
23 |
$name =~ /^\{/u ? :
|
1084
|
0 |
3 |
$name =~ /^\{/u ? :
|
1090
|
2 |
1 |
if ($has_sig)
|
1092
|
0 |
2 |
$name =~ /^\{/u ? :
|
1131
|
23 |
2 |
unless exists $opts{'prefix'}
|
1132
|
25 |
0 |
unless exists $opts{'factory_package'}
|
1133
|
25 |
0 |
unless exists $opts{'type_library'}
|
1138
|
0 |
25 |
if ($opts{'declare'})
|
1141
|
0 |
0 |
unless eval "\n\t\t\t\tsub ${caller}::$name () { goto \\&${types}::$name }\n\t\t\t\tsub ${caller}::is_$name (\$) { goto \\&${types}::is_$name }\n\t\t\t\tsub ${caller}::assert_$name (\$) { goto \\&${types}::assert_$name }\n\t\t\t\t1;\n\t\t\t"
|
1155
|
25 |
0 |
if ($] >= 5.018) { }
|
|
0 |
0 |
elsif ($] >= 5.014) { }
|
1169
|
0 |
2 |
unless $$ref =~ _fetch_re('MxpIncludeSyntax', 'anchor', 'start')
|
1185
|
0 |
57 |
unless $$ref =~ _fetch_re('MxpClassSyntax', 'anchor', 'start')
|
1207
|
0 |
1 |
unless $$ref =~ _fetch_re('MxpAbstractSyntax', 'anchor', 'start')
|
1230
|
0 |
7 |
unless $$ref =~ _fetch_re('MxpRoleSyntax', 'anchor', 'start')
|
1252
|
0 |
0 |
unless $$ref =~ _fetch_re('MxpToolkitSyntax', 'anchor', 'start')
|
1261
|
0 |
0 |
if ($imports) { }
|
1268
|
0 |
0 |
if ($next =~ /^::(.+)$/u) { }
|
|
0 |
0 |
elsif ($next =~ /^[^\W0-9]/u) { }
|
1277
|
0 |
0 |
if $imports[0] eq ','
|
1293
|
0 |
0 |
unless $$ref =~ _fetch_re('MxpHookSyntax', 'anchor', 'start')
|
1309
|
0 |
1 |
unless $$ref =~ _fetch_re('MxpTypeNameSyntax', 'anchor', 'start')
|
1324
|
0 |
7 |
unless $$ref =~ _fetch_re('MxpExtendsSyntax', 'anchor', 'start')
|
1339
|
0 |
7 |
unless $$ref =~ _fetch_re('MxpWithSyntax', 'anchor', 'start')
|
1355
|
0 |
3 |
unless $$ref =~ _fetch_re('MxpRequiresSyntax', 'anchor', 'start')
|
1372
|
0 |
25 |
unless $$ref =~ _fetch_re('MxpHasSyntax', 'anchor', 'start')
|
1386
|
12 |
13 |
$has_spec ? :
|
|
4 |
21 |
$has_default ? :
|
1394
|
0 |
6 |
unless $$ref =~ _fetch_re('MxpConstantSyntax', 'anchor', 'start')
|
1411
|
0 |
11 |
unless $$ref =~ _fetch_re('MxpMethodSyntax', 'anchor', 'start')
|
1426
|
1 |
10 |
$attributes ? :
|
1438
|
0 |
0 |
unless $$ref =~ _fetch_re('MxpMultiSyntax', 'anchor', 'start')
|
1449
|
0 |
0 |
$attributes ? :
|
1462
|
0 |
1 |
unless $$ref =~ _fetch_re('MxpModifierSyntax', 'anchor', 'start')
|
1473
|
0 |
1 |
$attributes ? :
|
1482
|
2 |
0 |
if ($$ref =~ _fetch_re('MxpFactorySyntax', 'anchor', 'start'))
|
1486
|
0 |
2 |
$attributes ? :
|
1491
|
0 |
0 |
unless $$ref =~ _fetch_re('MxpFactoryViaSyntax', 'anchor', 'start')
|
1510
|
0 |
1 |
unless $$ref =~ _fetch_re('MxpCoerceSyntax', 'anchor', 'start')
|
1518
|
0 |
1 |
if ($from =~ /^\{/u) { }
|
|
1 |
0 |
elsif (not $from =~ /^(q\b)|(qq\b)|"|'/u) { }
|
1524
|
0 |
1 |
if ($via =~ /^\{/u) { }
|
|
1 |
0 |
elsif (not $via =~ /^(q\b)|(qq\b)|"|'/u) { }
|
1531
|
1 |
0 |
$code ? :
|
1537
|
3 |
22 |
unless eval "package $caller; use MooX::Pression::_Gather -go; 1"
|
1563
|
0 |
1 |
if (@_ == 1 and ref $_[0] eq 'HASH') { }
|
|
0 |
1 |
elsif (@_ == 1 and ref $_[0] eq 'ARRAY') { }
|
1630
|
0 |
0 |
if @imports
|
1672
|
0 |
2 |
if ref $file eq 'ARRAY'
|
1748
|
0 |
12 |
if exists $package_dfn->{$forbidden}
|