From: Stevan Little <stevan.little@iinteractive.com>
Date: Tue, 15 Apr 2008 22:09:36 +0000 (+0000)
Subject: reverting something I shouldnt have commited
X-Git-Tag: 0_64~74
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=da34f0548381c10dba4299089c07ffe64a0706e1;p=gitmo%2FClass-MOP.git

reverting something I shouldnt have commited
---

diff --git a/lib/Class/MOP/Attribute.pm b/lib/Class/MOP/Attribute.pm
index 18b0426..6042f5c 100644
--- a/lib/Class/MOP/Attribute.pm
+++ b/lib/Class/MOP/Attribute.pm
@@ -253,7 +253,7 @@ sub associate_method {
 sub set_initial_value {
     my ($self, $instance, $value) = @_;
     $self->_set_initial_slot_value(
-        $self->associated_class->get_meta_instance,
+        Class::MOP::Class->initialize(blessed($instance))->get_meta_instance,
         $instance,
         $value
     );
@@ -262,33 +262,33 @@ sub set_initial_value {
 sub set_value {
     my ($self, $instance, $value) = @_;
 
-    $self->associated_class
-         ->get_meta_instance
-         ->set_slot_value($instance, $self->name, $value);
+    Class::MOP::Class->initialize(blessed($instance))
+                     ->get_meta_instance
+                     ->set_slot_value($instance, $self->name, $value);
 }
 
 sub get_value {
     my ($self, $instance) = @_;
 
-    $self->associated_class
-         ->get_meta_instance
-         ->get_slot_value($instance, $self->name);
+    Class::MOP::Class->initialize(blessed($instance))
+                     ->get_meta_instance
+                     ->get_slot_value($instance, $self->name);
 }
 
 sub has_value {
     my ($self, $instance) = @_;
 
-    $self->associated_class
-         ->get_meta_instance
-         ->is_slot_initialized($instance, $self->name);
+    Class::MOP::Class->initialize(blessed($instance))
+                     ->get_meta_instance
+                     ->is_slot_initialized($instance, $self->name);
 }
 
 sub clear_value {
     my ($self, $instance) = @_;
 
-    $self->associated_class
-         ->get_meta_instance
-         ->deinitialize_slot($instance, $self->name);
+    Class::MOP::Class->initialize(blessed($instance))
+                     ->get_meta_instance
+                     ->deinitialize_slot($instance, $self->name);
 }
 
 ## load em up ...