diff options
Diffstat (limited to 'source4/pidl/lib/Parse/Pidl/Typelist.pm')
-rw-r--r-- | source4/pidl/lib/Parse/Pidl/Typelist.pm | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source4/pidl/lib/Parse/Pidl/Typelist.pm b/source4/pidl/lib/Parse/Pidl/Typelist.pm index 55f8390f65..b25ab62e03 100644 --- a/source4/pidl/lib/Parse/Pidl/Typelist.pm +++ b/source4/pidl/lib/Parse/Pidl/Typelist.pm @@ -98,7 +98,9 @@ sub addType($) sub getType($) { my $t = shift; + return ($t) if (ref($t) eq "HASH" and not defined($t->{NAME})); return undef if not hasType($t); + return $types{$t->{NAME}} if (ref($t) eq "HASH"); return $types{$t}; } @@ -113,6 +115,11 @@ sub typeIs($$) sub hasType($) { my $t = shift; + if (ref($t) eq "HASH") { + return 1 if (defined($types{$t->{NAME}}) and + $types{$t->{NAME}}->{TYPE} eq $t->{TYPE}); + return 0; + } return 1 if defined($types{$t}); return 0; } |