$source .= ";\n" . '}';
warn $source if $self->options->{debug};
- my $code;
- {
- $code = eval $source;
- $self->throw_error("Could not eval the destructor :\n\n$source\n\nbecause :\n\n$@", error => $@, data => $source) if $@;
- }
+ my $code = $self->_compile_code(
+ environment => {},
+ code => $source,
+ ) or $self->throw_error("Could not eval the destructor :\n\n$source\n\nbecause :\n\n$@", error => $@, data => $source);
+
$self->{'body'} = $code;
}