Rémi Bernon (@rbernon) commented about tools/widl/parser.y:
imp_decl_statements : %empty { $$ = NULL; } | imp_decl_statements tINTERFACE qualified_type '<' parameterized_type_args '>' ';'
{ $$ = append_statement($1, make_statement_reference( @$, type_parameterized_type_specialize_declare($3, $5) )); }
{ imp_parameterized_type_stmts = append_statement( imp_parameterized_type_stmts, make_statement_parameterized_type(@$, $3, $5) );
$$ = append_statement($1, make_statement_reference( @$, type_parameterized_type_specialize_declare($3, $5) ));
}
I think removing the mostly duplicate logic like in https://gitlab.winehq.org/rbernon/wine/-/commit/1f91758a2b05deac6741c77bb26a... would be better.