X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FPurePerl.pm;h=66d89b733af2d6c26872c48eb26520e3c9a50333;hb=8cf6cb3babb16036cf993765f283ef71295b8917;hp=c5256c1ab05cbc28c6ee36bd1b44874b49b5a503;hpb=e972d1c9c458342acd4cd348ce5db81f0ff6fd33;p=gitmo%2FMouse.git diff --git a/lib/Mouse/PurePerl.pm b/lib/Mouse/PurePerl.pm index c5256c1..66d89b7 100644 --- a/lib/Mouse/PurePerl.pm +++ b/lib/Mouse/PurePerl.pm @@ -5,11 +5,11 @@ use strict; use warnings; use warnings FATAL => 'redefine'; # to avoid to load Mouse::PurePerl twice +use Scalar::Util (); use B (); require Mouse::Util; - # taken from Class/MOP.pm sub is_valid_class_name { my $class = shift; @@ -134,12 +134,11 @@ sub generate_can_predicate_for { package Mouse::Util::TypeConstraints; -use Scalar::Util (); sub Any { 1 } sub Item { 1 } -sub Bool { $_[0] ? $_[0] eq '1' : 1 } +sub Bool { !$_[0] || $_[0] eq '1' } sub Undef { !defined($_[0]) } sub Defined { defined($_[0]) } sub Value { defined($_[0]) && !ref($_[0]) } @@ -340,6 +339,12 @@ sub is_immutable { $_[0]->{is_immutable} } sub strict_constructor; *strict_constructor = $generate_class_accessor->('strict_constructor'); +sub _invalidate_metaclass_cache { + my($self) = @_; + delete $self->{_mouse_cache}; + return; +} + sub _report_unknown_args { my($metaclass, $attrs, $args) = @_; @@ -584,7 +589,7 @@ sub _process_options{ if ($args->{lazy}) { (exists $args->{default} || defined $args->{builder}) - || $class->throw_error("You cannot have lazy attribute ($name) without specifying a default value for it"); + || $class->throw_error("You cannot have a lazy attribute ($name) without specifying a default value for it"); } return; @@ -608,7 +613,6 @@ sub _identity { Scalar::Util::refaddr($_[0]) } # overload 0+ sub type_parameter { $_[0]->{type_parameter} } sub _compiled_type_constraint{ $_[0]->{compiled_type_constraint} } -sub _compiled_type_coercion { $_[0]->{_compiled_type_coercion} } sub __is_parameterized { exists $_[0]->{type_parameter} } sub has_coercion { exists $_[0]->{_compiled_type_coercion} } @@ -745,7 +749,7 @@ Mouse::PurePerl - A Mouse guts in pure Perl =head1 VERSION -This document describes Mouse version 0.76 +This document describes Mouse version 0.91 =head1 SEE ALSO