* Class::MOP
- we now get the &check_package_cache_flag
function from MRO::Compat
+ - All XS based functionality is now optional
+ and a Pure Perl version is supplied
+ - the CLASS_MOP_NO_XS environment variable
+ can now be used to force non-XS versions
+ to always be used
* Class::MOP::Attribute
- add has_read_method and has_write_method
dying by wrapping add_package_symbol to specifically
allow for it to work.
- added tests for this
+
+ * Class::MOP::Attribute
+ Class::MOP::Class
+ Class::MOP::Immutable
+ - any time a method meta object is constructed
+ we make sure to pass the correct package and
+ method name information
+
+ * Class::MOP::Method
+ Class::MOP::Method::Wrapped
+ Class::MOP::Method::Generated
+ Class::MOP::Method::Accessor
+ Class::MOP::Method::Consructor
+ - all these classes are now bootstrapped properly
+ and now store the package_name and name attributes
+ correctly as well
0.55 Mon. April 28, 2008
- All classes now have proper C3 MRO support
# the XS as possible.
# - SL
no warnings 'prototype', 'redefine';
- # get this from MRO::Compat ...
- *check_package_cache_flag = \&MRO::Compat::__get_pkg_gen_pp;
+
+ unless (IS_RUNNING_ON_5_10()) {
+ # get this from MRO::Compat ...
+ *check_package_cache_flag = \&MRO::Compat::__get_pkg_gen_pp;
+ }
+ else {
+ # NOTE:
+ # but if we are running 5.10
+ # there is no need to use the
+ # Pure Perl version since we
+ # can use the built in mro
+ # version instead.
+ # - SL
+ *check_package_cache_flag = \&mro::get_pkg_gen;
+ }
# our own version of Sub::Name
*subname = $_PP_subname;
# and the Sub::Identify version of the get_code_info
# for naming our CVs, if not, we
# use the workaround instead.
if ( eval { require Sub::Name } ) {
- *subname = sub {
- #warn "Class::MOP::subname called with @_";
- Sub::Name::subname(@_);
- };
+ *subname = \&Sub::Name::subname;
}
else {
*subname = $_PP_subname;
use Carp 'confess';
use Scalar::Util 'blessed', 'weaken';
-our $VERSION = '0.02';
+our $VERSION = '0.03';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Method::Generated';
use Carp 'confess';
use Scalar::Util 'blessed', 'weaken', 'looks_like_number';
-our $VERSION = '0.04';
+our $VERSION = '0.05';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Method::Generated';
use Carp 'confess';
-our $VERSION = '0.01';
+our $VERSION = '0.02';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Method';
use Carp 'confess';
use Scalar::Util 'reftype', 'blessed';
-our $VERSION = '0.02';
+our $VERSION = '0.03';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Method';