File Coverage

inc/Pegex/Base.pm
Criterion Covered Total %
statement 122 212 57.5
branch 23 40 57.5
condition 5 11 45.4
subroutine 42 43 97.6
pod n/a
total 192 306 62.7


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 1 50 33 1   5 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;
  1 50 100 1   2  
  1 50 0 1   4944  
  1 100 50 1   13  
  1 50 50 1   3  
  1 50   1   2622  
  1 50   1   8  
  1 100   1   1  
  1 50   1   188  
  1 50   1   7  
  1 100   1   2  
  1 100   1   275  
  1 50   1   7  
  1 100   1   3  
  1 50   1   103  
  1 50   1   1758  
  0 50   1   0  
  0 0   1   0  
  1 0   1   332  
  0 50   1   0  
  0     1   0  
  1     1   379  
  0     1   0  
  0     1   0  
  1     1   374  
  0     1   0  
  0     1   0  
  1     1   376  
  0     1   0  
  0     1   0  
  1     1   395  
  0     1   0  
  0     1   0  
  1     1   394  
  0     1   0  
  0     1   0  
  1     1   362  
  0     1   0  
  0     1   0  
  1     1   370  
  0     1   0  
  0     1   0  
  1     0   340  
  0         0  
  0         0  
  1         328  
  0         0  
  0         0  
  1         343  
  0         0  
  0         0  
  1         378  
  1         5  
  1         10  
  1         337  
  0         0  
  0         0  
  1         415  
  0         0  
  0         0  
  1         392  
  0         0  
  0         0  
  1         512  
  0         0  
  0         0  
  1         375  
  0         0  
  0         0  
  1         526  
  0         0  
  0         0  
  1         352  
  0         0  
  0         0  
  1         368  
  0         0  
  0         0  
  1         368  
  0         0  
  0         0  
  1         386  
  0         0  
  0         0  
  1         433  
  0         0  
  0         0  
  1         673  
  0         0  
  0         0  
  1         382  
  0         0  
  0         0  
  1         413  
  0         0  
  0         0  
  1         400  
  0         0  
  0         0  
  1         429  
  0         0  
  0         0  
  1         402  
  0         0  
  0         0  
  1         352  
  0         0  
  0         0  
  1         371  
  0         0  
  0         0  
  1         355  
  0         0  
  0         0  
  1         347  
  0         0  
  0         0  
  1         848  
  0         0  
  0         0  
  1         561  
  0         0  
  0         0  
  1         574  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  6         112  
  6         54  
  1         43  
  1         3  
  1         23  
  20         37  
  20         86  
  584         4586  
  20         70  
  20         157  
  20         39  
  20         113  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  5         8  
  5         7  
  5         22  
  5         5  
  5         7  
  10         45  
  10         27  
  5         33  
  5         15  
  7         18  
  7         31  
  7         18  
  7         16  
  0         0  
  0         0  
  0         0  
  1         17  
  6         15  
  6         500  
  20         48  
  20         123  
  2         10  
  0         0  
  2         7  
  0         0  
  0         0  
  2         13  
  6         18  
  6         65  
  20         52  
  20         44  
  4         6  
  4         24  
  4         24  
  20         60  
  6         13  
  6         458  
  6         18  
  6         549  
  20         38  
  20         82  
  5         20  
  5         36  
  0         0  
  0         0  
  7         23  
  5         13  
  5         19  
  5         15  
  5         50  
  0         0  
  0         0  
  6         11  
  6         361  
  6         16  
  6         40  
  6         33  
  6         80  
  6         405  
  5         6  
  5         21  
  5         8  
  5         28  
  5         10  
  7         40  
  5         11  
6              
7             our $DumpModule = 'YAML';
8              
9             1;