X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMethod%2FGenerate%2FAccessor.pm;h=c5398cf26acc3ddea57027b83309ff6adba95640;hb=33d3573585bd07ae1c88e7075716821837460d3d;hp=078e8846f88f2d8ce2855093e658931006b6f225;hpb=11f7a04257b92d8cb9e5feffdad80578eab1af42;p=gitmo%2FMoo.git diff --git a/lib/Method/Generate/Accessor.pm b/lib/Method/Generate/Accessor.pm index 078e884..c5398cf 100644 --- a/lib/Method/Generate/Accessor.pm +++ b/lib/Method/Generate/Accessor.pm @@ -7,6 +7,8 @@ use Sub::Quote; use B 'perlstring'; BEGIN { our $CAN_HAZ_XS = + !$ENV{MOO_XS_DISABLE} + && _maybe_load_module('Class::XSAccessor') && (Class::XSAccessor->VERSION > 1.06) @@ -38,7 +40,8 @@ sub generate_method { $self->{captures} = {}; $methods{$reader} = quote_sub "${into}::${reader}" - => $self->_generate_get($name, $spec) + => ' die "'.$reader.' is a read-only accessor" if @_ > 1;'."\n" + .$self->_generate_get($name, $spec) => delete $self->{captures} ; }