From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Subject: [PULL 17/30] qapi/schema: Change _make_features() to a take feature list
Date: Tue, 17 Mar 2020 22:01:02 +0100 [thread overview]
Message-ID: <20200317210115.8864-18-armbru@redhat.com> (raw)
In-Reply-To: <20200317210115.8864-1-armbru@redhat.com>
QAPISchema._make_features() takes a definition expression, and
extracts its 'features' member. The other ._make_FOO() leave
destructuring expressions to their callers. Change ._make_features()
to match them.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200317115459.31821-17-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
---
scripts/qapi/schema.py | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
index 958756ecd6..4d8ad67303 100644
--- a/scripts/qapi/schema.py
+++ b/scripts/qapi/schema.py
@@ -904,8 +904,9 @@ class QAPISchema:
self._def_entity(QAPISchemaEnumType('QType', None, None, None, None,
qtype_values, 'QTYPE'))
- def _make_features(self, expr, info):
- features = expr.get('features', [])
+ def _make_features(self, features, info):
+ if features is None:
+ return []
return [QAPISchemaFeature(f['name'], info, f.get('if'))
for f in features]
@@ -955,7 +956,7 @@ class QAPISchema:
data = expr['data']
prefix = expr.get('prefix')
ifcond = expr.get('if')
- features = self._make_features(expr, info)
+ features = self._make_features(expr.get('features'), info)
self._def_entity(QAPISchemaEnumType(
name, info, doc, ifcond, features,
self._make_enum_members(data, info), prefix))
@@ -979,7 +980,7 @@ class QAPISchema:
base = expr.get('base')
data = expr['data']
ifcond = expr.get('if')
- features = self._make_features(expr, info)
+ features = self._make_features(expr.get('features'), info)
self._def_entity(QAPISchemaObjectType(
name, info, doc, ifcond, features, base,
self._make_members(data, info),
@@ -1002,7 +1003,7 @@ class QAPISchema:
data = expr['data']
base = expr.get('base')
ifcond = expr.get('if')
- features = self._make_features(expr, info)
+ features = self._make_features(expr.get('features'), info)
tag_name = expr.get('discriminator')
tag_member = None
if isinstance(base, dict):
@@ -1032,7 +1033,7 @@ class QAPISchema:
name = expr['alternate']
data = expr['data']
ifcond = expr.get('if')
- features = self._make_features(expr, info)
+ features = self._make_features(expr.get('features'), info)
variants = [self._make_variant(key, value['type'], value.get('if'),
info)
for (key, value) in data.items()]
@@ -1052,7 +1053,7 @@ class QAPISchema:
allow_oob = expr.get('allow-oob', False)
allow_preconfig = expr.get('allow-preconfig', False)
ifcond = expr.get('if')
- features = self._make_features(expr, info)
+ features = self._make_features(expr.get('features'), info)
if isinstance(data, OrderedDict):
data = self._make_implicit_object_type(
name, info, ifcond,
@@ -1070,7 +1071,7 @@ class QAPISchema:
data = expr.get('data')
boxed = expr.get('boxed', False)
ifcond = expr.get('if')
- features = self._make_features(expr, info)
+ features = self._make_features(expr.get('features'), info)
if isinstance(data, OrderedDict):
data = self._make_implicit_object_type(
name, info, ifcond,
--
2.21.1
next prev parent reply other threads:[~2020-03-17 21:12 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-17 21:00 [PULL 00/30] QAPI patches for 2020-03-17 Markus Armbruster
2020-03-17 21:00 ` [PULL 01/30] docs/devel/qapi-code-gen: Fix typo in grammar Markus Armbruster
2020-03-17 21:00 ` [PULL 02/30] qemu-doc: Belatedly document QMP command arg & result deprecation Markus Armbruster
2020-03-17 21:00 ` [PULL 03/30] qapi: Belatedly update doc comment for @wait deprecation Markus Armbruster
2020-03-17 21:00 ` [PULL 04/30] docs/devel/qapi-code-gen: Clarify allow-oob introspection Markus Armbruster
2020-03-17 21:00 ` [PULL 05/30] docs/devel/qapi-code-gen: Document 'features' introspection Markus Armbruster
2020-03-17 21:00 ` [PULL 06/30] tests/test-qmp-cmds: Factor out qmp_dispatch() test helpers Markus Armbruster
2020-03-17 21:00 ` [PULL 07/30] tests/test-qmp-cmds: Check responses more thoroughly Markus Armbruster
2020-03-17 21:00 ` [PULL 08/30] tests/test-qmp-cmds: Simplify test data setup Markus Armbruster
2020-03-17 21:00 ` [PULL 09/30] tests/test-qmp-event: " Markus Armbruster
2020-03-17 21:00 ` [PULL 10/30] tests/test-qmp-event: Use qobject_is_equal() Markus Armbruster
2020-03-17 21:00 ` [PULL 11/30] tests/test-qmp-event: Check event is actually emitted Markus Armbruster
2020-03-17 21:00 ` [PULL 12/30] qapi/schema: Clean up around QAPISchemaEntity.connect_doc() Markus Armbruster
2020-03-17 21:00 ` [PULL 13/30] qapi: Add feature flags to remaining definitions Markus Armbruster
2020-03-17 21:00 ` [PULL 14/30] qapi: Consistently put @features parameter right after @ifcond Markus Armbruster
2020-03-17 21:01 ` [PULL 15/30] qapi/introspect: Rename *qlit* to reduce confusion Markus Armbruster
2020-03-17 21:01 ` [PULL 16/30] qapi/introspect: Factor out _make_tree() Markus Armbruster
2020-03-17 21:01 ` Markus Armbruster [this message]
2020-03-17 21:01 ` [PULL 18/30] qapi/schema: Reorder classes so related ones are together Markus Armbruster
2020-03-17 21:01 ` [PULL 19/30] qapi/schema: Rename QAPISchemaObjectType{Variant, Variants} Markus Armbruster
2020-03-17 21:01 ` [PULL 20/30] qapi/schema: Call QAPIDoc.connect_member() in just one place Markus Armbruster
2020-03-17 21:01 ` [PULL 21/30] qapi: Add feature flags to struct members Markus Armbruster
2020-03-17 21:01 ` [PULL 22/30] qapi: Inline do_qmp_dispatch() into qmp_dispatch() Markus Armbruster
2020-03-17 21:01 ` [PULL 23/30] qapi: Simplify how qmp_dispatch() deals with QCO_NO_SUCCESS_RESP Markus Armbruster
2020-03-17 21:01 ` [PULL 24/30] qapi: Simplify how qmp_dispatch() gets the request ID Markus Armbruster
2020-03-17 21:01 ` [PULL 25/30] qapi: Replace qmp_dispatch()'s TODO comment by an explanation Markus Armbruster
2020-03-17 21:01 ` [PULL 26/30] qapi: New special feature flag "deprecated" Markus Armbruster
2020-03-17 21:01 ` [PULL 27/30] qapi: Mark deprecated QMP parts with feature 'deprecated' Markus Armbruster
2020-03-17 21:01 ` [PULL 28/30] qmp: constify QmpCommand and list Markus Armbruster
2020-03-17 21:01 ` [PULL 29/30] net: Complete qapi-fication of netdev_add Markus Armbruster
2020-03-17 21:01 ` [PULL 30/30] net: Track netdevs in NetClientState rather than QemuOpt Markus Armbruster
2020-03-19 11:00 ` [PULL 00/30] QAPI patches for 2020-03-17 Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200317210115.8864-18-armbru@redhat.com \
--to=armbru@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).