summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authordoy <doy@tozt.net>2009-04-13 23:54:12 -0500
committerdoy <doy@tozt.net>2009-04-13 23:54:12 -0500
commit1bc466ec9fdeb4ba4df5d13b2c8cf03d156641fe (patch)
tree412a294dbbc7a8b880209daad58d1c2adf2813b1 /lib
parent63f1d0d103a8008d3c292f1f681d17fee0b45c5d (diff)
downloadmoosex-nonmoose-1bc466ec9fdeb4ba4df5d13b2c8cf03d156641fe.tar.gz
moosex-nonmoose-1bc466ec9fdeb4ba4df5d13b2c8cf03d156641fe.zip
look up the proper constructor name
Diffstat (limited to 'lib')
-rw-r--r--lib/MooseX/NonMoose/Meta/Role/Constructor.pm5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/MooseX/NonMoose/Meta/Role/Constructor.pm b/lib/MooseX/NonMoose/Meta/Role/Constructor.pm
index eef0573..d2efff1 100644
--- a/lib/MooseX/NonMoose/Meta/Role/Constructor.pm
+++ b/lib/MooseX/NonMoose/Meta/Role/Constructor.pm
@@ -18,8 +18,9 @@ around can_be_inlined => sub {
sub _generate_instance {
my $self = shift;
my ($var, $class_var) = @_;
- my $super_new_class = $self->associated_metaclass->find_next_method_by_name('new')->package_name;
- "my $var = bless $super_new_class->new(\@_), $class_var;\n";
+ my $new = $self->name;
+ my $super_new_class = $self->associated_metaclass->find_next_method_by_name($new)->package_name;
+ "my $var = bless $super_new_class->$new(\@_), $class_var;\n";
}
no Moose::Role;