Changes to work with 0.78 meta-instance code, which no longer expects
Dave Rolsky [Fri, 20 Feb 2009 20:11:05 +0000 (20:11 +0000)]
a quoted attr name when inlning attr access.

Makefile.PL
lib/Moose.pm
lib/Moose/Meta/Method/Accessor.pm
lib/Moose/Meta/Method/Constructor.pm

index 5106e15..9c6ac7b 100644 (file)
@@ -12,7 +12,7 @@ license 'perl';
 
 requires 'Scalar::Util'     => '1.19';
 requires 'Carp';
-requires 'Class::MOP'       => '0.77';
+requires 'Class::MOP'       => '0.78';
 requires 'List::MoreUtils'  => '0.12';
 requires 'Sub::Exporter'    => '0.972';
 requires 'Task::Weaken'     => '0';
index 6514a6b..cdd3cca 100644 (file)
@@ -15,7 +15,7 @@ use Carp         'confess';
 
 use Moose::Exporter;
 
-use Class::MOP 0.77;
+use Class::MOP 0.78;
 
 use Moose::Meta::Class;
 use Moose::Meta::TypeConstraint;
index de6dbd7..9eba83b 100644 (file)
@@ -217,10 +217,9 @@ sub _inline_store {
     my $attr = $self->associated_attribute;
     
     my $mi = $attr->associated_class->get_meta_instance;
-    my $slot_name = sprintf "'%s'", $attr->slots;
     
-    my $code = $mi->inline_set_slot_value($instance, $slot_name, $value)    . ";";
-    $code   .= $mi->inline_weaken_slot_value($instance, $slot_name, $value) . ";"
+    my $code = $mi->inline_set_slot_value($instance, $attr->slots, $value)    . ";";
+    $code   .= $mi->inline_weaken_slot_value($instance, $attr->slots, $value) . ";"
         if $attr->is_weak_ref;
     return $code;
 }
@@ -237,9 +236,8 @@ sub _inline_get {
     my $attr = $self->associated_attribute;
     
     my $mi = $attr->associated_class->get_meta_instance;
-    my $slot_name = sprintf "'%s'", $attr->slots;
 
-    return $mi->inline_get_slot_value($instance, $slot_name);
+    return $mi->inline_get_slot_value($instance, $attr->slots);
 }
 
 sub _inline_access {
@@ -247,9 +245,8 @@ sub _inline_access {
     my $attr = $self->associated_attribute;
     
     my $mi = $attr->associated_class->get_meta_instance;
-    my $slot_name = sprintf "'%s'", $attr->slots;
 
-    return $mi->inline_slot_access($instance, $slot_name);
+    return $mi->inline_slot_access($instance, $attr->slots);
 }
 
 sub _inline_has {
@@ -257,9 +254,8 @@ sub _inline_has {
     my $attr = $self->associated_attribute;
     
     my $mi = $attr->associated_class->get_meta_instance;
-    my $slot_name = sprintf "'%s'", $attr->slots;
 
-    return $mi->inline_is_slot_initialized($instance, $slot_name);
+    return $mi->inline_is_slot_initialized($instance, $attr->slots);
 }
 
 sub _inline_auto_deref {
index 4679dc9..98e419b 100644 (file)
@@ -221,7 +221,7 @@ sub _generate_triggers {
                     .       '$instance, ' 
                     .        $self->meta_instance->inline_get_slot_value(
                                  '$instance',
-                                 ("'" . $attr->name . "'")
+                                 $attr->name,
                              ) 
                              . ', '
                     .        '$attrs->[' . $i . ']'
@@ -319,7 +319,7 @@ sub _generate_slot_assignment {
         $source = (
             $self->meta_instance->inline_set_slot_value(
                 '$instance',
-                ("'" . $attr->name . "'"),
+                $attr->name,
                 $value
             ) . ';'
         );        
@@ -332,7 +332,7 @@ sub _generate_slot_assignment {
             "\n" .
             $self->meta_instance->inline_weaken_slot_value(
                 '$instance',
-                ("'" . $attr->name . "'")
+                $attr->name
             ) .
             ' if ref ' . $value . ';'
         );