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 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
package Moose::Meta::Object::Trait;
our $VERSION = '2.4000';
use Scalar::Util qw(blessed);
sub _get_compatible_metaclass {
my $orig = shift;
my $self = shift;
return $self->$orig(@_)
|| $self->_get_compatible_metaclass_by_role_reconciliation(@_);
}
sub _get_compatible_metaclass_by_role_reconciliation {
my $self = shift;
my ($other_name) = @_;
my $meta_name = blessed($self) ? $self->_real_ref_name : $self;
return unless Moose::Util::_classes_differ_by_roles_only(
$meta_name, $other_name
);
return Moose::Util::_reconcile_roles_for_metaclass(
$meta_name, $other_name
);
}
1;
# ABSTRACT: Some overrides for L<Class::MOP::Object> functionality
__END__
=pod
=encoding UTF-8
=head1 NAME
Moose::Meta::Object::Trait - Some overrides for L<Class::MOP::Object> functionality
=head1 VERSION
version 2.4000
=head1 DESCRIPTION
This module is entirely private, you shouldn't ever need to interact with
it directly.
=head1 BUGS
See L<Moose/BUGS> for details on reporting bugs.
=head1 AUTHORS
=over 4
=item *
Stevan Little <stevan@cpan.org>
=item *
Dave Rolsky <autarch@urth.org>
=item *
Jesse Luehrs <doy@cpan.org>
=item *
Shawn M Moore <sartak@cpan.org>
=item *
יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>
=item *
Karen Etheridge <ether@cpan.org>
=item *
Florian Ragwitz <rafl@debian.org>
=item *
Hans Dieter Pearcey <hdp@cpan.org>
=item *
Chris Prather <chris@prather.org>
=item *
Matt S Trout <mstrout@cpan.org>
=back
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2006 by Infinity Interactive, Inc.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
|