| blib/lib/Pegex/Base.pm | |||
|---|---|---|---|
| Criterion | Covered | Total | % |
| statement | 217 | 365 | 59.4 |
| branch | 39 | 40 | 97.5 |
| condition | 10 | 13 | 76.9 |
| subroutine | 95 | 95 | 100.0 |
| pod | n/a | ||
| total | 361 | 513 | 70.3 |
| line | stmt | bran | cond | sub | pod | time | code |
|---|---|---|---|---|---|---|---|
| 1 | package Pegex::Base; | ||||||
| 2 | # use Mo qw'build default builder xxx import nonlazy required'; | ||||||
| 3 | # The following line of code was produced from the previous line by | ||||||
| 4 | # Mo::Inline version 0.40 | ||||||
| 5 | 11 | 100 | 66 | 11 | 55046 | no warnings;my$M=__PACKAGE__.'::';*{$M.Object::new}=sub{my$c=shift;my$s=bless{@_},$c;my%n=%{$c.'::'.':E'};map{$s->{$_}=$n{$_}->()if!exists$s->{$_}}keys%n;$s};*{$M.import}=sub{import warnings;$^H|=1538;my($P,%e,%o)=caller.'::';shift;eval"no Mo::$_",&{$M.$_.::e}($P,\%e,\%o,\@_)for@_;return if$e{M};%e=(extends,sub{eval"no $_[0]()";@{$P.ISA}=$_[0]},has,sub{my$n=shift;my$m=sub{$#_?$_[0]{$n}=$_[1]:$_[0]{$n}};@_=(default,@_)if!($#_%2);$m=$o{$_}->($m,$n,@_)for sort keys%o;*{$P.$n}=$m},%e,);*{$P.$_}=$e{$_}for keys%e;@{$P.ISA}=$M.Object};*{$M.'build::e'}=sub{my($P,$e)=@_;$e->{new}=sub{$c=shift;my$s=&{$M.Object::new}($c,@_);my@B;do{@B=($c.::BUILD,@B)}while($c)=@{$c.::ISA};exists&$_&&&$_($s)for@B;$s}};*{$M.'default::e'}=sub{my($P,$e,$o)=@_;$o->{default}=sub{my($m,$n,%a)=@_;exists$a{default}or return$m;my($d,$r)=$a{default};my$g='HASH'eq($r=ref$d)?sub{+{%$d}}:'ARRAY'eq$r?sub{[@$d]}:'CODE'eq$r?$d:sub{$d};my$i=exists$a{lazy}?$a{lazy}:!${$P.':N'};$i or ${$P.':E'}{$n}=$g and return$m;sub{$#_?$m->(@_):!exists$_[0]{$n}?$_[0]{$n}=$g->(@_):$m->(@_)}}};*{$M.'builder::e'}=sub{my($P,$e,$o)=@_;$o->{builder}=sub{my($m,$n,%a)=@_;my$b=$a{builder}or return$m;my$i=exists$a{lazy}?$a{lazy}:!${$P.':N'};$i or ${$P.':E'}{$n}=\&{$P.$b}and return$m;sub{$#_?$m->(@_):!exists$_[0]{$n}?$_[0]{$n}=$_[0]->$b:$m->(@_)}}};use constant XXX_skip=>1;*{$M.'xxx::e'}=sub{my($P,$e)=@_;$e->{WWW}=sub{require XXX;XXX::WWW(@_)};$e->{XXX}=sub{require XXX;XXX::XXX(@_)};$e->{YYY}=sub{require XXX;XXX::YYY(@_)};$e->{ZZZ}=sub{require XXX;XXX::ZZZ(@_)}};my$i=\&import;*{$M.import}=sub{(@_==2 and not$_[1])?pop@_:@_==1?push@_,grep!/import/,@f:();goto&$i};*{$M.'nonlazy::e'}=sub{${shift().':N'}=1};*{$M.'required::e'}=sub{my($P,$e,$o)=@_;$o->{required}=sub{my($m,$n,%a)=@_;if($a{required}){my$C=*{$P."new"}{CODE}||*{$M.Object::new}{CODE};no warnings 'redefine';*{$P."new"}=sub{my$s=$C->(@_);my%a=@_[1..$#_];die$n." required"if!exists$a{$n};$s}}$m}};@f=qw[build default builder xxx import nonlazy required];use strict;use warnings; | |
| 11 | 100 | 100 | 11 | 23 | |||
| 11 | 100 | 100 | 11 | 9081 | |||
| 11 | 100 | 66 | 11 | 74 | |||
| 11 | 100 | 66 | 11 | 29 | |||
| 11 | 100 | 11 | 3963 | ||||
| 11 | 100 | 11 | 76 | ||||
| 11 | 100 | 11 | 22 | ||||
| 11 | 100 | 11 | 1405 | ||||
| 11 | 100 | 11 | 65 | ||||
| 11 | 100 | 11 | 17 | ||||
| 11 | 100 | 11 | 234 | ||||
| 11 | 100 | 11 | 42 | ||||
| 11 | 100 | 11 | 15 | ||||
| 11 | 100 | 11 | 375 | ||||
| 11 | 100 | 11 | 1503 | ||||
| 0 | 100 | 11 | 0 | ||||
| 0 | 50 | 11 | 0 | ||||
| 11 | 100 | 11 | 1236 | ||||
| 0 | 100 | 11 | 0 | ||||
| 0 | 11 | 0 | |||||
| 11 | 11 | 1261 | |||||
| 0 | 11 | 0 | |||||
| 0 | 11 | 0 | |||||
| 11 | 11 | 1289 | |||||
| 0 | 11 | 0 | |||||
| 0 | 11 | 0 | |||||
| 11 | 11 | 1252 | |||||
| 0 | 11 | 0 | |||||
| 0 | 11 | 0 | |||||
| 11 | 11 | 1228 | |||||
| 0 | 11 | 0 | |||||
| 0 | 11 | 0 | |||||
| 11 | 11 | 1490 | |||||
| 1 | 11 | 2 | |||||
| 1 | 10 | 9 | |||||
| 11 | 10 | 1274 | |||||
| 0 | 10 | 0 | |||||
| 0 | 10 | 0 | |||||
| 11 | 10 | 1261 | |||||
| 0 | 10 | 0 | |||||
| 0 | 10 | 0 | |||||
| 11 | 10 | 1210 | |||||
| 0 | 10 | 0 | |||||
| 0 | 10 | 0 | |||||
| 11 | 10 | 1191 | |||||
| 0 | 10 | 0 | |||||
| 0 | 10 | 0 | |||||
| 11 | 10 | 1247 | |||||
| 0 | 10 | 0 | |||||
| 0 | 10 | 0 | |||||
| 11 | 10 | 1268 | |||||
| 0 | 10 | 0 | |||||
| 0 | 10 | 0 | |||||
| 11 | 10 | 1229 | |||||
| 0 | 10 | 0 | |||||
| 0 | 10 | 0 | |||||
| 11 | 10 | 1214 | |||||
| 0 | 10 | 0 | |||||
| 0 | 10 | 0 | |||||
| 11 | 10 | 1245 | |||||
| 0 | 10 | 0 | |||||
| 0 | 10 | 0 | |||||
| 11 | 10 | 1203 | |||||
| 0 | 10 | 0 | |||||
| 0 | 10 | 0 | |||||
| 11 | 10 | 1234 | |||||
| 0 | 10 | 0 | |||||
| 0 | 7 | 0 | |||||
| 11 | 7 | 1363 | |||||
| 0 | 7 | 0 | |||||
| 0 | 7 | 0 | |||||
| 11 | 7 | 1252 | |||||
| 0 | 7 | 0 | |||||
| 0 | 7 | 0 | |||||
| 11 | 1 | 1229 | |||||
| 0 | 1 | 0 | |||||
| 0 | 1 | 0 | |||||
| 11 | 1 | 1257 | |||||
| 0 | 1 | 0 | |||||
| 0 | 1 | 0 | |||||
| 11 | 1 | 1243 | |||||
| 0 | 1 | 0 | |||||
| 0 | 1 | 0 | |||||
| 11 | 1 | 1233 | |||||
| 0 | 1 | 0 | |||||
| 0 | 1 | 0 | |||||
| 11 | 1 | 1283 | |||||
| 0 | 1 | 0 | |||||
| 0 | 1 | 0 | |||||
| 11 | 1 | 1249 | |||||
| 0 | 1 | 0 | |||||
| 0 | 1 | 0 | |||||
| 11 | 1 | 1273 | |||||
| 0 | 2025 | 0 | |||||
| 0 | 0 | ||||||
| 11 | 1320 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 11 | 1250 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 11 | 1215 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 2330 | ||||||
| 6 | 16 | ||||||
| 6 | 58 | ||||||
| 10 | 1140 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1160 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1158 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1114 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1110 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1340 | ||||||
| 1 | 2 | ||||||
| 1 | 9 | ||||||
| 10 | 1158 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1118 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1120 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1111 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1106 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 948 | ||||||
| 2 | 3 | ||||||
| 2 | 18 | ||||||
| 10 | 1032 | ||||||
| 1 | 2 | ||||||
| 1 | 9 | ||||||
| 10 | 1162 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1132 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1132 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1137 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1124 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 486 | ||||||
| 6 | 10 | ||||||
| 6 | 55 | ||||||
| 10 | 1166 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1184 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1134 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1107 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1161 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1569 | ||||||
| 2 | 6 | ||||||
| 2 | 16 | ||||||
| 10 | 1498 | ||||||
| 1 | 3 | ||||||
| 1 | 9 | ||||||
| 10 | 1137 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1113 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1106 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1121 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1267 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 10 | 1865 | ||||||
| 8 | 20 | ||||||
| 8 | 66 | ||||||
| 7 | 1021 | ||||||
| 1 | 3 | ||||||
| 1 | 8 | ||||||
| 7 | 837 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 7 | 787 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 7 | 808 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 7 | 685 | ||||||
| 1 | 2 | ||||||
| 1 | 9 | ||||||
| 7 | 1053 | ||||||
| 1 | 3 | ||||||
| 1 | 10 | ||||||
| 7 | 257 | ||||||
| 5 | 10 | ||||||
| 5 | 41 | ||||||
| 1 | 116 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 119 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 114 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 114 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 137 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 121 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 124 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 111 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 114 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 113 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 113 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 7 | ||||||
| 1 | 2 | ||||||
| 1 | 10 | ||||||
| 1 | 121 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 123 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 116 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 114 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 114 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 118 | ||||||
| 0 | 0 | ||||||
| 0 | 0 | ||||||
| 1 | 6 | ||||||
| 1 | 2 | ||||||
| 1 | 8 | ||||||
| 2025 | 9098 | ||||||
| 544 | 2123 | ||||||
| 520 | 2133 | ||||||
| 157 | 589 | ||||||
| 128 | 351 | ||||||
| 80 | 237 | ||||||
| 79 | 243 | ||||||
| 131 | 730 | ||||||
| 194 | 483 | ||||||
| 1297 | 4820 | ||||||
| 175 | 409 | ||||||
| 167 | 589 | ||||||
| 160 | 235 | ||||||
| 644 | 2881 | ||||||
| 88 | 217 | ||||||
| 82 | 40157 | ||||||
| 589 | 2083 | ||||||
| 139 | 1074 | ||||||
| 180 | 354 | ||||||
| 205 | 1091 | ||||||
| 220 | 748 | ||||||
| 204 | 509 | ||||||
| 161 | 840 | ||||||
| 179 | 446 | ||||||
| 172 | 939 | ||||||
| 126 | 343 | ||||||
| 90 | 231 | ||||||
| 42 | 103 | ||||||
| 49 | 145 | ||||||
| 73 | 124 | ||||||
| 113 | 298 | ||||||
| 142 | 367 | ||||||
| 98 | 300 | ||||||
| 100 | 354 | ||||||
| 134 | 277 | ||||||
| 117 | 525 | ||||||
| 166 | 420 | ||||||
| 152 | 837 | ||||||
| 105 | 314 | ||||||
| 115 | 1751 | ||||||
| 169 | 326 | ||||||
| 181 | 321 | ||||||
| 88 | 225 | ||||||
| 139 | 271 | ||||||
| 115 | 235 | ||||||
| 178 | 894 | ||||||
| 165 | 405 | ||||||
| 134 | 894 | ||||||
| 129 | 240 | ||||||
| 144 | 766 | ||||||
| 76 | 1201 | ||||||
| 121 | 772 | ||||||
| 167 | 923 | ||||||
| 131 | 352 | ||||||
| 112 | 1413 | ||||||
| 156 | 383 | ||||||
| 146 | 1139 | ||||||
| 98 | 1233 | ||||||
| 110 | 379 | ||||||
| 108 | 291 | ||||||
| 130 | 392 | ||||||
| 84 | 618 | ||||||
| 126 | 2016 | ||||||
| 152 | 512 | ||||||
| 148 | 2745 | ||||||
| 122 | 1155 | ||||||
| 138 | 841 | ||||||
| 120 | 1340 | ||||||
| 100 | 768 | ||||||
| 82 | 1275 | ||||||
| 100 | 237 | ||||||
| 97 | 1705 | ||||||
| 129 | 268 | ||||||
| 120 | 1712 | ||||||
| 101 | 551 | ||||||
| 117 | 404 | ||||||
| 114 | 519 | ||||||
| 105 | 394 | ||||||
| 118 | 1296 | ||||||
| 119 | 565 | ||||||
| 116 | 1404 | ||||||
| 112 | 386 | ||||||
| 112 | 2887 | ||||||
| 6 | |||||||
| 7 | 1; |