From: Dagfinn Ilmari Mannsåker Date: Mon, 23 Jan 2017 18:08:03 +0000 (+0000) Subject: Further ClassData cleanups X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=e58865461d2d7c80b8136a4b853082cb8031975e Further ClassData cleanups - Use Moose::Meta::Class->initialize consistently - Call Class::MOP::get_metaclass_by_name directly instead of via Moose::Util::find_meta, avoiding unnecessary indirection and edge case handling. --- diff --git a/lib/Catalyst/ClassData.pm b/lib/Catalyst/ClassData.pm index e8cb26c..f5f554a 100644 --- a/lib/Catalyst/ClassData.pm +++ b/lib/Catalyst/ClassData.pm @@ -12,7 +12,7 @@ sub mk_classdata { my $accessor = sub { my $pkg = ref $_[0] || $_[0]; - my $meta = Moose::Util::find_meta($pkg) + my $meta = Class::MOP::get_metaclass_by_name($pkg) || Moose::Meta::Class->initialize( $pkg ); if (@_ > 1) { $meta->namespace->{$attribute} = \$_[1]; @@ -40,7 +40,7 @@ sub mk_classdata { return; }; - my $meta = $class->Class::MOP::Object::meta(); + my $meta = Moose::Meta::Class->initialize($class); confess "${class}'s metaclass is not a Class::MOP::Class" unless $meta->isa('Class::MOP::Class');