1 package Mouse::Meta::Method::Destructor;
2 use Mouse::Util qw(:meta); # enables strict and warnings
6 sub _generate_destructor{
7 my (undef, $metaclass) = @_;
9 if(!$metaclass->name->can('DEMOLISH')){
10 return \&_empty_DESTROY;
14 for my $class ($metaclass->linearized_isa) {
15 if (Mouse::Util::get_code_ref($class, 'DEMOLISH')) {
16 $demolishall .= sprintf "%s::DEMOLISH(\$self, \$Mouse::Util::in_global_destruction);\n",
21 my $source = sprintf("#line %d %s\n", __LINE__, __FILE__) . <<"...";
34 die \$e if \$e; # rethrow
53 Mouse::Meta::Method::Destructor - A Mouse method generator for destructors
57 This document describes Mouse version 0.50_02
61 L<Moose::Meta::Method::Destructor>