File Coverage

/tmp/5VTvLY2X7v.mite.pm
Criterion Covered Total %
statement 70 232 30.1
branch 0 108 0.0
condition 0 81 0.0
subroutine 22 51 43.1
pod n/a
total 92 472 19.4


line stmt bran cond sub pod time code
1             {
2             use strict;
3 2     2   22 use warnings;
  2         4  
  2         50  
4 2     2   16 no warnings qw( once void );
  2         2  
  2         46  
5 2     2   10  
  2         2  
  2         270  
6             our $USES_MITE = "Mite::Class";
7             our $MITE_SHIM = "Mite::Shim";
8             our $MITE_VERSION = "0.010008";
9             # Mite keywords
10             BEGIN {
11             my ( $SHIM, $CALLER ) = ( "Mite::Shim", "MyTest1" );
12 2     2   14 ( *after, *around, *before, *extends, *has, *signature_for, *with ) = do {
13 2         12 no warnings 'redefine';
14             (
15 2     2   10 sub { $SHIM->HANDLE_after( $CALLER, "class", @_ ) },
  2         14  
  2         398  
16             sub { $SHIM->HANDLE_around( $CALLER, "class", @_ ) },
17 0     0   0 sub { $SHIM->HANDLE_before( $CALLER, "class", @_ ) },
18 0     0   0 sub {},
19 0     0   0 sub { $SHIM->HANDLE_has( $CALLER, has => @_ ) },
20       0     sub { $SHIM->HANDLE_signature_for( $CALLER, "class", @_ ) },
21 0     0   0 sub { $SHIM->HANDLE_with( $CALLER, @_ ) },
22 0     0   0 );
23 0     0   0 };
24 2         224  
25             # Mite imports
26             BEGIN {
27             *bare = \&Mite::Shim::bare;
28             *false = \&Mite::Shim::false;
29             *lazy = \&Mite::Shim::lazy;
30 2     2   8 *ro = \&Mite::Shim::ro;
31 2         28 *rw = \&Mite::Shim::rw;
32 2         6 *rwp = \&Mite::Shim::rwp;
33 2         14 *true = \&Mite::Shim::true;
34 2         2 };
35 2         12  
36 2         76 # Gather metadata for constructor and destructor
37             no strict 'refs';
38             my $class = shift; $class = ref($class) || $class;
39             my $linear_isa = mro::get_linear_isa( $class );
40             return {
41 2     2   10 BUILD => [
  2         2  
  2         1120  
42 0   0 0     map { ( *{$_}{CODE} ) ? ( *{$_}{CODE} ) : () }
  0            
43 0           map { "$_\::BUILD" } reverse @$linear_isa
44             ],
45             DEMOLISH => [
46 0 0         map { ( *{$_}{CODE} ) ? ( *{$_}{CODE} ) : () }
  0            
  0            
47 0           map { "$_\::DEMOLISH" } @$linear_isa
48             ],
49             HAS_BUILDARGS => $class->can('BUILDARGS'),
50 0 0         HAS_FOREIGNBUILDARGS => $class->can('FOREIGNBUILDARGS'),
  0            
  0            
51 0           };
  0            
52             }
53              
54              
55             # Standard Moose/Moo-style constructor
56             my $class = ref($_[0]) ? ref(shift) : shift;
57             my $meta = ( $Mite::META{$class} ||= $class->__META__ );
58             my $self = bless {}, $class;
59             my $args = $meta->{HAS_BUILDARGS} ? $class->BUILDARGS( @_ ) : { ( @_ == 1 ) ? %{$_[0]} : @_ };
60             my $no_build = delete $args->{__no_BUILD__};
61 0 0   0      
62 0   0        
63 0            
64 0 0         # Call BUILD methods
  0 0          
65 0           $self->BUILDALL( $args ) if ( ! $no_build and @{ $meta->{BUILD} || [] } );
66              
67             # Unrecognized parameters
68              
69             return $self;
70 0 0 0       }
  0 0          
71              
72             # Used by constructor to call BUILD methods
73 0 0         my $class = ref( $_[0] );
  0 0          
  0 0          
  0            
  0            
74             my $meta = ( $Mite::META{$class} ||= $class->__META__ );
75 0           $_->( @_ ) for @{ $meta->{BUILD} || [] };
76             }
77              
78             # Destructor should call DEMOLISH methods
79             my $self = shift;
80 0     0     my $class = ref( $self ) || $self;
81 0   0       my $meta = ( $Mite::META{$class} ||= $class->__META__ );
82 0 0         my $in_global_destruction = defined ${^GLOBAL_PHASE}
  0            
83             ? ${^GLOBAL_PHASE} eq 'DESTRUCT'
84             : Devel::GlobalDestruction::in_global_destruction();
85             for my $demolisher ( @{ $meta->{DEMOLISH} || [] } ) {
86             my $e = do {
87 0     0     local ( $?, $@ );
88 0   0       eval { $demolisher->( $self, $in_global_destruction ) };
89 0   0       $@;
90 0 0         };
91             no warnings 'misc'; # avoid (in cleanup) warnings
92             die $e if $e; # rethrow
93 0 0         }
  0            
