[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH RFC v3 26/32] qapi: Introduce a first class 'any
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH RFC v3 26/32] qapi: Introduce a first class 'any' type |
Date: |
Fri, 7 Aug 2015 13:30:21 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 |
On 08/04/2015 09:58 AM, Markus Armbruster wrote:
> It's first class, because unlike '**', it actually works, i.e. doesn't
> require 'gen': false.
>
> '**' will go away next.
>
> Signed-off-by: Markus Armbruster <address@hidden>
> Reviewed-by: Eric Blake <address@hidden>
> ---
> @@ -1039,8 +1040,7 @@ class QAPISchema(object):
>
> def _def_builtin_type(self, name, json_type, c_type, c_null):
> self._def_entity(QAPISchemaBuiltinType(name, json_type, c_type,
> c_null))
> - if name != '**':
> - self._make_array_type(name) # TODO really needed?
> + self._make_array_type(name) # TODO really needed?
Do we really want to allow ['any'] in schemata? That would imply the
possibility of a 2D array.
> +++ b/tests/qapi-schema/qapi-schema-test.json
> @@ -83,6 +83,8 @@
> 'returns': 'UserDefTwo' }
> { 'command': 'user_def_cmd3', 'data': {'a': 'int', '*b': 'int' },
> 'returns': 'int' }
> +# note: command name 'guest-sync' chosen to avoid "cannot use built-in" error
> +{ 'command': 'guest-sync', 'data': { 'arg': 'any' }, 'returns': 'any' }
>
In particular, if we DO want to allow it, this file should be enhanced
to include ['any'] in the UserDefNativeListUnion.
As it is, JSON allows mixed-type arrays, but all our uses of QList are
fixed-type (all elements share the same type); allowing an array of any
element may prove to be problematic.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- Re: [Qemu-devel] [PATCH RFC v3 32/32] qapi-introspect: Hide type names, (continued)
- [Qemu-devel] [PATCH RFC v3 29/32] qapi: Pseudo-type '**' is now unused, drop it, Markus Armbruster, 2015/08/04
- [Qemu-devel] [PATCH RFC v3 24/32] qapi-commands: De-duplicate output marshaling functions, Markus Armbruster, 2015/08/04
- [Qemu-devel] [PATCH RFC v3 17/32] Revert "qapi: Generate comments to simplify splitting for review", Markus Armbruster, 2015/08/04
- [Qemu-devel] [PATCH RFC v3 16/32] qapi: Generate comments to simplify splitting for review, Markus Armbruster, 2015/08/04
- [Qemu-devel] [PATCH RFC v3 26/32] qapi: Introduce a first class 'any' type, Markus Armbruster, 2015/08/04
- Re: [Qemu-devel] [PATCH RFC v3 26/32] qapi: Introduce a first class 'any' type,
Eric Blake <=
- [Qemu-devel] [PATCH RFC v3 19/32] qapi: Clean up after recent conversions to QAPISchemaVisitor, Markus Armbruster, 2015/08/04
- [Qemu-devel] [PATCH RFC v3 22/32] qapi: Rename qmp_marshal_input_FOO() to qmp_marshal_FOO(), Markus Armbruster, 2015/08/04
- [Qemu-devel] [PATCH RFC v3 30/32] qapi: New QMP command query-schema for QMP schema introspection, Markus Armbruster, 2015/08/04