Fix an accessor generator to accept role application to instance
gfx [Wed, 7 Oct 2009 11:58:44 +0000 (20:58 +0900)]
lib/Mouse/Meta/Method/Accessor.pm

index c85f72f..d073cb5 100755 (executable)
@@ -74,7 +74,8 @@ sub _generate_accessor{
         $class->throw_error("Unknown accessor type '$type'");
     }
 
-    if ($attribute->is_lazy) {
+    # XXX: an anon class can be a runtime created class
+    if ($attribute->is_lazy || $class->is_anon_class) {
         my $value;
 
         if (defined $builder){
@@ -108,7 +109,7 @@ sub _generate_accessor{
 
     $accessor .= "return $slot;\n}\n";
 
-    #print $accessor, "\n";
+    #print "# class ", $class->name, "\n", $accessor, "\n";
     my $code;
     my $e = do{
         local $@;