From: Jesse Luehrs Date: Wed, 15 Jun 2011 23:31:23 +0000 (-0500) Subject: fix hash accessor generation (with a bit of a hack/:) X-Git-Tag: 2.0008~8 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=e2c71bb9b83aa66b8e9af496fccff93c4e5ff470;p=gitmo%2FMoose.git fix hash accessor generation (with a bit of a hack/:) --- diff --git a/lib/Moose/Meta/Method/Accessor/Native/Hash/accessor.pm b/lib/Moose/Meta/Method/Accessor/Native/Hash/accessor.pm index 1b8eafd..f74f619 100644 --- a/lib/Moose/Meta/Method/Accessor/Native/Hash/accessor.pm +++ b/lib/Moose/Meta/Method/Accessor/Native/Hash/accessor.pm @@ -11,8 +11,6 @@ with 'Moose::Meta::Method::Accessor::Native::Hash::set' => { _generate_method _minimum_arguments _maximum_arguments - _inline_check_arguments - _return_value ) ] }, @@ -23,7 +21,9 @@ with 'Moose::Meta::Method::Accessor::Native::Hash::set' => { _minimum_arguments _maximum_arguments _inline_check_argument_count + _inline_check_arguments _inline_process_arguments + _return_value ) ] }; @@ -41,6 +41,12 @@ sub _generate_method { $self->_inline_check_lazy($inv, '$type_constraint', '$type_constraint_obj'), # get 'if (@_ == 1) {', + # XXX: ugh, this is a hack - we need _return_value from + # both ::set and ::get, but we can only have one, so we pick + # the one from ::set and munge it to work for the ::get case + # this should be fixed in a better way + # -doy + 'my @keys_idx = 0..$#_;', $self->_inline_check_var_is_valid_key('$_[0]'), $self->Moose::Meta::Method::Accessor::Native::Hash::get::_inline_return_value($slot_access), '}',