isa -> type_constraint
Shawn M Moore [Wed, 4 Jun 2008 04:02:52 +0000 (04:02 +0000)]
lib/Mouse/Attribute.pm

index 325c24d..22e86e0 100644 (file)
@@ -16,14 +16,15 @@ sub new {
     bless \%args, $class;
 }
 
-sub name      { $_[0]->{name} }
-sub class     { $_[0]->{class} }
-sub default   { $_[0]->{default} }
-sub predicate { $_[0]->{predicate} }
-sub clearer   { $_[0]->{clearer} }
-sub handles   { $_[0]->{handles} }
-sub weak_ref  { $_[0]->{weak_ref} }
-sub init_arg  { $_[0]->{init_arg} }
+sub name            { $_[0]->{name}            }
+sub class           { $_[0]->{class}           }
+sub default         { $_[0]->{default}         }
+sub predicate       { $_[0]->{predicate}       }
+sub clearer         { $_[0]->{clearer}         }
+sub handles         { $_[0]->{handles}         }
+sub weak_ref        { $_[0]->{weak_ref}        }
+sub init_arg        { $_[0]->{init_arg}        }
+sub type_constraint { $_[0]->{type_constraint} }
 
 sub generate_accessor {
     my $attribute = shift;
@@ -125,6 +126,8 @@ sub create {
         if exists($args{handles})
         && ref($args{handles}) ne 'HASH';
 
+    $args{type_constraint} = delete $args{isa};
+
     my $attribute = $self->new(%args, name => $name, class => $class);
     my $meta = $class->meta;