use Scalar::Util qw( looks_like_number );
-our $VERSION = '1.14';
+our $VERSION = '1.16';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
_inline_process_arguments
_inline_check_arguments
_inline_optimized_set_new_value
+ _return_value
)
],
};
sub _potential_value {
my ( $self, $slot_access ) = @_;
- return "{ %{ $slot_access }, \@_ }";
+ return "{ %{ ($slot_access) }, \@_ }";
}
sub _new_members { '@_[ @values_idx ]' }
sub _inline_optimized_set_new_value {
my ( $self, $inv, $new, $slot_access ) = @_;
- return "\@{ $slot_access }{ \@_[ \@keys_idx] } = \@_[ \@values_idx ]";
+ return "\@{ ($slot_access) }{ \@_[ \@keys_idx] } = \@_[ \@values_idx ]";
+}
+
+sub _return_value {
+ my ( $self, $slot_access ) = @_;
+
+ return "return wantarray ? \@{ ($slot_access) }{ \@_[ \@keys_idx ] } : ${slot_access}->{ \$_[ \$keys_idx[0] ] };";
}
no Moose::Role;