From: Dave Rolsky Date: Wed, 26 Aug 2009 17:28:46 +0000 (-0500) Subject: The methods attribute is now inherited from Package X-Git-Tag: 0.93~14 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=7217a0ef377bf2429741e8ccf4ea36351944c150;p=gitmo%2FClass-MOP.git The methods attribute is now inherited from Package --- diff --git a/lib/Class/MOP/Class.pm b/lib/Class/MOP/Class.pm index aae44a2..8ca7fda 100644 --- a/lib/Class/MOP/Class.pm +++ b/lib/Class/MOP/Class.pm @@ -120,6 +120,7 @@ sub _new { # should not actually have a value associated # with the slot. 'namespace' => \undef, + 'methods' => {}, # inherited from Class::MOP::Module 'version' => \undef, @@ -128,7 +129,6 @@ sub _new { # defined in Class::MOP::Class 'superclasses' => \undef, - 'methods' => {}, 'attributes' => {}, 'attribute_metaclass' => ( $options->{'attribute_metaclass'} || 'Class::MOP::Attribute' ), @@ -1515,11 +1515,10 @@ Making a class immutable lets us optimize the class by inlining some methods, and also allows us to optimize some methods on the metaclass object itself. -After immutabilization, the metaclass object will cache most -informational methods such as C and -C. Methods which would alter the class, such as -C, C, and so on will throw an error on an -immutable metaclass object. +After immutabilization, the metaclass object will cache most informational +methods that returns information about methods or attributes.. Methods which +would alter the class, such as C, C, and so on will +throw an error on an immutable metaclass object. The immutabilization system in L takes much greater advantage of the inlining features than Class::MOP itself does.