This commit is contained in:
24
CPAN/Moose/Meta/Method/Accessor/Native/Counter/Writer.pm
Normal file
24
CPAN/Moose/Meta/Method/Accessor/Native/Counter/Writer.pm
Normal file
@@ -0,0 +1,24 @@
|
||||
package Moose::Meta::Method::Accessor::Native::Counter::Writer;
|
||||
our $VERSION = '2.2207';
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Moose::Role;
|
||||
|
||||
with 'Moose::Meta::Method::Accessor::Native::Writer';
|
||||
|
||||
sub _constraint_must_be_checked {
|
||||
my $self = shift;
|
||||
|
||||
my $attr = $self->associated_attribute;
|
||||
|
||||
return $attr->has_type_constraint
|
||||
&& ($attr->type_constraint->name =~ /^(?:Num|Int)$/
|
||||
|| ($attr->should_coerce && $attr->type_constraint->has_coercion)
|
||||
);
|
||||
}
|
||||
|
||||
no Moose::Role;
|
||||
|
||||
1;
|
||||
30
CPAN/Moose/Meta/Method/Accessor/Native/Counter/dec.pm
Normal file
30
CPAN/Moose/Meta/Method/Accessor/Native/Counter/dec.pm
Normal file
@@ -0,0 +1,30 @@
|
||||
package Moose::Meta::Method::Accessor::Native::Counter::dec;
|
||||
our $VERSION = '2.2207';
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Moose::Role;
|
||||
|
||||
with 'Moose::Meta::Method::Accessor::Native::Writer';
|
||||
|
||||
sub _minimum_arguments { 0 }
|
||||
sub _maximum_arguments { 1 }
|
||||
|
||||
sub _potential_value {
|
||||
my $self = shift;
|
||||
my ($slot_access) = @_;
|
||||
|
||||
return $slot_access . ' - (defined $_[0] ? $_[0] : 1)';
|
||||
}
|
||||
|
||||
sub _inline_optimized_set_new_value {
|
||||
my $self = shift;
|
||||
my ($inv, $new, $slot_access) = @_;
|
||||
|
||||
return $slot_access . ' -= defined $_[0] ? $_[0] : 1;';
|
||||
}
|
||||
|
||||
no Moose::Role;
|
||||
|
||||
1;
|
||||
30
CPAN/Moose/Meta/Method/Accessor/Native/Counter/inc.pm
Normal file
30
CPAN/Moose/Meta/Method/Accessor/Native/Counter/inc.pm
Normal file
@@ -0,0 +1,30 @@
|
||||
package Moose::Meta::Method::Accessor::Native::Counter::inc;
|
||||
our $VERSION = '2.2207';
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Moose::Role;
|
||||
|
||||
with 'Moose::Meta::Method::Accessor::Native::Writer';
|
||||
|
||||
sub _minimum_arguments { 0 }
|
||||
sub _maximum_arguments { 1 }
|
||||
|
||||
sub _potential_value {
|
||||
my $self = shift;
|
||||
my ($slot_access) = @_;
|
||||
|
||||
return $slot_access . ' + (defined $_[0] ? $_[0] : 1)';
|
||||
}
|
||||
|
||||
sub _inline_optimized_set_new_value {
|
||||
my $self = shift;
|
||||
my ($inv, $new, $slot_access) = @_;
|
||||
|
||||
return $slot_access . ' += defined $_[0] ? $_[0] : 1;';
|
||||
}
|
||||
|
||||
no Moose::Role;
|
||||
|
||||
1;
|
||||
36
CPAN/Moose/Meta/Method/Accessor/Native/Counter/reset.pm
Normal file
36
CPAN/Moose/Meta/Method/Accessor/Native/Counter/reset.pm
Normal file
@@ -0,0 +1,36 @@
|
||||
package Moose::Meta::Method::Accessor::Native::Counter::reset;
|
||||
our $VERSION = '2.2207';
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Moose::Role;
|
||||
|
||||
with 'Moose::Meta::Method::Accessor::Native::Writer';
|
||||
|
||||
sub _maximum_arguments { 0 }
|
||||
|
||||
sub _potential_value {
|
||||
my $self = shift;
|
||||
my ($slot_access) = @_;
|
||||
|
||||
my $attr = $self->associated_attribute;
|
||||
|
||||
return '(do { '
|
||||
. join(' ', $attr->_inline_generate_default(
|
||||
'$self', '$default_for_reset'
|
||||
)) . ' '
|
||||
. '$default_for_reset; '
|
||||
. '})';
|
||||
}
|
||||
|
||||
sub _inline_optimized_set_new_value {
|
||||
my $self = shift;
|
||||
my ($inv, $new, $slot_access) = @_;
|
||||
|
||||
return $slot_access . ' = ' . $self->_potential_value . ';';
|
||||
}
|
||||
|
||||
no Moose::Role;
|
||||
|
||||
1;
|
||||
25
CPAN/Moose/Meta/Method/Accessor/Native/Counter/set.pm
Normal file
25
CPAN/Moose/Meta/Method/Accessor/Native/Counter/set.pm
Normal file
@@ -0,0 +1,25 @@
|
||||
package Moose::Meta::Method::Accessor::Native::Counter::set;
|
||||
our $VERSION = '2.2207';
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Moose::Role;
|
||||
|
||||
with 'Moose::Meta::Method::Accessor::Native::Writer';
|
||||
|
||||
sub _minimum_arguments { 1 }
|
||||
sub _maximum_arguments { 1 }
|
||||
|
||||
sub _potential_value { '$_[0]' }
|
||||
|
||||
sub _inline_optimized_set_new_value {
|
||||
my $self = shift;
|
||||
my ($inv, $new, $slot_access) = @_;
|
||||
|
||||
return $slot_access . ' = $_[0];';
|
||||
}
|
||||
|
||||
no Moose::Role;
|
||||
|
||||
1;
|
||||
Reference in New Issue
Block a user