File Coverage

inc/Pegex/Base.pm
Criterion Covered Total %
statement 140 212 66.0
branch 40 40 100.0
condition 9 12 75.0
subroutine 43 43 100.0
pod n/a
total 232 307 75.5


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.38
5 4 100 100 4   29 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;my$dm='YAML::XS';*{$M.'xxx::e'}=sub{my($P,$e)=@_;$e->{WWW}=sub{require XXX;local$XXX::DumpModule=$dm;XXX::WWW(@_)};$e->{XXX}=sub{require XXX;local$XXX::DumpModule=$dm;XXX::XXX(@_)};$e->{YYY}=sub{require XXX;local$XXX::DumpModule=$dm;XXX::YYY(@_)};$e->{ZZZ}=sub{require XXX;local$XXX::DumpModule=$dm}};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;
  4 100 100 4   11  
  4 100 100 4   5092  
  4 100 66 4   28  
  4 100 33 4   16  
  4 100   4   1865  
  4 100   4   24  
  4 100   4   10  
  4 100   4   640  
  4 100   4   26  
  4 100   4   7  
  4 100   4   157  
  4 100   4   16  
  4 100   4   7  
  4 100   4   236  
  4 100   4   1533  
  0 100   4   0  
  0 100   4   0  
  4 100   4   1391  
  0 100   4   0  
  0     4   0  
  4     4   1346  
  0     4   0  
  0     4   0  
  4     4   1338  
  0     4   0  
  0     4   0  
  4     4   1356  
  0     4   0  
  0     4   0  
  4     4   1252  
  0     4   0  
  0     4   0  
  4     4   1309  
  0     4   0  
  0     4   0  
  4     4   1404  
  0     4   0  
  0     4   0  
  4     4   1338  
  0     4   0  
  0     4   0  
  4     1169   1747  
  0         0  
  0         0  
  4         1419  
  0         0  
  0         0  
  4         1262  
  0         0  
  0         0  
  4         1755  
  4         10  
  4         42  
  4         1322  
  0         0  
  0         0  
  4         1416  
  0         0  
  0         0  
  4         1446  
  0         0  
  0         0  
  4         1277  
  0         0  
  0         0  
  4         1306  
  0         0  
  0         0  
  4         1444  
  0         0  
  0         0  
  4         1292  
  0         0  
  0         0  
  4         1237  
  0         0  
  0         0  
  4         1216  
  0         0  
  0         0  
  4         1226  
  0         0  
  0         0  
  4         1219  
  0         0  
  0         0  
  4         1232  
  0         0  
  0         0  
  4         1295  
  0         0  
  0         0  
  4         1283  
  0         0  
  0         0  
  4         1216  
  0         0  
  0         0  
  4         1100  
  0         0  
  0         0  
  4         1243  
  0         0  
  0         0  
  4         1352  
  0         0  
  0         0  
  4         1542  
  0         0  
  0         0  
  4         1240  
  0         0  
  0         0  
  4         1336  
  0         0  
  0         0  
  4         1190  
  0         0  
  0         0  
  4         1161  
  0         0  
  0         0  
  4         1297  
  0         0  
  0         0  
  1169         9213  
  2         92  
  2         7  
  2         41  
  10         18  
  10         13  
  594         3753  
  30         50  
  30         77  
  41         214  
  41         182  
  31         124  
  50         163  
  624         4111  
  45         113  
  46         226  
  41         182  
  41         163  
  54         213  
  38         162  
  24         325  
  18         81  
  31         89  
  26         74  
  10         30  
  30         74  
  30         80  
  33         414  
  47         172  
  53         563  
  52         159  
  46         149  
  10         17  
  10         422  
  16         50  
  30         176  
  15         50  
  15         42  
  15         59  
  15         77  
  15         48  
  12         73  
  10         28  
  7         36  
  11         335  
  25         42  
  31         113  
  22         362  
  36         107  
  36         146  
  18         102  
  18         377  
  19         62  
  32         88  
  32         135  
  16         80  
  25         42  
  27         64  
  15         20  
  15         369  
  17         112  
  26         100  
  24         327  
  25         78  
  25         411  
  66         157  
  52         513  
  20         78  
  20         83  
  15         322  
  31         175  
  24         136  
  24         90  
  22         81  
  37         391  
  51         212  
  28         435  
  7         13  
  13         97  
  13         40  
  11         41  
  13         111  
  21         73  
  18         643  
  24         46  
  24         1182  
6              
7             our $DumpModule = 'YAML';
8              
9             1;