cleanup
Stevan Little [Wed, 5 Jul 2006 15:47:10 +0000 (15:47 +0000)]
lib/Class/MOP/Attribute.pm
lib/Class/MOP/Class/Immutable.pm
lib/Class/MOP/Instance.pm
t/010_self_introspection.t
t/014_attribute_introspection.t

index 718436f..c4c0d6b 100644 (file)
@@ -492,6 +492,8 @@ passed into C<new>. I think they are pretty much self-explanitory.
 
 =item B<init_arg>
 
+=item B<is_default_a_coderef>
+
 =item B<default (?$instance)>
 
 As noted in the documentation for C<new> above, if the I<default> 
@@ -576,6 +578,18 @@ use the custom method passed through the constructor.
 
 =back
 
+=over 4
+
+=item B<generate_accessor_method_inline>
+
+=item B<generate_predicate_method_inline>
+
+=item B<generate_reader_method_inline>
+
+=item B<generate_writer_method_inline>
+
+=back
+
 =item B<remove_accessors>
 
 This allows the attribute to remove the method for it's own 
index cd066cf..a94a12b 100644 (file)
@@ -93,7 +93,7 @@ sub _generate_inline_constructor {
     } 0 .. (@$attrs - 1));
     $source .= ";\n" . 'return $instance';
     $source .= ";\n" . '}'; 
-    warn $source;   
+    warn $source if $options->{debug};   
     my $code = eval $source;
     confess "Could not eval the constructor :\n\n$source\n\nbecause :\n\n$@" if $@;
     return $code;
index 23be56a..4f56213 100644 (file)
@@ -271,6 +271,8 @@ possible to inline the slot access.
 This is currently only used by Class::MOP::Class::Immutable when performing 
 optimizations.
 
+=item B<inline_create_instance>
+
 =item B<inline_slot_access ($instance_structure, $slot_name)>
 
 =item B<inline_get_slot_value ($instance_structure, $slot_name)>
index 685f924..4595302 100644 (file)
@@ -217,7 +217,7 @@ is($class_mop_class_meta->get_attribute('%:attributes')->init_arg,
   '... Class::MOP::Class %:attributes\'s a init_arg is :attributes');   
   
 ok($class_mop_class_meta->get_attribute('%:attributes')->has_default, '... Class::MOP::Class %:attributes has a default');
-is_deeply($class_mop_class_meta->get_attribute('%:attributes')->default, 
+is_deeply($class_mop_class_meta->get_attribute('%:attributes')->default('Foo'), 
          {}, 
          '... Class::MOP::Class %:attributes\'s a default of {}');  
 
index bb4af65..ec11f79 100644 (file)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 41;
+use Test::More tests => 46;
 use Test::Exception;
 
 BEGIN {
@@ -31,7 +31,7 @@ BEGIN {
         has_reader    reader
         has_predicate predicate
         has_init_arg  init_arg
-        has_default   default
+        has_default   default    is_default_a_coderef
         
         slots
         
@@ -43,6 +43,11 @@ BEGIN {
         generate_writer_method
         generate_predicate_method
         
+        generate_accessor_method_inline
+        generate_reader_method_inline
+        generate_writer_method_inline
+        generate_predicate_method_inline    
+        
         process_accessors
         install_accessors
         remove_accessors