X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FMethod%2FDestructor.pm;h=fa0d0253c479b587ac2b61e840a0a61cbcbc951c;hp=623e7d7a7687dc447c0735f7710e1ddacdf5c026;hb=7ca5c5fb6e084d9c57bc022b336458afc74c6847;hpb=bbf64e76e08d76a06b35685f878fda243abc87c2 diff --git a/lib/Mouse/Meta/Method/Destructor.pm b/lib/Mouse/Meta/Method/Destructor.pm index 623e7d7..fa0d025 100644 --- a/lib/Mouse/Meta/Method/Destructor.pm +++ b/lib/Mouse/Meta/Method/Destructor.pm @@ -8,15 +8,15 @@ sub generate_destructor_method_inline { my $demolishall = do { if ($meta->name->can('DEMOLISH')) { my @code = (); - no strict 'refs'; - for my $klass ($meta->linearized_isa) { - if (*{$klass . '::DEMOLISH'}{CODE}) { - push @code, "${klass}::DEMOLISH(\$self);"; + for my $class ($meta->linearized_isa) { + no strict 'refs'; + if (*{$class . '::DEMOLISH'}{CODE}) { + push @code, "${class}::DEMOLISH(\$self);"; } } join "\n", @code; } else { - ''; # no demolish =) + return sub { }; # no demolish =) } }; @@ -26,12 +26,11 @@ sub generate_destructor_method_inline { $demolishall; } ... - warn $code if $ENV{DEBUG}; local $@; my $res = eval $code; die $@ if $@; - $res; + return $res; } 1;