[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 03/22] qapi: Convert simple union KeyValue to flat one
From: |
Markus Armbruster |
Subject: |
Re: [PATCH 03/22] qapi: Convert simple union KeyValue to flat one |
Date: |
Tue, 14 Sep 2021 06:54:49 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Eric Blake <eblake@redhat.com> writes:
> On Mon, Sep 13, 2021 at 02:39:13PM +0200, Markus Armbruster wrote:
>> Simple unions predate flat unions. Having both complicates the QAPI
>> schema language and the QAPI generator. We haven't been using simple
>> unions in new code for a long time, because they are less flexible and
>> somewhat awkward on the wire.
>>
>> To prepare for their removal, convert simple union KeyValue to an
>> equivalent flat one. Adds some boilerplate to the schema, which is a
>> bit ugly, but a lot easier to maintain than the simple union feature.
>>
>> Cc: Gerd Hoffmann <kraxel@redhat.com>
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>> qapi/ui.json | 30 ++++++++++++++++++++++++++++--
>> 1 file changed, 28 insertions(+), 2 deletions(-)
>>
>> diff --git a/qapi/ui.json b/qapi/ui.json
>> index b2cf7a6759..a6b0dce876 100644
>> --- a/qapi/ui.json
>> +++ b/qapi/ui.json
>> @@ -824,6 +824,30 @@
>> 'ac_home', 'ac_back', 'ac_forward', 'ac_refresh',
>> 'ac_bookmarks',
>> 'lang1', 'lang2' ] }
>>
>> +##
>> +# @KeyValueKind:
>> +#
>> +# Since: 6.1
>
> 6.2 now? Or should this be...
Yes. Can't count :)
>> +
>> ##
>> # @KeyValue:
>> #
>> @@ -832,9 +856,11 @@
>> # Since: 1.3
>
> ...1.3, since the type has been around by that name already (albeit
> implicitly) since that older release?
I'll change it to 1.3.
My first version had KeyValueType here. Then I found the renaming of
its uses in C code tedious, and realized I could avoid it by unreserving
*Kind type names early. I forgot to adjust the Since tag.
>> ##
>> { 'union': 'KeyValue',
>> + 'base': { 'type': 'KeyValueKind' },
>> + 'discriminator': 'type',
>> 'data': {
>> - 'number': 'int',
>> - 'qcode': 'QKeyCode' } }
>> + 'number': 'IntWrapper',
>> + 'qcode': 'QKeyCodeWrapper' } }
>>
>
> I'll trust your decision on the documentation issue; the conversion
> itself is sane, so I'm fine with:
>
> Reviewed-by: Eric Blake <eblake@redhat.com>
Thanks!
- [PATCH 22/22] test-clone-visitor: Correct an accidental rename, (continued)
- [PATCH 20/22] tests/qapi-schema: Purge simple unions from tests, Markus Armbruster, 2021/09/13
- [PATCH 03/22] qapi: Convert simple union KeyValue to flat one, Markus Armbruster, 2021/09/13
- [PATCH 07/22] qapi: Convert simple union ChardevBackend to flat one, Markus Armbruster, 2021/09/13
- [PATCH 17/22] tests/qapi-schema: Rewrite simple union TestIfUnion to be flat, Markus Armbruster, 2021/09/13
- [PATCH 09/22] qapi: Convert simple union ImageInfoSpecific to flat one, Markus Armbruster, 2021/09/13
- [PATCH 19/22] tests/qapi-schema: Drop simple union __org.qemu_x-Union1, Markus Armbruster, 2021/09/13
- [PATCH 13/22] test-qobject-output-visitor: Wean off UserDefListUnion, Markus Armbruster, 2021/09/13