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=1b8eafd6a1ac1a9e126179080d21bb0274fcf5be;hpb=d5f6cadef8d83deaf7dd95302908cd4f61aeab8a;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 1b8eafd..9ed17e5 100644 --- a/lib/Moose/Meta/Method/Accessor/Native/Hash/accessor.pm +++ b/lib/Moose/Meta/Method/Accessor/Native/Hash/accessor.pm @@ -5,28 +5,28 @@ use warnings; 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; @@ -38,11 +38,11 @@ sub _generate_method { 'sub {', 'my ' . $inv . ' = shift;', $self->_inline_curried_arguments, - $self->_inline_check_lazy($inv, '$type_constraint', '$type_constraint_obj'), + $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 {',