X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FMethod%2FConstructor.pm;h=e78318efd5eab4ee243b78a68292e6fa4f018041;hb=f031f4d561c30e19ef18f35445ded03d25d40f7d;hp=f99aadaf402cba30e4cd3042928c5a373ebadd8b;hpb=4bc73e4760435ee34876be28bf4522e9e7eaf519;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Meta/Method/Constructor.pm b/lib/Mouse/Meta/Method/Constructor.pm index f99aada..e78318e 100644 --- a/lib/Mouse/Meta/Method/Constructor.pm +++ b/lib/Mouse/Meta/Method/Constructor.pm @@ -51,10 +51,9 @@ sub _generate_processattrs { my @res; my $has_triggers; - my $strict_constructor = $metaclass->__strict_constructor; + my $strict = $metaclass->__strict_constructor; - - if($strict_constructor){ + if($strict){ push @res, 'my $used = 0;'; } @@ -106,8 +105,8 @@ sub _generate_processattrs { $code .= "push \@triggers, [$attr_var\->{trigger}, $instance_slot];\n"; } - if ($strict_constructor){ - $code .= '$used++;' . "\n"; + if ($strict){ + $code .= '++$used;' . "\n"; } $code .= "\n} else {\n"; # $value exists @@ -151,9 +150,9 @@ sub _generate_processattrs { push @res, $code; } - if($strict_constructor){ + if($strict){ push @res, q{if($used < keys %{$args})} - . q{{ Mouse::Meta::Method::Constructor::_report_unknown_args($metaclass, \@attrs, $instance, $args) }}; + . sprintf q{{ %s->_report_unknown_args($metaclass, \@attrs, $args) }}, $method_class; } if($metaclass->is_anon_class){ @@ -204,7 +203,7 @@ sub _generate_BUILDALL { } sub _report_unknown_args { - my($metaclass, $attrs, $instance, $args) = @_; + my(undef, $metaclass, $attrs, $args) = @_; my @unknowns; my %init_args; @@ -223,7 +222,7 @@ sub _report_unknown_args { $metaclass->throw_error( sprintf "Unknown attribute passed to the constructor of %s: %s", - ref($instance), join ', ', @unknowns + $metaclass->name, Mouse::Util::english_list(@unknowns), ); } @@ -236,7 +235,7 @@ Mouse::Meta::Method::Constructor - A Mouse method generator for constructors =head1 VERSION -This document describes Mouse version 0.50_03 +This document describes Mouse version 0.50_06 =head1 SEE ALSO