File Coverage

inc/Pegex/Base.pm
Criterion Covered Total %
statement 140 212 66.0
branch 36 40 90.0
condition 9 13 69.2
subroutine 43 43 100.0
pod n/a
total 228 308 74.0


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.39
5 4 100 66 4   22 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   7  
  4 100 50 4   4079  
  4 50 66 4   29  
  4 100 66 4   13  
  4 100   4   1926  
  4 100   4   27  
  4 50   4   7  
  4 100   4   618  
  4 100   4   28  
  4 100   4   5  
  4 100   4   195  
  4 100   4   26  
  4 100   4   6  
  4 100   4   293  
  4 100   4   1080  
  0 100   4   0  
  0 100   4   0  
  4 50   4   683  
  0 50   4   0  
  0     4   0  
  4     4   788  
  0     4   0  
  0     4   0  
  4     4   663  
  0     4   0  
  0     4   0  
  4     4   680  
  0     4   0  
  0     4   0  
  4     4   812  
  0     4   0  
  0     4   0  
  4     4   739  
  0     4   0  
  0     4   0  
  4     4   775  
  0     4   0  
  0     4   0  
  4     4   673  
  0     4   0  
  0     4   0  
  4     1179   706  
  0         0  
  0         0  
  4         775  
  0         0  
  0         0  
  4         650  
  0         0  
  0         0  
  4         1401  
  4         8  
  4         42  
  4         782  
  0         0  
  0         0  
  4         677  
  0         0  
  0         0  
  4         764  
  0         0  
  0         0  
  4         753  
  0         0  
  0         0  
  4         639  
  0         0  
  0         0  
  4         606  
  0         0  
  0         0  
  4         659  
  0         0  
  0         0  
  4         672  
  0         0  
  0         0  
  4         849  
  0         0  
  0         0  
  4         637  
  0         0  
  0         0  
  4         699  
  0         0  
  0         0  
  4         633  
  0         0  
  0         0  
  4         664  
  0         0  
  0         0  
  4         712  
  0         0  
  0         0  
  4         753  
  0         0  
  0         0  
  4         591  
  0         0  
  0         0  
  4         655  
  0         0  
  0         0  
  4         744  
  0         0  
  0         0  
  4         691  
  0         0  
  0         0  
  4         642  
  0         0  
  0         0  
  4         612  
  0         0  
  0         0  
  4         608  
  0         0  
  0         0  
  4         682  
  0         0  
  0         0  
  4         607  
  0         0  
  0         0  
  1179         6657  
  17         574  
  11         48  
  11         27  
  594         4577  
  35         93  
  57         184  
  50         200  
  27         165  
  21         97  
  23         143  
  13         142  
  12         371  
  28         60  
  27         174  
  31         65  
  31         464  
  24         33  
  31         110  
  23         73  
  24         82  
  19         62  
  12         32  
  19         95  
  25         194  
  5         18  
  6         56  
  6         38  
  7         84  
  26         87  
  610         3072  
  25         91  
  25         157  
  27         109  
  31         135  
  11         438  
  26         66  
  32         134  
  20         45  
  18         47  
  25         77  
  16         40  
  5         30  
  7         27  
  41         69  
  46         488  
  24         70  
  24         115  
  34         62  
  50         152  
  36         68  
  36         489  
  50         135  
  57         264  
  37         75  
  31         126  
  19         561  
  17         60  
  17         284  
  19         324  
  22         330  
  36         376  
  55         132  
  39         127  
  19         89  
  21         101  
  18         45  
  19         485  
  40         108  
  38         132  
  36         111  
  22         475  
  17         70  
  7         75  
  47         99  
  51         159  
  17         310  
  15         43  
  17         101  
  26         61  
  12         29  
  20         717  
  24         145  
  24         763  
  24         102  
  24         833  
6              
7             our $DumpModule = 'YAML';
8              
9             1;