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   744 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   203  
  83 100 66 84   28934  
  84 100 66 84   12159  
  48 100 66 83   108  
  48 100   48   38522  
  84 100   48   11159  
  48 100   48   109  
  48 100   45   1121  
  84 100   45   10879  
  49 100   45   109  
  49 100   45   1900  
  83 100   45   26617  
  0 100   42   0  
  0 100   42   0  
  48 100   42   15134  
  0 100   41   0  
  0     41   0  
  48     41   14740  
  0     41   0  
  0     41   0  
  48     41   14865  
  0     40   0  
  0     40   0  
  45     40   15386  
  1     40   3  
  1     40   14  
  45     1475   13801  
  0         0  
  0         0  
  45         13910  
  0         0  
  0         0  
  45         13717  
  0         0  
  0         0  
  45         6029  
  39         95  
  39         437  
  42         13417  
  0         0  
  0         0  
  42         12877  
  0         0  
  0         0  
  42         12521  
  0         0  
  0         0  
  41         11365  
  3         7  
  3         33  
  41         1912  
  37         170  
  37         406  
  41         13599  
  0         0  
  0         0  
  41         12650  
  0         0  
  0         0  
  41         12489  
  1         7  
  1         11  
  41         11773  
  3         6  
  3         32  
  40         1517  
  36         72  
  36         443  
  40         13184  
  0         0  
  0         0  
  40         11891  
  0         0  
  0         0  
  40         11551  
  1         2  
  1         10  
  40         11091  
  3         6  
  3         34  
  1475         20152  
  682         12001  
  720         4989  
  626         5526  
  600         3571  
  504         4344  
  459         2560  
  551         18072  
  272         1938  
  303         2678  
  415         5371  
  343         2069  
  321         1942  
  460         2302  
  468         4208  
  440         3124  
  464         1959  
  449         2568  
  510         3808  
  392         2194  
  373         1986  
  417         2599  
  388         3338  
  235         2054  
  321         2202  
  370         2780  
  374         2200  
  411         1545  
  308         1474  
  304         1793  
  344         11981  
  359         1741  
  352         3416  
  456         3174  
  424         2681  
  483         3731  
  496         2232  
  451         3174  
  421         2630  
  340         2312  
  290         2686  
  345         1367  
  386         2254  
  346         1339  
  314         2079  
  336         1619  
  351         1902  
  380         2850  
  425         1525  
  361         2161  
  316         2220  
  329         30220  
  350         1503  
  447         2827  
  274         941  
  281         4534  
  242         1627  
  305         1555  
  263         2480  
  284         1154  
  315         3927  
  222         1054  
  306         4721  
  241         1172  
  334         7890  
8             1;
9             #>>>
10              
11             __END__