X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FClass%2FMOP%2FClass.pm;h=a40c1c858514c84cd910816ba5b2e5a89768d893;hb=18ca857d2b99665a1243a6cf310d237bf697e7b9;hp=66489279fb8de026967684d1f410eedf92dfebf1;hpb=f035b141c7228eea7b709f06f20178782f0e29ee;p=gitmo%2FClass-MOP.git diff --git a/lib/Class/MOP/Class.pm b/lib/Class/MOP/Class.pm index 6648927..a40c1c8 100644 --- a/lib/Class/MOP/Class.pm +++ b/lib/Class/MOP/Class.pm @@ -604,7 +604,7 @@ sub _construct_instance { } # NOTE: # this will only work for a HASH instance type - if ($class->is_anon_class) { + if (Class::MOP::metaclass_is_weak($class->name)) { (reftype($instance) eq 'HASH') || confess "Currently only HASH based instances are supported with instance of anon-classes"; # NOTE: @@ -686,7 +686,7 @@ sub _force_rebless_instance { $old_metaclass->rebless_instance_away($instance, $self, %params) if $old_metaclass; - if ($old_metaclass->is_anon_class) { + if (Class::MOP::metaclass_is_weak($old_metaclass->name)) { delete $instance->{__MOP__}; } @@ -700,7 +700,7 @@ sub _force_rebless_instance { # NOTE: # this will only work for a HASH instance type - if ($self->is_anon_class) { + if (Class::MOP::metaclass_is_weak($self->name)) { (reftype($instance) eq 'HASH') || confess "Currently only HASH based instances are supported with instance of anon-classes"; # NOTE: