1 package Mouse::Meta::Method::Destructor;
2 use Mouse::Util; # 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) {
16 if (*{$class . '::DEMOLISH'}{CODE}) {
17 $demolishall .= "${class}::DEMOLISH(\$self);\n";
21 my $source = sprintf("#line %d %s\n", __LINE__, __FILE__) . <<"...";