1 package Mouse::Meta::Method::Destructor;
7 sub _generate_destructor_method {
8 my ($class, $metaclass) = @_;
10 my $demolishall = do {
11 if ($metaclass->name->can('DEMOLISH')) {
13 for my $class ($metaclass->linearized_isa) {
15 if (*{$class . '::DEMOLISH'}{CODE}) {
16 push @code, "${class}::DEMOLISH(\$self);";
21 $metaclass->add_method(DESTROY => \&_empty_destroy);
26 my $destructor_name = $metaclass->name . '::DESTROY';
27 my $source = sprintf("#line %d %s\n", __LINE__, __FILE__) . <<"...";
28 sub $destructor_name \{