From: Yuval Kogman Date: Mon, 11 Aug 2008 01:06:28 +0000 (+0000) Subject: more simplification of the MOP.pm boilerplate X-Git-Tag: 0_64_01~39 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=fc4f8f913fe86c2fcdd674a5283cf53e690f5b37;p=gitmo%2FClass-MOP.git more simplification of the MOP.pm boilerplate --- diff --git a/lib/Class/MOP.pm b/lib/Class/MOP.pm index 2f263f9..7ed4a4b 100644 --- a/lib/Class/MOP.pm +++ b/lib/Class/MOP.pm @@ -11,6 +11,19 @@ use Scalar::Util 'weaken'; use Sub::Identify 'get_code_info'; +BEGIN { + local $@; + eval { + require Sub::Name; + Sub::Name->import(qw(subname)); + 1 + } or eval 'sub subname { $_[1] }'; + + # this is either part of core or set up appropriately by MRO::Compat + *check_package_cache_flag = \&mro::get_pkg_gen; +} + + use Class::MOP::Class; use Class::MOP::Attribute; use Class::MOP::Method; @@ -18,10 +31,6 @@ use Class::MOP::Method; use Class::MOP::Immutable; BEGIN { - - our $VERSION = '0.65'; - our $AUTHORITY = 'cpan:STEVAN'; - *IS_RUNNING_ON_5_10 = ($] < 5.009_005) ? sub () { 0 } : sub () { 1 }; @@ -29,16 +38,11 @@ BEGIN { *HAVE_ISAREV = defined(&mro::get_isarev) ? sub () { 1 } : sub () { 1 }; - - { - local $@; - eval 'use Sub::Name qw(subname); 1' || eval 'sub subname { $_[1] }'; - } - - # this is either part of core or set up appropriately by MRO::Compat - *check_package_cache_flag = \&mro::get_pkg_gen; } +our $VERSION = '0.65'; +our $AUTHORITY = 'cpan:STEVAN'; + # after that everything is loaded, if we're allowed try to load faster XS # versions of various things unless ($ENV{CLASS_MOP_NO_XS}) { @@ -46,7 +50,7 @@ unless ($ENV{CLASS_MOP_NO_XS}) { local $@; eval { require XSLoader; - __PACKAGE__->XSLoader::load(our $VERSION); + __PACKAGE__->XSLoader::load($VERSION); }; $@; };