File Coverage

blib/lib/Bif/Mo.pm
Criterion Covered Total %
statement 118 146 80.8
branch 34 34 100.0
condition 10 15 66.6
subroutine 28 28 100.0
pod n/a
total 190 223 85.2


line stmt bran cond sub pod time code
1             package Bif::Mo;
2              
3             #<<< do not perltidy
4             # use Mo qw/required build default is import/;
5             # The following line of code was produced from the previous line by
6             # Mo::Inline version 0.39
7 84 100 66 84   751 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.'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..$#_];if(!exists$a{$n}){require Carp;Carp::croak($n." required")}$s}}$m}};*{$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.'is::e'}=sub{my($P,$e,$o)=@_;$o->{is}=sub{my($m,$n,%a)=@_;$a{is}or return$m;sub{$#_&&$a{is}eq'ro'&&caller ne'Mo::coerce'?die$n.' is ro':$m->(@_)}}};my$i=\&import;*{$M.import}=sub{(@_==2 and not$_[1])?pop@_:@_==1?push@_,grep!/import/,@f:();goto&$i};@f=qw[required build default is import];use strict;use warnings;
  83 100 66 84   179  
  83 100 66 84   28551  
  84 100 66 84   12337  
  48 100 66 83   101  
  48 100   48   37764  
  84 100   48   11332  
  48 100   48   114  
  48 100   45   1250  
  84 100   45   10604  
  49 100   45   108  
  49 100   45   1732  
  83 100   45   26952  
  0 100   42   0  
  0 100   42   0  
  48 100   42   14653  
  0 100   41   0  
  0     41   0  
  48     41   14640  
  0     41   0  
  0     41   0  
  48     41   14479  
  0     40   0  
  0     40   0  
  45     40   15780  
  1     40   3  
  1     40   15  
  45     1126   13927  
  0         0  
  0         0  
  45         14210  
  0         0  
  0         0  
  45         13809  
  0         0  
  0         0  
  45         6070  
  39         101  
  39         433  
  42         14033  
  0         0  
  0         0  
  42         13128  
  0         0  
  0         0  
  42         12991  
  0         0  
  0         0  
  41         11464  
  3         7  
  3         33  
  41         2115  
  37         83  
  37         412  
  41         13610  
  0         0  
  0         0  
  41         12483  
  0         0  
  0         0  
  41         12149  
  1         1  
  1         13  
  41         11641  
  3         6  
  3         34  
  40         1579  
  36         75  
  36         403  
  40         13225  
  0         0  
  0         0  
  40         12177  
  0         0  
  0         0  
  40         11423  
  1         2  
  1         11  
  40         10942  
  3         7  
  3         33  
  1126         15013  
  600         4119  
  548         10722  
  746         4220  
  409         2047  
  510         2604  
  557         2626  
  470         3030  
  398         2854  
  714         4524  
  449         2382  
  398         2894  
  557         3889  
  555         2269  
  447         3233  
  438         2191  
  403         3057  
  399         2910  
  448         2573  
  386         1487  
  449         2337  
  393         1915  
  412         2597  
  395         2227  
  397         32905  
  436         14017  
  433         2888  
  374         2016  
  421         2615  
  366         1794  
  447         2724  
  373         1912  
  293         2403  
  305         1589  
  480         2335  
  441         2054  
  378         1331  
  350         2200  
  348         2059  
  326         1795  
  324         2011  
  346         2249  
  308         2262  
  284         2224  
  291         1528  
  313         2893  
  357         1932  
  363         3616  
  406         2254  
  448         2106  
  410         1703  
  384         3407  
  329         1306  
  446         3353  
  314         1135  
  368         3630  
  325         1310  
  311         3195  
  257         1829  
  261         1074  
  310         4064  
  226         1074  
  295         5785  
  212         973  
  269         8506  
8             1;
9             #>>>
10              
11             __END__