stas 2002/12/29 16:27:13 Modified: lib/ModPerl TypeMap.pm Log: print a warning when a function is not going to be glued, because one of its args or return types can't be resolved Revision Changes Path 1.18 +9 -3 modperl-2.0/lib/ModPerl/TypeMap.pm Index: TypeMap.pm =================================================================== RCS file: /home/cvs/modperl-2.0/lib/ModPerl/TypeMap.pm,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- TypeMap.pm 23 May 2002 19:49:07 -0000 1.17 +++ TypeMap.pm 30 Dec 2002 00:27:13 -0000 1.18 @@ -144,7 +144,7 @@ return 1 if $map->{argspec}; for (@_) { - return unless $self->map_type($_); + return (0, $_) unless $self->map_type($_); } return 1; @@ -230,8 +230,14 @@ $self->thx_fixup($func); - return unless $self->can_map($map, $func->{return_type}, - map $_->{type}, @{ $func->{args} }); + my($status, $failed_type) = + $self->can_map($map, $func->{return_type}, + map $_->{type}, @{ $func->{args} }); + + unless ($status) { + warn "unknown typemap: '$failed_type' (skipping $func->{name})\n"; + return; + } my $type = $map->{return_type} || $func->{return_type} || 'void'; my $map_type = $self->map_type($type);