Fix an issue that breaks a backward compatibility.
[gitmo/Mouse.git] / lib / Mouse / Meta / Class.pm
index 97d5ee3..ca8676a 100644 (file)
@@ -4,13 +4,12 @@ use warnings;
 
 use Scalar::Util qw/blessed weaken/;
 
-use Mouse::Util qw/get_linear_isa not_supported/;
+use Mouse::Util qw/:meta get_linear_isa not_supported/;
 
 use Mouse::Meta::Method::Constructor;
 use Mouse::Meta::Method::Destructor;
 use Mouse::Meta::Module;
-
-use base qw(Mouse::Meta::Module);
+our @ISA = qw(Mouse::Meta::Module);
 
 sub method_metaclass(){ 'Mouse::Meta::Method' } # required for get_method()
 
@@ -67,7 +66,7 @@ sub find_method_by_name{
 
 sub get_all_methods {
     my($self) = @_;
-    return map{ $self->find_method_by_name($self) } $self->get_all_method_names;
+    return map{ $self->find_method_by_name($_) } $self->get_all_method_names;
 }
 
 sub get_all_method_names {
@@ -126,7 +125,7 @@ sub add_attribute {
     $self->{attributes}{$attr->name} = $attr;
     $attr->install_accessors();
 
-    if(!$attr->{associated_methods} && ($attr->{is} || '') ne 'bare'){
+    if(_MOUSE_VERBOSE && !$attr->{associated_methods} && ($attr->{is} || '') ne 'bare'){
         Carp::cluck(qq{Attribute (}.$attr->name.qq{) of class }.$self->name.qq{ has no associated methods (did you mean to provide an "is" argument?)});
     }
     return $attr;
@@ -251,7 +250,8 @@ sub clone_object {
 sub clone_instance {
     my ($class, $instance, %params) = @_;
 
-    Carp::cluck('clone_instance has been deprecated. Use clone_object instead');
+    Carp::cluck('clone_instance has been deprecated. Use clone_object instead')
+        if _MOUSE_VERBOSE;
     return $class->clone_object($instance, %params);
 }
 
@@ -441,41 +441,36 @@ Mouse::Meta::Class - The Mouse class metaclass
 
 =head1 METHODS
 
-=head2 initialize ClassName -> Mouse::Meta::Class
+=head2 C<< initialize(ClassName) -> Mouse::Meta::Class >>
 
 Finds or creates a Mouse::Meta::Class instance for the given ClassName. Only
 one instance should exist for a given class.
 
-=head2 name -> ClassName
+=head2 C<< name -> ClassName >>
 
 Returns the name of the owner class.
 
-=head2 superclasses -> [ClassName]
+=head2 C<< superclasses -> ClassNames >> C<< superclass(ClassNames) >>
 
 Gets (or sets) the list of superclasses of the owner class.
 
-=head2 add_attribute (name => spec | Mouse::Meta::Attribute)
+=head2 C<< add_attribute(name => spec | Mouse::Meta::Attribute) >>
 
 Begins keeping track of the existing L<Mouse::Meta::Attribute> for the owner
 class.
 
-=head2 get_all_attributes -> (Mouse::Meta::Attribute)
+=head2 C<< get_all_attributes -> (Mouse::Meta::Attribute) >>
 
 Returns the list of all L<Mouse::Meta::Attribute> instances associated with
 this class and its superclasses.
 
-=head2 get_attribute_map -> { name => Mouse::Meta::Attribute }
-
-Returns a mapping of attribute names to their corresponding
-L<Mouse::Meta::Attribute> objects.
-
-=head2 get_attribute_list -> { name => Mouse::Meta::Attribute }
+=head2 C<< get_attribute_list -> { name => Mouse::Meta::Attribute } >>
 
 This returns a list of attribute names which are defined in the local
 class. If you want a list of all applicable attributes for a class,
 use the C<get_all_attributes> method.
 
-=head2 has_attribute Name -> Bool
+=head2 C<< has_attribute(Name) -> Bool >>
 
 Returns whether we have a L<Mouse::Meta::Attribute> with the given name.
 
@@ -483,15 +478,15 @@ Returns whether we have a L<Mouse::Meta::Attribute> with the given name.
 
 Returns the L<Mouse::Meta::Attribute> with the given name.
 
-=head2 linearized_isa -> [ClassNames]
+=head2 C<< linearized_isa -> [ClassNames] >>
 
 Returns the list of classes in method dispatch order, with duplicates removed.
 
-=head2 new_object Parameters -> Instance
+=head2 C<< new_object(Parameters) -> Instance >>
 
-Create a new instance.
+Creates a new instance.
 
-=head2 clone_object Instance -> Instance
+=head2 C<< clone_object(Instance, Parameters) -> Instance >>
 
 Clones the given C<Instance> which must be an instance governed by this
 metaclass.