return $self->create(undef, @_);
}
-sub is_anon_role{
- return exists $_[0]->{anon_serial_id};
-}
+sub is_anon_role;
+
+sub get_roles;
-sub get_roles { $_[0]->{roles} }
+sub calculate_all_roles {
+ my $self = shift;
+ my %seen;
+ return grep { !$seen{ $_->name }++ }
+ ($self, map { $_->calculate_all_roles } @{ $self->get_roles });
+}
sub get_required_method_list{
return @{ $_[0]->{required_methods} };
my $instance;
- if($applicant->isa('Mouse::Meta::Class')){ # Application::ToClass
+ if(Mouse::Util::TypeConstraints::_is_a_metaclass($applicant)){ # Application::ToClass
$args{_to} = 'class';
}
- elsif($applicant->isa('Mouse::Meta::Role')){ # Application::ToRole
+ elsif(Mouse::Util::TypeConstraints::_is_a_metarole($applicant)){ # Application::ToRole
$args{_to} = 'role';
}
else{ # Appplication::ToInstance
Mouse::Meta::Role - The Mouse Role metaclass
+=head1 VERSION
+
+This document describes Mouse version 0.40_01
+
=head1 SEE ALSO
L<Moose::Meta::Role>