-#!/usr/bin/env perl
package Mouse::Meta::Role;
use strict;
use warnings;
no strict 'refs';
# Get all the CODE symbol table entries
- my @functions = grep !/^meta$/,
- grep { /\A[^\W\d]\w*\z/o }
+ my @functions =
+ grep !/^(?:has|with|around|before|after|blessed|extends|confess|excludes|meta|requires)$/,
grep { defined &{"${name}::$_"} }
keys %{"${name}::"};
wantarray ? @functions : \@functions;
{
no strict 'refs';
for my $name ($self->get_method_list) {
- next if $name eq 'has' || $name eq 'requires' || $name eq 'meta' || $name eq 'with' || $name eq 'around' || $name eq 'before' || $name eq 'after' || $name eq 'blessed' || $name eq 'extends' || $name eq 'confess' || $name eq 'excludes';
+ next if $name eq 'meta';
if ($classname->can($name)) {
# XXX what's Moose's behavior?
my $selfname = $self->name;
my %args = %{ $role_spec->[1] };
for my $name ($self->get_method_list) {
- next if $name eq 'has' || $name eq 'requires' || $name eq 'meta' || $name eq 'with' || $name eq 'around' || $name eq 'before' || $name eq 'after' || $name eq 'blessed' || $name eq 'extends' || $name eq 'confess' || $name eq 'excludes';
+ next if $name eq 'meta';
if ($classname->can($name)) {
# XXX what's Moose's behavior?