94 0           return;
95 0           }
96 0            
  0            
97 0            
98             # See UNIVERSAL
99 2     2   18 my ( $self, $role ) = @_;
  2         2  
  2         436  
100 0 0         our %DOES;
101             return $DOES{$role} if exists $DOES{$role};
102 0           return 1 if $role eq __PACKAGE__;
103             if ( $INC{'Moose/Util.pm'} and my $meta = Moose::Util::find_meta( ref $self or $self ) ) {
104             $meta->can( 'does_role' ) and $meta->does_role( $role ) and return 1;
105             }
106             return $self->SUPER::DOES( $role );
107             }
108 0     0      
109 0           # Alias for Moose/Moo-compatibility
110 0 0         shift->DOES( @_ );
111 0 0         }
112 0 0 0        
      0        
113 0 0 0       1;
114             use strict;
115 0           use warnings;
116             no warnings qw( once void );
117              
118             our $USES_MITE = "Mite::Class";
119             our $MITE_SHIM = "Mite::Shim";
120 0     0     our $MITE_VERSION = "0.010008";
121             # Mite keywords
122             BEGIN {
123             my ( $SHIM, $CALLER ) = ( "Mite::Shim", "MyTest2" );
124             ( *extends, *signature_for, *with ) = do {
125             no warnings 'redefine';
126 2     2   12 (
  2         2  
  2         50  
127 2     2   8 sub {},
  2         16  
  2         70  
128 2     2   10 sub { $SHIM->HANDLE_signature_for( $CALLER, "class", @_ ) },
  2         14  
  2         172  
129             sub { $SHIM->HANDLE_with( $CALLER, @_ ) },
130             );
131             };
132              
133             # Gather metadata for constructor and destructor
134             no strict 'refs';
135 2     2   8 my $class = shift; $class = ref($class) || $class;
136 2         4 my $linear_isa = mro::get_linear_isa( $class );
137             return {
138 2     2   10 BUILD => [
  2         2  
  2         216  
139             map { ( *{$_}{CODE} ) ? ( *{$_}{CODE} ) : () }
140       0     map { "$_\::BUILD" } reverse @$linear_isa
141 0     0   0 ],
142 0     0   0 DEMOLISH => [
143 2         102 map { ( *{$_}{CODE} ) ? ( *{$_}{CODE} ) : () }
144             map { "$_\::DEMOLISH" } @$linear_isa
145             ],
146             HAS_BUILDARGS => $class->can('BUILDARGS'),
147             HAS_FOREIGNBUILDARGS => $class->can('FOREIGNBUILDARGS'),
148             };
149 2     2   12 }
  2         2  
  2         972  
150 0   0 0      
  0            
151 0            
152             # Standard Moose/Moo-style constructor
153             my $class = ref($_[0]) ? ref(shift) : shift;
154 0 0         my $meta = ( $Mite::META{$class} ||= $class->__META__ );
  0            
  0            
155 0           my $self = bless {}, $class;
156             my $args = $meta->{HAS_BUILDARGS} ? $class->BUILDARGS( @_ ) : { ( @_ == 1 ) ? %{$_[0]} : @_ };
157             my $no_build = delete $args->{__no_BUILD__};
158 0 0          
  0            
  0            
159 0            
  0            
160              
161             # Call BUILD methods
162             $self->BUILDALL( $args ) if ( ! $no_build and @{ $meta->{BUILD} || [] } );
163              
164             # Unrecognized parameters
165              
166             return $self;
167             }
168              
169 0 0   0     # Used by constructor to call BUILD methods
170 0   0       my $class = ref( $_[0] );
171 0           my $meta = ( $Mite::META{$class} ||= $class->__META__ );
172 0 0         $_->( @_ ) for @{ $meta->{BUILD} || [] };
  0 0          
173 0           }
174              
175             # Destructor should call DEMOLISH methods
176             my $self = shift;
177             my $class = ref( $self ) || $self;
178 0 0 0       my $meta = ( $Mite::META{$class} ||= $class->__META__ );
  0 0          
179             my $in_global_destruction = defined ${^GLOBAL_PHASE}
180             ? ${^GLOBAL_PHASE} eq 'DESTRUCT'
181 0 0         : Devel::GlobalDestruction::in_global_destruction();
  0 0          
  0 0          
  0            
  0            
182             for my $demolisher ( @{ $meta->{DEMOLISH} || [] } ) {
183 0           my $e = do {
184             local ( $?, $@ );
185             eval { $demolisher->( $self, $in_global_destruction ) };
186             $@;
187             };
188 0     0     no warnings 'misc'; # avoid (in cleanup) warnings
189 0   0       die $e if $e; # rethrow
190 0 0         }
  0            
