package Mouse::Meta::Method::Constructor;
use Mouse::Util; # enables strict and warnings
-sub _generate_constructor_method {
+sub _generate_constructor {
my ($class, $metaclass, $args) = @_;
my $associated_metaclass_name = $metaclass->name;
$@;
};
die $e if $e;
-
- $metaclass->add_method($args->{constructor_name} => $code);
- return;
+ return $code;
}
sub _generate_processattrs {
$code .= "if (exists $value) {\n";
if($need_coercion){
- $value = "$instance_slot = $constraint_var->coerce($value);\n";
+ $value = "$constraint_var->coerce($value)";
}
$code .= "$instance_slot = $value;\n";
if ($attr->has_trigger) {
$has_triggers++;
- $code .= "push \@triggers, [$attr_var\->{trigger}, $value];\n";
+ $code .= "push \@triggers, [$attr_var\->{trigger}, $instance_slot];\n";
}
$code .= "\n} else {\n";
}
if($metaclass->is_anon_class){
- push @res, q{$instnace->{__METACLASS__} = $metaclass;};
+ push @res, q{$instance->{__METACLASS__} = $metaclass;};
}
if($has_triggers){
}
1;
+__END__