no strict 'refs';
# Get all the CODE symbol table entries
my @functions =
- grep !/^(?:has|with|around|before|after|blessed|extends|confess|excludes|meta|requires)$/,
+ grep !/^(?:has|with|around|before|after|augment|inner|override|super|blessed|extends|confess|excludes|meta|requires)$/,
grep { defined &{"${name}::$_"} }
keys %{"${name}::"};
wantarray ? @functions : \@functions;
}
+# Moose uses Application::ToInstance, Application::ToClass, Application::ToRole
sub apply {
my $self = shift;
my $selfname = $self->name;
my $classname = $class->name;
my %args = @_;
+ if ($class->isa('Mouse::Object')) {
+ Carp::croak('Mouse does not support Application::ToInstance yet');
+ }
+
if ($class->isa('Mouse::Meta::Class')) {
for my $name (@{$self->{required_methods}}) {
unless ($classname->can($name)) {
# XXX what's Moose's behavior?
#next;
} else {
- *$class_function = *$role_function;
+ *{$class_function} = \&{$role_function};
}
if ($args{alias} && $args{alias}->{$name}) {
my $dstname = $args{alias}->{$name};