X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FClass.pm;h=93c78744008337e403f9d27379f868b19f24b28b;hp=85066c7b2f81b60cdda03ebc8c1763a60e622cbc;hb=deb9a0f32002cd07012c50884a227335b93f1449;hpb=df77fd72ab8342a9406153b271fa8358e1a5fcae diff --git a/lib/Mouse/Meta/Class.pm b/lib/Mouse/Meta/Class.pm index 85066c7..93c7874 100644 --- a/lib/Mouse/Meta/Class.pm +++ b/lib/Mouse/Meta/Class.pm @@ -11,7 +11,8 @@ use Mouse::Meta::Method::Destructor; use Mouse::Meta::Module; our @ISA = qw(Mouse::Meta::Module); -sub method_metaclass(){ 'Mouse::Meta::Method' } # required for get_method() +sub method_metaclass() { 'Mouse::Meta::Method' } +sub attribute_metaclass() { 'Mouse::Meta::Attribute' } sub _construct_meta { my($class, %args) = @_; @@ -114,7 +115,7 @@ sub add_attribute { $attr = $inherited_attr->clone_and_inherit_options($name, \%args); } else{ - my($attribute_class, @traits) = Mouse::Meta::Attribute->interpolate_class($name, \%args); + my($attribute_class, @traits) = $self->attribute_metaclass->interpolate_class($name, \%args); $args{traits} = \@traits if @traits; $attr = $attribute_class->new($name, %args);