diff options
author | Nicholas Clark <nick@ccl4.org> | 2010-09-21 15:11:17 +0100 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2010-09-21 15:11:17 +0100 |
commit | fb34c6aba9445af559a9ff53b28b5e1e10afa23d (patch) | |
tree | 86513c268d8946e65583a41578c89be2c74e0693 /cpan/ExtUtils-Constant | |
parent | ad39d6d2ab3fa902fe6e879c0ec6efa61f93ae55 (diff) | |
download | perl-fb34c6aba9445af559a9ff53b28b5e1e10afa23d.tar.gz |
ExtUtils::Constant::ProxySubs should use mro_method_changed_in() if available.
Diffstat (limited to 'cpan/ExtUtils-Constant')
-rw-r--r-- | cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm index e0d5c7b1f2..0005f13430 100644 --- a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm +++ b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm @@ -503,12 +503,21 @@ EOBOOT print $xs_fh $self->macro_to_endif($macro); } - print $xs_fh <<EOBOOT; + if ($] >= 5.009) { + print $xs_fh <<EOBOOT; + /* As we've been creating subroutines, we better invalidate any cached + methods */ + mro_method_changed_in(symbol_table); + } +EOBOOT + } else { + print $xs_fh <<EOBOOT; /* As we've been creating subroutines, we better invalidate any cached methods */ ++PL_sub_generation; } EOBOOT + } print $xs_fh $explosives ? <<"EXPLODE" : <<"DONT"; |