X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FClass%2FC3.pm;h=2c1d3364b4159cd92bc2c96ab530eca3da0373bc;hb=0c2e9b71331a73062e87c57fbe80a1e3614f545e;hp=c5697d2badead297b2c9f66e72169b06cd0e20c7;hpb=562154278e335251dad66935310f12cc5a006508;p=gitmo%2FClass-C3.git diff --git a/lib/Class/C3.pm b/lib/Class/C3.pm index c5697d2..2c1d336 100644 --- a/lib/Class/C3.pm +++ b/lib/Class/C3.pm @@ -4,7 +4,7 @@ package Class::C3; use strict; use warnings; -our $VERSION = '0.15_06'; +our $VERSION = '0.19'; our $C3_IN_CORE; our $C3_XS; @@ -12,6 +12,7 @@ our $C3_XS; BEGIN { if($] > 5.009_004) { $C3_IN_CORE = 1; + require mro; } else { eval "require Class::C3::XS"; @@ -194,7 +195,7 @@ sub calculateMRO { # Method overrides to support 5.9.5+ or Class::C3::XS -sub _core_calculateMRO { @{mro::get_linear_isa($_[0])} } +sub _core_calculateMRO { @{mro::get_linear_isa($_[0], 'c3')} } if($C3_IN_CORE) { no warnings 'redefine'; @@ -257,17 +258,6 @@ Class::C3 - A pragma to use the C3 method resolution order algortihm D->can('hello')->(); # can() also works correctly UNIVERSAL::can('D', 'hello'); # as does UNIVERSAL::can() -=head1 SPECIAL NOTE FOR 0.15_06 - -To try this with the new perl core c3 support, -download the most recent copy perl-current: - -http://mirrors.develooper.com/perl/APC/perl-current-snap/ - -sh Configure -Dusedevel -Dprefix=/where/I/want/it -d -e && make && make test && make install - -then try your C3-using software against this perl + Class::C3 0.15_06. - =head1 DESCRIPTION This is pragma to change Perl 5's standard method resolution order from depth-first left-to-right @@ -498,16 +488,7 @@ This module will load L if it's installed and you are running on =head1 CODE COVERAGE -I use B to test the code coverage of my tests, below is the B report on this -module's test suite. - - ---------------------------- ------ ------ ------ ------ ------ ------ ------ - File stmt bran cond sub pod time total - ---------------------------- ------ ------ ------ ------ ------ ------ ------ - Class/C3.pm 98.3 84.4 80.0 96.2 100.0 98.4 94.4 - ---------------------------- ------ ------ ------ ------ ------ ------ ------ - Total 98.3 84.4 80.0 96.2 100.0 98.4 94.4 - ---------------------------- ------ ------ ------ ------ ------ ------ ------ +L was reporting 94.4% overall test coverage earlier in this module's life. Currently, the test suite does things that break under coverage testing, but it is fair to assume the coverage is still close to that value. =head1 SEE ALSO