use base 'Class::MOP::Method';
+use constant _EVAL_REPORT => $ENV{MOP_EVAL_REPORT} ? 1 : 0;
+
## accessors
sub new {
my $__captures = $_[1];
my $code;
+ my $src;
my $e = do {
local $@;
local $SIG{__DIE__};
- $code = eval join
+ $code = eval($src = join
"\n", (
map {
/^([\@\%\$])/
. $_ . q['}};];
} keys %$__captures
),
- $_[2];
+ $_[2]);
$@;
};
+ print '#', $_[0]->name, "\n", $src , "\n" if _EVAL_REPORT;
+
return ( $code, $e );
}