X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FMeta%2FMethod%2FAccessor%2FNative%2FHash%2Faccessor.pm;h=9ed17e5bfb83696555177cf07ae5da4a820fdf5d;hb=00bbc132f9e1cb2b1a44aa287887cafa27a84577;hp=d2a04dc9deb196e7d3f9132617ddda2347218bb5;hpb=1e2c801e852e22b0ab5af1efc34667710ba952de;p=gitmo%2FMoose.git diff --git a/lib/Moose/Meta/Method/Accessor/Native/Hash/accessor.pm b/lib/Moose/Meta/Method/Accessor/Native/Hash/accessor.pm index d2a04dc..9ed17e5 100644 --- a/lib/Moose/Meta/Method/Accessor/Native/Hash/accessor.pm +++ b/lib/Moose/Meta/Method/Accessor/Native/Hash/accessor.pm @@ -3,34 +3,30 @@ package Moose::Meta::Method::Accessor::Native::Hash::accessor; use strict; use warnings; -our $VERSION = '1.19'; -$VERSION = eval $VERSION; -our $AUTHORITY = 'cpan:STEVAN'; - use Moose::Role; -with 'Moose::Meta::Method::Accessor::Native::Hash::set' => { - -excludes => [ - qw( - _generate_method - _minimum_arguments - _maximum_arguments - _inline_check_arguments - _return_value - ) - ] - }, - 'Moose::Meta::Method::Accessor::Native::Hash::get' => { - -excludes => [ - qw( - _generate_method - _minimum_arguments - _maximum_arguments - _inline_check_argument_count - _inline_process_arguments - ) - ] - }; +with 'Moose::Meta::Method::Accessor::Native::Hash::set', + 'Moose::Meta::Method::Accessor::Native::Hash::get'; + +sub _inline_process_arguments { + my $self = shift; + $self->Moose::Meta::Method::Accessor::Native::Hash::set::_inline_process_arguments(@_); +} + +sub _inline_check_argument_count { + my $self = shift; + $self->Moose::Meta::Method::Accessor::Native::Hash::set::_inline_check_argument_count(@_); +} + +sub _inline_check_arguments { + my $self = shift; + $self->Moose::Meta::Method::Accessor::Native::Hash::set::_inline_check_arguments(@_); +} + +sub _return_value { + my $self = shift; + $self->Moose::Meta::Method::Accessor::Native::Hash::set::_return_value(@_); +} sub _generate_method { my $self = shift; @@ -40,19 +36,17 @@ sub _generate_method { return ( 'sub {', - $self->_inline_pre_body(@_), 'my ' . $inv . ' = shift;', $self->_inline_curried_arguments, - $self->_inline_check_lazy($inv), + $self->_inline_check_lazy($inv, '$type_constraint', '$type_coercion', '$type_message'), # get 'if (@_ == 1) {', $self->_inline_check_var_is_valid_key('$_[0]'), - $self->Moose::Meta::Method::Accessor::Native::Hash::get::_inline_return_value($slot_access), + $slot_access . '->{$_[0]}', '}', # set 'else {', $self->_inline_writer_core($inv, $slot_access), - $self->_inline_post_body(@_), '}', '}', );