[SERVER-74928] Support 'void' types in IDL configurations Created: 15/Mar/23  Updated: 21/Mar/23

Status: Open
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Hugh Tong (Inactive) Assignee: Backlog - Service Architecture
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Service Arch
Participants:

 Description   

kms.idl defines a type 'void', which results in field.type = None.  This configurfation makes it necessary for the IDL generator to check that field.type exists rather than assuming that a field.type always exists.  Fields should always be associated with a type, so we shouldn't need to explicitly make this check.



 Comments   
Comment by Billy Donahue [ 16/Mar/23 ]

You've linked to a line that says:

        self._writer.write_empty_line()

I'm not sure what the relevence is to "checking that field.type exists". Is that a bad link?

I do think it's weird to have a struct definition in IDL with type void.
I mean you can't do that in C/C++.
What's the motivation for doing so? Do you know?

It looks like the ignore: true attribute is related.
That is, we parse these members but we don't store them in the resulting C++ struct.

Generated at Thu Feb 08 06:28:54 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.