[PATCH 3/5] widl: Fix nested parameterized types C / short name output.

Rémi Bernon rbernon at codeweavers.com
Tue Jan 25 12:05:51 CST 2022


On 1/25/22 18:53, Bernhard Kölbl wrote:
> Am Di., 25. Jan. 2022 um 10:13 Uhr schrieb Rémi Bernon
> <rbernon at codeweavers.com>:
>> @@ -1218,8 +1229,9 @@ type_t *type_parameterized_type_specialize_declare(type_t *type, typeref_list_t
>>       new_type->namespace = type->namespace;
>>       new_type->name = format_parameterized_type_name(type, params);
>>       reg_type(new_type, new_type->name, new_type->namespace, 0);
>> -    new_type->c_name = format_parameterized_type_c_name(type, params, "");
>> +    new_type->c_name = format_parameterized_type_c_name(type, params, "", "_C");
>>       new_type->short_name = format_parameterized_type_short_name(type, params, "");
>> +    new_type->param_name = format_parameterized_type_c_name(type, params, "", "__C");
>>
>>       if (new_type->type_type == TYPE_DELEGATE)
>>       {
> 
> The patch works great, but declared types from imported IDLs aren't
> found. (E.g. IVectorView<HSTRING > from windows.foundation.idl)
> To fix this add
>       new_type->signature = format_parameterized_type_signature(type, params);
> here.
> 
> Bernhard

Thanks,

I think this is actually a separate issue, and it will need a bit more 
investigation as this change doesn't seem to work with some of the 
classes already in the IDLs.

Cheers,
-- 
Rémi Bernon <rbernon at codeweavers.com>



More information about the wine-devel mailing list