File Coverage

inc/Pegex/Base.pm
Criterion Covered Total %
statement 136 212 64.1
branch 36 40 90.0
condition 8 12 66.6
subroutine 43 43 100.0
pod n/a
total 223 307 72.6


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 2 50 100 2   13 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;
  2 100 100 2   4  
  2 100 33 2   2163  
  2 100 66 2   13  
  2 100 50 2   4  
  2 100   2   886  
  2 100   2   13  
  2 100   2   5  
  2 50   2   308  
  2 100   2   12  
  2 50   2   10  
  2 100   2   83  
  2 100   2   12  
  2 100   2   3  
  2 100   2   116  
  2 100   2   715  
  0 100   2   0  
  0 100   2   0  
  2 50   2   747  
  0 100   2   0  
  0     2   0  
  2     2   619  
  0     2   0  
  0     2   0  
  2     2   1208  
  0     2   0  
  0     2   0  
  2     2   649  
  0     2   0  
  0     2   0  
  2     2   706  
  0     2   0  
  0     2   0  
  2     2   635  
  0     2   0  
  0     2   0  
  2     2   618  
  0     2   0  
  0     2   0  
  2     2   670  
  0     2   0  
  0     2   0  
  2     604   641  
  0         0  
  0         0  
  2         582  
  0         0  
  0         0  
  2         660  
  0         0  
  0         0  
  2         991  
  2         7  
  2         21  
  2         756  
  0         0  
  0         0  
  2         704  
  0         0  
  0         0  
  2         721  
  0         0  
  0         0  
  2         705  
  0         0  
  0         0  
  2         786  
  0         0  
  0         0  
  2         709  
  0         0  
  0         0  
  2         767  
  0         0  
  0         0  
  2         733  
  0         0  
  0         0  
  2         949  
  0         0  
  0         0  
  2         775  
  0         0  
  0         0  
  2         771  
  0         0  
  0         0  
  2         753  
  0         0  
  0         0  
  2         677  
  0         0  
  0         0  
  2         715  
  0         0  
  0         0  
  2         716  
  0         0  
  0         0  
  2         761  
  0         0  
  0         0  
  2         698  
  0         0  
  0         0  
  2         629  
  0         0  
  0         0  
  2         885  
  0         0  
  0         0  
  2         747  
  0         0  
  0         0  
  2         748  
  0         0  
  0         0  
  2         683  
  0         0  
  0         0  
  2         721  
  0         0  
  0         0  
  2         732  
  0         0  
  0         0  
  604         4084  
  25         80  
  589         4382  
  25         94  
  25         145  
  25         44  
  30         154  
  10         33  
  5         38  
  5         17  
  12         22  
  12         721  
  20         51  
  20         145  
  2         6  
  0         0  
  2         4  
  6         13  
  6         362  
  3         113  
  2         20  
  1         24  
  0         0  
  0         0  
  1         40  
  6         13  
  6         43  
  10         16  
  10         50  
  10         40  
  12         50  
  10         19  
  11         77  
  16         47  
  11         502  
  25         63  
  26         146  
  11         31  
  12         61  
  7         28  
  7         24  
  14         46  
  5         15  
  5         21  
  5         15  
  5         53  
  0         0  
  5         10  
  25         65  
  25         88  
  25         113  
  25         139  
  27         84  
  25         125  
  12         24  
  12         340  
  12         40  
  12         58  
  6         24  
  6         43  
  6         329  
  12         403  
  13         355  
  27         70  
  27         98  
  12         26  
  25         78  
  20         42  
  4         6  
  11         53  
  9         26  
  25         83  
  11         104  
  11         72  
  6         14  
  6         65  
  12         30  
  12         695  
  40         123  
  40         145  
  6         13  
  4         22  
  6         19  
  20         58  
  6         13  
  8         68  
6              
7             our $DumpModule = 'YAML';
8              
9             1;