X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FMethod%2FConstructor.pm;h=c47be96fce6cd810e1014c91a81980cdbd4ffb3f;hb=86eb0b5e6f0c2d89a6c86516e7bccbf9c7daba1f;hp=f774622e9983ad2d1aea7ca86ab444d6b6c1b307;hpb=af4995e2c7e75d5eadf52aa9eff8214115174777;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Meta/Method/Constructor.pm b/lib/Mouse/Meta/Method/Constructor.pm index f774622..c47be96 100644 --- a/lib/Mouse/Meta/Method/Constructor.pm +++ b/lib/Mouse/Meta/Method/Constructor.pm @@ -51,7 +51,7 @@ sub _generate_processattrs { my @res; my $has_triggers; - my $strict = $metaclass->__strict_constructor; + my $strict = $metaclass->strict_constructor; if($strict){ push @res, 'my $used = 0;'; @@ -152,7 +152,7 @@ sub _generate_processattrs { if($strict){ push @res, q{if($used < keys %{$args})} - . sprintf q{{ %s->_report_unknown_args($metaclass, \@attrs, $args) }}, $method_class; + . q{{ $metaclass->_report_unknown_args(\@attrs, $args) }}; } if($metaclass->is_anon_class){ @@ -202,30 +202,6 @@ sub _generate_BUILDALL { return join "\n", @code; } -sub _report_unknown_args { - my(undef, $metaclass, $attrs, $args) = @_; - - my @unknowns; - my %init_args; - foreach my $attr(@{$attrs}){ - my $init_arg = $attr->init_arg; - if(defined $init_arg){ - $init_args{$init_arg}++; - } - } - - while(my $key = each %{$args}){ - if(!exists $init_args{$key}){ - push @unknowns, $key; - } - } - - $metaclass->throw_error( sprintf - "Unknown attribute passed to the constructor of %s: %s", - $metaclass->name, Mouse::Util::english_list(@unknowns), - ); -} - 1; __END__ @@ -235,7 +211,7 @@ Mouse::Meta::Method::Constructor - A Mouse method generator for constructors =head1 VERSION -This document describes Mouse version 0.58 +This document describes Mouse version 0.70 =head1 SEE ALSO