use strict;
use warnings;
-our $AUTHORITY = 'cpan:STEVAN';
-
use Class::MOP;
use List::MoreUtils qw( first_index uniq );
use Moose::Util::MetaRole;
use Sub::Exporter 0.980;
use Sub::Name qw(subname);
-use XSLoader;
-
-XSLoader::load( 'Moose', $XS_VERSION );
-
my %EXPORT_SPEC;
sub setup_import_methods {
my ( $class, %args ) = @_;
- my $exporting_package = $args{exporting_package} ||= caller();
+ $args{exporting_package} ||= caller();
$class->build_import_methods(
%args,
local %$seen = ( $exporting_package => 1 );
- return uniq( _follow_also_real($exporting_package) );
+ return reverse uniq( _follow_also_real($exporting_package) );
}
sub _follow_also_real {
my $class = shift;
my $packages = shift;
my $export_recorder = shift;
- my $is_reexport = shift;
+ my $is_reexport = shift;
my %exports;
my $exporting_package = shift;
my $exporter = shift;
my $exports_from = shift;
- my $is_reexport = shift;
+ my $is_reexport = shift;
return sub {
my $exporting_package = shift;
my $exports = shift;
my $export_recorder = shift;
- my $is_reexport = shift;
+ my $is_reexport = shift;
return sub {
my $caller = scalar caller();
my $package = shift;
my $keywords = shift;
my $recorded_exports = shift;
- my $is_reexport = shift;
+ my $is_reexport = shift;
no strict 'refs';