X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FClass%2FMOP%2FMethod%2FGenerated.pm;h=3c6e08f4fba48843ec1b80200390e789bc710a24;hb=d5d2fbb799207b6da4a57072e42fe3617d9f91b0;hp=92751730c6bcc04595048aa94102323dc739e76a;hpb=ea23e618007d485838d922d35c709936e09e9a35;p=gitmo%2FClass-MOP.git diff --git a/lib/Class/MOP/Method/Generated.pm b/lib/Class/MOP/Method/Generated.pm index 9275173..3c6e08f 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.87'; +our $VERSION = '1.07'; $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; $@; }; @@ -84,7 +88,7 @@ sub _compile_code { my $code = $self->_add_line_directive(%args); - $self->_eval_closure($args{environment}, $code); + return $self->_eval_closure($args{environment}, $code); } 1; @@ -111,7 +115,7 @@ Stevan Little Estevan@iinteractive.comE =head1 COPYRIGHT AND LICENSE -Copyright 2006-2009 by Infinity Interactive, Inc. +Copyright 2006-2010 by Infinity Interactive, Inc. L