X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FClass%2FMOP%2FMethod%2FGenerated.pm;h=6c6b4ad43ce248fd602753382906c8f036cbead4;hb=53edec17bae8aa34a398b0bd50dcd7e78e03b733;hp=76f1ce6f67ee0f3658fd7d2ba9710d1bc0885f4d;hpb=4b18c1b3cf8de42c2454663de378e9c3f2180352;p=gitmo%2FClass-MOP.git diff --git a/lib/Class/MOP/Method/Generated.pm b/lib/Class/MOP/Method/Generated.pm index 76f1ce6..6c6b4ad 100644 --- a/lib/Class/MOP/Method/Generated.pm +++ b/lib/Class/MOP/Method/Generated.pm @@ -6,12 +6,14 @@ use warnings; use Carp 'confess'; -our $VERSION = '0.91'; +our $VERSION = '0.95'; $VERSION = eval $VERSION; our $AUTHORITY = 'cpan:STEVAN'; use base 'Class::MOP::Method'; +use constant _PRINT_SOURCE => $ENV{MOP_PRINT_SOURCE} ? 1 : 0; + ## accessors sub new { @@ -35,7 +37,7 @@ sub _eval_closure { my $e = do { local $@; local $SIG{__DIE__}; - $code = eval join + my $source = join "\n", ( map { /^([\@\%\$])/ @@ -48,6 +50,8 @@ sub _eval_closure { } keys %$__captures ), $_[2]; + print STDERR "\n", $_[0]->name, ":\n", $source, "\n" if _PRINT_SOURCE; + $code = eval $source; $@; };