Got inlining for hashes working.
[gitmo/Moose.git] / lib / Moose / Meta / Method / Accessor / Native / Array / accessor.pm
index a35b729..2759cf8 100644 (file)
@@ -8,8 +8,8 @@ $VERSION = eval $VERSION;
 our $AUTHORITY = 'cpan:STEVAN';
 
 use base qw(
-    Moose::Meta::Method::Accessor::Native::Array::get
     Moose::Meta::Method::Accessor::Native::Array::set
+    Moose::Meta::Method::Accessor::Native::Array::get
 );
 
 sub _generate_method {
@@ -33,7 +33,13 @@ sub _generate_method {
 
     $code .= "\n" . $self->_inline_check_var_is_valid_index('$_[0]');
 
-    $code .= "\n" . 'return ' . $self->_return_value($slot_access) . ';';
+    $code
+        .= "\n"
+        . 'return '
+        . $self
+        ->Moose::Meta::Method::Accessor::Native::Array::get::_return_value(
+        $slot_access)
+        . ';';
 
     # set
     $code .= "\n" . '} else {';
@@ -45,12 +51,10 @@ sub _generate_method {
         . $self
         ->Moose::Meta::Method::Accessor::Native::Array::set::_inline_check_arguments;
 
-    my $new_values      = $self->_new_values($slot_access);
     my $potential_value = $self->_potential_value($slot_access);
 
     $code .= "\n"
         . $self->_inline_tc_code(
-        $new_values,
         $potential_value,
         $slot_access,
         );
@@ -83,22 +87,6 @@ sub _potential_value {
         "( do { my \@potential = \@{ $slot_access }; \$potential[ \$_[0] ] = \$_[1]; \@potential } )";
 }
 
-sub _new_values {'$_[1]'}
-
-sub _eval_environment {
-    my $self = shift;
-
-    my $env = $self->SUPER::_eval_environment;
-
-    return $env
-        unless $self->_constraint_must_be_checked
-            and $self->_check_new_members_only;
-
-    $env->{'$member_tc'}
-        = \( $self->associated_attribute->type_constraint->type_parameter
-            ->_compiled_type_constraint );
-
-    return $env;
-}
+sub _new_members {'$_[1]'}
 
 1;