/usr/lib/perl5/Mouse/Meta/Method.pm is in libmouse-perl 2.1.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | package Mouse::Meta::Method;
use Mouse::Util qw(:meta); # enables strict and warnings
use Scalar::Util ();
use overload
'==' => '_equal',
'eq' => '_equal',
'&{}' => sub{ $_[0]->body },
fallback => 1,
;
sub wrap {
my $class = shift;
unshift @_, 'body' if @_ % 2 != 0;
return $class->_new(@_);
}
sub _new{
my($class, %args) = @_;
my $self = bless \%args, $class;
if($class ne __PACKAGE__){
$self->meta->_initialize_object($self, \%args);
}
return $self;
}
sub body { $_[0]->{body} }
sub name { $_[0]->{name} }
sub package_name { $_[0]->{package} }
sub associated_metaclass { $_[0]->{associated_metaclass} }
sub fully_qualified_name {
my($self) = @_;
return $self->package_name . '::' . $self->name;
}
# for Moose compat
sub _equal {
my($l, $r) = @_;
return Scalar::Util::blessed($r)
&& $l->body == $r->body
&& $l->name eq $r->name
&& $l->package_name eq $r->package_name;
}
1;
__END__
=head1 NAME
Mouse::Meta::Method - A Mouse Method metaclass
=head1 VERSION
This document describes Mouse version 2.1.0
=head1 DESCRIPTION
This class is a meta object protocol for Mouse methods,
which is a subset of Moose::Meta:::Method.
=head1 SEE ALSO
L<Moose::Meta::Method>
L<Class::MOP::Method>
=cut
|