push this stuff back into HasMethods and HasAttributes
[gitmo/Class-MOP.git] / lib / Class / MOP / Mixin / HasAttributes.pm
index 7b7daaf..b06db4a 100644 (file)
@@ -85,6 +85,18 @@ sub get_attribute_list {
     keys %{ $self->_attribute_map };
 }
 
+sub _restore_metaattributes_from {
+    my $self = shift;
+    my ($old_meta) = @_;
+
+    for my $attr (sort { $a->insertion_order <=> $b->insertion_order }
+                       map { $old_meta->get_attribute($_) }
+                           $old_meta->get_attribute_list) {
+        $attr->_make_compatible_with($self->attribute_metaclass);
+        $self->add_attribute($attr);
+    }
+}
+
 1;
 
 __END__