[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
0xampp
/
perl
/
vendor
/
lib
/
Moose
/
Meta
/
Method
/
Accessor
/
Native
/
Array
/
[
Home
]
File: first_index.pm
package Moose::Meta::Method::Accessor::Native::Array::first_index; our $VERSION = '2.2014'; use strict; use warnings; use Params::Util (); use Moose::Role; with 'Moose::Meta::Method::Accessor::Native::Reader'; sub _minimum_arguments { 1 } sub _maximum_arguments { 1 } sub _inline_check_arguments { my $self = shift; return ( 'if (!Params::Util::_CODELIKE($_[0])) {', $self->_inline_throw_exception( InvalidArgumentToMethod => 'argument => $_[0],'. 'method_name => "first_index",'. 'type_of_argument => "code reference",'. 'type => "CodeRef",', ) . ';', '}', ); } sub _inline_return_value { my $self = shift; my ($slot_access) = @_; return join '', 'my @values = @{ (' . $slot_access . ') };', 'my $f = $_[0];', 'foreach my $i ( 0 .. $#values ) {', 'local *_ = \\$values[$i];', 'return $i if $f->();', '}', 'return -1;'; } # Not called, but needed to satisfy the Reader role sub _return_value { } no Moose::Role; 1;