/usr/share/perl5/MooseX/Aliases/Meta/Trait/Class.pm is in libmoosex-aliases-perl 0.11-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 | package MooseX::Aliases::Meta::Trait::Class;
BEGIN {
$MooseX::Aliases::Meta::Trait::Class::AUTHORITY = 'cpan:DOY';
}
{
$MooseX::Aliases::Meta::Trait::Class::VERSION = '0.11';
}
use Moose::Role;
around _inline_slot_initializer => sub {
my $orig = shift;
my $self = shift;
my ($attr, $index) = @_;
my @orig_source = $self->$orig(@_);
return @orig_source
# only run on aliased attributes
unless $attr->meta->can('does_role')
&& $attr->meta->does_role('MooseX::Aliases::Meta::Trait::Attribute');
return @orig_source
# don't run if we haven't set any aliases
# don't run if init_arg is explicitly undef
unless $attr->has_alias && $attr->has_init_arg;
my $init_arg = $attr->init_arg;
return (
'if (my @aliases = grep { exists $params->{$_} } (qw('
. join(' ', @{ $attr->alias }) . '))) {',
'if (exists $params->{' . $init_arg . '}) {',
'push @aliases, \'' . $init_arg . '\';',
'}',
'if (@aliases > 1) {',
$self->_inline_throw_error(
'"Conflicting init_args: (" . join(", ", @aliases) . ")"',
) . ';',
'}',
'$params->{' . $init_arg . '} = delete $params->{$aliases[0]};',
'}',
@orig_source,
);
};
no Moose::Role;
=for Pod::Coverage
=cut
1;
|