refactor constructor inlining to reuse attribute code
[gitmo/Moose.git] / lib / Moose / Meta / Method / Accessor / Native / Array / accessor.pm
index 393fc1f..5fe6fe4 100644 (file)
@@ -33,14 +33,13 @@ sub _generate_method {
     my $self = shift;
 
     my $inv         = '$self';
-    my $slot_access = $self->_inline_get($inv);
+    my $slot_access = $self->_get_value($inv);
 
     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_constraint_obj'),
             # get
             'if (@_ == 1) {',
                 $self->_inline_check_var_is_valid_index('$_[0]'),
@@ -48,15 +47,14 @@ sub _generate_method {
             '}',
             # set
             'else {',
-                $self->_writer_core($inv, $slot_access),
-                $self->_inline_post_body(@_),
+                $self->_inline_writer_core($inv, $slot_access),
             '}',
         '}',
     );
 }
 
-sub _minimum_arguments {1}
-sub _maximum_arguments {2}
+sub _minimum_arguments { 1 }
+sub _maximum_arguments { 2 }
 
 no Moose::Role;