From 282ee7dd3f99ec0ed1691b25aacfad96d4b11514 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Fri, 23 Aug 2024 17:24:19 +0200 Subject: [PATCH] pidl: add scalarTypeUsed() helper to find if a type was actually used... Pair-Programmed-With: Volker Lendecke Signed-off-by: Stefan Metzmacher Signed-off-by: Volker Lendecke Reviewed-by: Jennifer Sutton --- pidl/lib/Parse/Pidl/Typelist.pm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/pidl/lib/Parse/Pidl/Typelist.pm b/pidl/lib/Parse/Pidl/Typelist.pm index 2a98a16b2b5..af4ef13e7d2 100644 --- a/pidl/lib/Parse/Pidl/Typelist.pm +++ b/pidl/lib/Parse/Pidl/Typelist.pm @@ -10,7 +10,7 @@ require Exporter; @EXPORT_OK = qw(hasType getType resolveType mapTypeName mapTypeSpecifier scalar_is_reference expandAlias mapScalarType addType typeIs is_signed is_scalar enum_type_fn bitmap_type_fn mapType typeHasBody is_fixed_size_scalar - is_string_type + is_string_type scalarTypeUsed ); use vars qw($VERSION); $VERSION = '0.01'; @@ -115,6 +115,8 @@ sub expandAlias($) return $name; } +my %scalars_used = (); + # map from a IDL type to a C header type sub mapScalarType($) { @@ -122,11 +124,20 @@ sub mapScalarType($) # it's a bug when a type is not in the list # of known scalars or has no mapping - return $scalars{$name} if defined($scalars{$name}); + if (defined($scalars{$name})) { + $scalars_used{$name} = $scalars{$name}; + return $scalars{$name}; + } die("Unknown scalar type $name"); } +sub scalarTypeUsed($) +{ + my $name = shift; + return defined($scalars_used{$name}); +} + sub addType($) { my $t = shift; -- 2.47.3