use Class::MOP::Attribute;
use Class::MOP::Method;
-our $VERSION = '0.29_01';
+use Class::MOP::Class::Immutable;
+
+our $VERSION = '0.29_03';
## ----------------------------------------------------------------------------
## Setting up our environment ...
# any subclass of Class::MOP::* will be able to
# inherit them using &construct_instance
-## Class::MOP::Class
+## Class::MOP::Package
-Class::MOP::Class->meta->add_attribute(
+Class::MOP::Package->meta->add_attribute(
Class::MOP::Attribute->new('$:package' => (
reader => {
# NOTE: we need to do this in order
))
);
+## Class::MOP::Class
+
Class::MOP::Class->meta->add_attribute(
Class::MOP::Attribute->new('%:attributes' => (
reader => {
$self->meta->clone_object($self, @_);
});
+## Try and close Class::MOP::*
+
+Class::MOP::Package ->meta->make_immutable(inline_constructor => 0);
+Class::MOP::Module ->meta->make_immutable(inline_constructor => 0);
+Class::MOP::Class ->meta->make_immutable(inline_constructor => 0);
+Class::MOP::Attribute->meta->make_immutable(inline_constructor => 0);
+Class::MOP::Method ->meta->make_immutable(inline_constructor => 0);
+Class::MOP::Instance ->meta->make_immutable(inline_constructor => 0);
+
+
1;
__END__
---------------------------- ------ ------ ------ ------ ------ ------ ------
File stmt bran cond sub pod time total
---------------------------- ------ ------ ------ ------ ------ ------ ------
- Class/MOP.pm 100.0 100.0 100.0 100.0 n/a 24.3 100.0
- Class/MOP/Attribute.pm 100.0 100.0 91.7 63.6 100.0 9.2 88.8
- Class/MOP/Class.pm 98.1 91.8 77.3 96.8 100.0 58.3 93.3
- Class/MOP/Instance.pm 87.5 100.0 0.0 87.5 100.0 5.9 88.0
- Class/MOP/Method.pm 100.0 64.3 52.9 80.0 100.0 1.4 85.3
- metaclass.pm 100.0 100.0 83.3 100.0 n/a 0.9 97.7
+ Class/MOP.pm 100.0 100.0 100.0 100.0 n/a 19.8 100.0
+ Class/MOP/Attribute.pm 100.0 100.0 91.7 61.2 100.0 14.3 87.9
+ Class/MOP/Class.pm 97.6 91.3 77.3 98.4 100.0 56.4 93.2
+ Class/MOP/Instance.pm 91.1 75.0 33.3 91.7 100.0 6.8 90.7
+ Class/MOP/Method.pm 97.6 60.0 52.9 76.9 100.0 1.6 82.6
+ metaclass.pm 100.0 100.0 83.3 100.0 n/a 1.0 97.7
---------------------------- ------ ------ ------ ------ ------ ------ ------
- Total 97.8 90.1 74.8 82.9 100.0 100.0 91.5
+ Total 97.5 88.5 75.5 82.8 100.0 100.0 91.2
---------------------------- ------ ------ ------ ------ ------ ------ ------
=head1 ACKNOWLEDGEMENTS