use strict;
use warnings;
+use Class::Load qw(load_class);
use Class::MOP;
-
use Carp qw( confess );
use Data::OptList;
use List::Util qw( first );
my $supers = Data::OptList::mkopt(\@_);
foreach my $super (@{ $supers }) {
my ($name, $opts) = @{ $super };
- Class::MOP::load_class($name, $opts);
+ load_class($name, $opts);
my $meta = Class::MOP::class_of($name);
$self->throw_error("You cannot inherit from a Moose Role ($name)")
if $meta && $meta->isa('Moose::Meta::Role')
my $class = ref $self ? $self->error_class : "Moose::Error::Default";
- Class::MOP::load_class($class);
+ load_class($class);
$class->new(
Carp::caller_info($args{depth}),
my $class = ref $self ? $self->error_class : "Moose::Error::Default";
- Class::MOP::load_class($class);
+ load_class($class);
# don't check inheritance here - the intention is that the class needs
# to provide a non-inherited inlining method, because falling back to
# the default inlining method is most likely going to be wrong
# yes, this is a huge hack, but so is the entire error system, so.
- return '$meta->create_error(' . $msg . ', ' . $args . ');'
+ return
+ '$meta->create_error('
+ . $msg
+ . ( defined $args ? ', ' . $args : q{} ) . ');'
unless $class->meta->has_method('_inline_new');
$class->_inline_new(
argument, but the option hash reference can also contain any other
role relevant values like exclusions or parameterized role arguments.
-=item B<< $metaclass->make_immutable(%options) >>
-
-This overrides the parent's method to add a few options. Specifically,
-it uses the Moose-specific constructor and destructor classes, and
-enables inlining the destructor.
-
-Since Moose always inlines attributes, it sets the C<inline_accessors> option
-to false.
-
=item B<< $metaclass->new_object(%params) >>
This overrides the parent's method in order to add support for