Tidy Meta::TypeConstraint
[gitmo/Mouse.git] / lib / Mouse / Meta / TypeConstraint.pm
index dc34532..1a0b9a3 100644 (file)
@@ -2,10 +2,8 @@ package Mouse::Meta::TypeConstraint;
 use Mouse::Util qw(:meta); # enables strict and warnings
 
 use overload
-    'bool'   => sub { 1 },             # always true
-
+    'bool'   => sub (){ 1 },           # always true
     '""'     => sub { $_[0]->name },   # stringify to tc name
-
     '|'      => sub {                  # or-combination
         require Mouse::Util::TypeConstraints;
         return Mouse::Util::TypeConstraints::find_or_parse_type_constraint(
@@ -35,8 +33,6 @@ sub new {
         Carp::confess("Constraint for $args{name} is not a CODE reference");
     }
 
-    $args{package_defined_in} ||= caller;
-
     my $self = bless \%args, $class;
     $self->compile_type_constraint() if !$self->{hand_optimized_type_constraint};
 
@@ -46,7 +42,6 @@ sub new {
 
 sub create_child_type{
     my $self = shift;
-    # XXX: FIXME
     return ref($self)->new(
         # a child inherits its parent's attributes
         %{$self},
@@ -67,6 +62,10 @@ sub name;
 sub parent;
 sub message;
 sub has_coercion;
+
+sub type_parameter;
+sub __is_parameterized;
+
 sub _compiled_type_constraint;
 sub _compiled_type_coercion;
 
@@ -75,7 +74,7 @@ sub compile_type_constraint;
 sub _add_type_coercions{
     my $self = shift;
 
-    my $coercions = ($self->{_coercion_map} ||= []);
+    my $coercions = ($self->{coercion_map} ||= []);
     my %has       = map{ $_->[0] => undef } @{$coercions};
 
     for(my $i = 0; $i < @_; $i++){
@@ -105,7 +104,7 @@ sub _add_type_coercions{
 sub _compile_type_coercion {
     my($self) = @_;
 
-    my @coercions = @{$self->{_coercion_map}};
+    my @coercions = @{$self->{coercion_map}};
 
     $self->{_compiled_type_coercion} = sub {
        my($thing) = @_;
@@ -215,8 +214,6 @@ sub parameterize{
         parent         => $self,
         type_parameter => $param,
         constraint     => $generator->($param), # must be 'constraint', not 'optimized'
-
-        type           => 'Parameterized',
     );
 }
 
@@ -238,7 +235,7 @@ Mouse::Meta::TypeConstraint - The Mouse Type Constraint metaclass
 
 =head1 VERSION
 
-This document describes Mouse version 0.50_01
+This document describes Mouse version 0.50_03
 
 =head1 DESCRIPTION