X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FLaTeX%2FTikZ%2FMeta%2FTypeConstraint%2FAutocoerce.pm;h=72bb96fa5a34e269f9664cfd13495cfa30a36e55;hb=95aada0ec5b3c5a0d78ed0ad53436b0e70860bc7;hp=0804c7f9efef0c20a870e82f7deab1d7ecc42cfb;hpb=fa8770100f9f7243f5a8ada2a39ad254f1e0e9b4;p=perl%2Fmodules%2FLaTeX-TikZ.git diff --git a/lib/LaTeX/TikZ/Meta/TypeConstraint/Autocoerce.pm b/lib/LaTeX/TikZ/Meta/TypeConstraint/Autocoerce.pm index 0804c7f..72bb96f 100644 --- a/lib/LaTeX/TikZ/Meta/TypeConstraint/Autocoerce.pm +++ b/lib/LaTeX/TikZ/Meta/TypeConstraint/Autocoerce.pm @@ -85,12 +85,13 @@ Note that you will need L =cut -use Scalar::Util qw/blessed/; +use Scalar::Util qw; use Sub::Name (); +use LaTeX::TikZ::Tools; + use Any::Moose; -use Any::Moose 'Util' => [ 'find_meta' ]; =head1 RELATIONSHIPS @@ -163,10 +164,10 @@ around 'new' => sub { } my $parent = delete $args{parent}; - unless (defined $parent and blessed $parent) { - $parent = find_meta($parent); - Carp::confess("No meta object for parent $parent"); - $parent = $parent->type_constraint; + unless (blessed $parent) { + my $parent_name = defined $parent ? "parent $parent" : 'undefined parent'; + $parent = LaTeX::TikZ::Tools::type_constraint($parent) if defined $parent; + Carp::confess("No meta object for $parent_name") unless defined $parent; } __PACKAGE__->meta->find_attribute_by_name('parent') ->type_constraint->assert_valid($parent);