File Coverage

blib/lib/OptArgs2/Arg_CI.pm
Criterion Covered Total %
statement 51 58 87.9
branch 11 22 50.0
condition 4 9 44.4
subroutine 12 13 92.3
pod 0 4 0.0
total 78 106 73.5


line stmt bran cond sub pod time code
1             # Generated by Class::Inline version 0.0.1
2             # Date: Mon Oct 3 17:29:06 2022
3 3     3   15 use strict;
  3         6  
  3         73  
4 3     3   12 use warnings;
  3         4  
  3         114  
5              
6              
7 3 50 33 3 0 13 package OptArgs2::Arg;BEGIN {require OptArgs2::OptArgBase;our@ISA=('OptArgs2::OptArgBase')};require Scalar::Util;our$_HAS;sub OptArgs2::Arg_CI::import {shift;$_HAS={@_ > 1 ? @_ : %{$_[0]}};$_HAS=$_HAS->{'has'}if exists$_HAS->{'has'}}our%_ATTRS;my%_BUILD_CHECK;sub new {my$class=shift;my$self={@_ ? @_ > 1 ? @_ : %{$_[0]}: ()};%_ATTRS=map {($_=>1)}keys %$self;bless$self,ref$class || $class;$_BUILD_CHECK{$class}//= do {my@possible=($class);my@BUILD;my@CHECK;while (@possible){no strict 'refs';my$c=shift@possible;push@BUILD,$c .'::BUILD' if exists &{$c .'::BUILD'};push@CHECK,$c .'::__CHECK' if exists &{$c .'::__CHECK'};push@possible,@{$c .'::ISA'}}[reverse(@CHECK),reverse(@BUILD)]};map {$self->$_}@{$_BUILD_CHECK{$class}};Carp::carp("OptArgs2::Arg attribute '$_' unexpected")for keys%_ATTRS;$self}sub __RO {my (undef,undef,undef,$sub)=caller(1);Carp::croak("attribute $sub is read-only")}sub __CHECK {no strict 'refs';my$_attrs=*{ref($_[0]).'::_ATTRS'};map {delete$_attrs->{$_}}keys %$_HAS;Scalar::Util::weaken($_[0]{'cmd'})if exists $_[0]{'cmd'}&& defined $_[0]{'cmd'}}sub cmd {if (@_ > 1){$_[0]{'cmd'}=$_[1];Scalar::Util::weaken($_[0]{'cmd'})if defined $_[0]{'cmd'};return $_[0]}$_[0]{'cmd'}}sub fallthru {$_[0]->__RO($_[1])if @_ > 1;$_[0]{'fallthru'}}sub greedy {$_[0]->__RO($_[1])if @_ > 1;$_[0]{'greedy'}}BEGIN {$INC{'OptArgs2/Arg.pm'}=__FILE__}
  3 0 33 3 0 544  
  3 50 66 3 0 26  
  3 50   3 0 11  
  3 50   6   596  
  3 50   0   18  
  3 50   4   6  
  3 50   3   746  
  3 50   8   79  
  6 100   3   10  
  6 50   6   27  
  6         16  
  18         26  
  6         79  
  0         0  
  0         0  
  4         8  
  0         0  
  0         0  
  0         0  
  4         17  
  3         24  
  3         45  
  8         19  
  8         32  
  3         15  
  3         13  
  0         0  
  3         666  
  6         14  
  6         35  
  0         0  
  6         21  
  35         53  
  6         29  
  6         18  
  3         8  
  3         17  
  3         12  
  6         10  
  6         13  
  6         29  
  6         10  
  6         29  
  6         10  
  6         28  
  3         21  
  6         9  
  18         55  
  6         12  
  6         20  
  6         10  
8             1;