191             return;
192             }
193              
194              
195 0     0     # See UNIVERSAL
196 0   0       my ( $self, $role ) = @_;
197 0   0       our %DOES;
198 0 0         return $DOES{$role} if exists $DOES{$role};
199             return 1 if $role eq __PACKAGE__;
200             if ( $INC{'Moose/Util.pm'} and my $meta = Moose::Util::find_meta( ref $self or $self ) ) {
201 0 0         $meta->can( 'does_role' ) and $meta->does_role( $role ) and return 1;
  0            
202 0           }
203 0           return $self->SUPER::DOES( $role );
204 0           }
  0            
205 0            
206             # Alias for Moose/Moo-compatibility
207 2     2   12 shift->DOES( @_ );
  2         2  
  2         438  
208 0 0         }
209              
210 0           1;
211             use strict;
212             use warnings;
213             no warnings qw( once void );
214              
215             our $USES_MITE = "Mite::Class";
216 0     0     our $MITE_SHIM = "Mite::Shim";
217 0           our $MITE_VERSION = "0.010008";
218 0 0         # Mite keywords
219 0 0         BEGIN {
220 0 0 0       my ( $SHIM, $CALLER ) = ( "Mite::Shim", "MyTest3" );
      0        
221 0 0 0       ( *has ) = do {
222             no warnings 'redefine';
223 0           (
224             sub { $SHIM->HANDLE_has( $CALLER, has => @_ ) },
225             );
226             };
227              
228 0     0     # Gather metadata for constructor and destructor
229             no strict 'refs';
230             my $class = shift; $class = ref($class) || $class;
231             my $linear_isa = mro::get_linear_isa( $class );
232             return {
233             BUILD => [
234 2     2   12 map { ( *{$_}{CODE} ) ? ( *{$_}{CODE} ) : () }
  2         2  
  2         38  
235 2     2   6 map { "$_\::BUILD" } reverse @$linear_isa
  2         2  
  2         74  
236 2     2   12 ],
  2         2  
  2         146  
237             DEMOLISH => [
238             map { ( *{$_}{CODE} ) ? ( *{$_}{CODE} ) : () }
239             map { "$_\::DEMOLISH" } @$linear_isa
240             ],
241             HAS_BUILDARGS => $class->can('BUILDARGS'),
242             HAS_FOREIGNBUILDARGS => $class->can('FOREIGNBUILDARGS'),
243 2     2   8 };
244 2         8 }
245              
246 2     2   10  
  2         4  
  2         120  
247             # Standard Moose/Moo-style constructor
248 0     0   0 my $class = ref($_[0]) ? ref(shift) : shift;
249 2         44 my $meta = ( $Mite::META{$class} ||= $class->__META__ );
250             my $self = bless {}, $class;
251             my $args = $meta->{HAS_BUILDARGS} ? $class->BUILDARGS( @_ ) : { ( @_ == 1 ) ? %{$_[0]} : @_ };
252             my $no_build = delete $args->{__no_BUILD__};
253              
254              
255 2     2   10  
  2         4  
  2         1044  
256 0   0 0     # Call BUILD methods
  0            
257 0           $self->BUILDALL( $args ) if ( ! $no_build and @{ $meta->{BUILD} || [] } );
258              
259             # Unrecognized parameters
260 0 0          
  0            
  0            
261 0           return $self;
262             }
263              
264 0 0         # Used by constructor to call BUILD methods
  0            
  0            
265 0           my $class = ref( $_[0] );
  0            
266             my $meta = ( $Mite::META{$class} ||= $class->__META__ );
267             $_->( @_ ) for @{ $meta->{BUILD} || [] };
268             }
269              
270             # Destructor should call DEMOLISH methods
271             my $self = shift;
272             my $class = ref( $self ) || $self;
273             my $meta = ( $Mite::META{$class} ||= $class->__META__ );
274             my $in_global_destruction = defined ${^GLOBAL_PHASE}
275 0 0   0     ? ${^GLOBAL_PHASE} eq 'DESTRUCT'
276 0   0       : Devel::GlobalDestruction::in_global_destruction();
277 0           for my $demolisher ( @{ $meta->{DEMOLISH} || [] } ) {
278 0 0         my $e = do {
  0 0          
279 0           local ( $?, $@ );
280             eval { $demolisher->( $self, $in_global_destruction ) };
281             $@;
282             };
283             no warnings 'misc'; # avoid (in cleanup) warnings
284 0 0 0       die $e if $e; # rethrow
  0 0          
285             }
286             return;
287 0 0         }
  0 0          
  0 0          
  0            
  0            
288              
289 0            
290             # See UNIVERSAL
291             my ( $self, $role ) = @_;
292             our %DOES;
293             return $DOES{$role} if exists $DOES{$role};
294 0     0     return 1 if $role eq __PACKAGE__;
295 0   0       if ( $INC{'Moose/Util.pm'} and my $meta = Moose::Util::find_meta( ref $self or $self ) ) {
296 0 0         $meta->can( 'does_role' ) and $meta->does_role( $role ) and return 1;
  0            
297             }
298             return $self->SUPER::DOES( $role );
299             }
300              
301 0     0     # Alias for Moose/Moo-compatibility
302 0   0       shift->DOES( @_ );
303 0   0       }
304 0 0          
305             1;