X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FClass%2FMOP.pm;h=0ef8e877c1265e074adf3c48fb2aa80e0fec809a;hb=7855ddba257d675899620452f97912ccf69efb77;hp=ed30abfea81e3a0e5f7af6cbb5400236d89e1ee5;hpb=56dcfc1a4c9bad679dab6dedf274d2e3b0c20eb5;p=gitmo%2FClass-MOP.git diff --git a/lib/Class/MOP.pm b/lib/Class/MOP.pm index ed30abf..0ef8e87 100644 --- a/lib/Class/MOP.pm +++ b/lib/Class/MOP.pm @@ -13,7 +13,7 @@ use Class::MOP::Method; use Class::MOP::Class::Immutable; -our $VERSION = '0.33'; +our $VERSION = '0.34'; our $AUTHORITY = 'cpan:STEVAN'; { @@ -98,6 +98,7 @@ Class::MOP::Package->meta->add_attribute( # NOTE: # protect this from silliness init_arg => '!............( DO NOT DO THIS )............!', + default => sub { \undef } )) ); @@ -134,6 +135,7 @@ Class::MOP::Module->meta->add_attribute( # NOTE: # protect this from silliness init_arg => '!............( DO NOT DO THIS )............!', + default => sub { \undef } )) ); @@ -154,6 +156,7 @@ Class::MOP::Module->meta->add_attribute( # NOTE: # protect this from silliness init_arg => '!............( DO NOT DO THIS )............!', + default => sub { \undef } )) ); @@ -174,6 +177,35 @@ Class::MOP::Class->meta->add_attribute( ); Class::MOP::Class->meta->add_attribute( + Class::MOP::Attribute->new('%:methods' => ( + #reader => 'get_method_map', + #reader => { + # # NOTE: + # # as with the $VERSION and $AUTHORITY above + # # sometimes we don't/can't store directly + # # inside the instance, so we need the accessor + # # to just DWIM + # 'get_method_map' => sub { + # my $self = shift; + # # FIXME: + # # there is a faster/better way + # # to do this, I am sure :) + # return +{ + # map { + # $_ => $self->method_metaclass->wrap($self->get_package_symbol('&' . $_)) + # } grep { + # $self->has_package_symbol('&' . $_) + # } $self->list_all_package_symbols + # }; + # } + #}, + #init_arg => '!............( DO NOT DO THIS )............!', + #default => sub { \undef } + default => sub { {} } + )) +); + +Class::MOP::Class->meta->add_attribute( Class::MOP::Attribute->new('$:attribute_metaclass' => ( reader => 'attribute_metaclass', init_arg => ':attribute_metaclass',