[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 16/30] qapi/schema: Change _make_features() to a take feature
From: |
Markus Armbruster |
Subject: |
[PATCH v2 16/30] qapi/schema: Change _make_features() to a take feature list |
Date: |
Tue, 3 Mar 2020 17:34:51 +0100 |
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 <address@hidden>
---
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 e3353989e9..2ab6dc67e4 100644
--- a/scripts/qapi/schema.py
+++ b/scripts/qapi/schema.py
@@ -905,8 +905,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]
@@ -956,7 +957,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))
@@ -980,7 +981,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),
@@ -1003,7 +1004,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):
@@ -1033,7 +1034,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()]
@@ -1053,7 +1054,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,
@@ -1071,7 +1072,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
- [PATCH v2 00/30] Configurable policy for handling deprecated interfaces, Markus Armbruster, 2020/03/03
- [PATCH v2 02/30] qapi: Belatedly update doc comment for @wait deprecation, Markus Armbruster, 2020/03/03
- [PATCH v2 10/30] tests/test-qmp-event: Check event is actually emitted, Markus Armbruster, 2020/03/03
- [PATCH v2 09/30] tests/test-qmp-event: Use qobject_is_equal(), Markus Armbruster, 2020/03/03
- [PATCH v2 16/30] qapi/schema: Change _make_features() to a take feature list,
Markus Armbruster <=
- [PATCH v2 19/30] qapi/schema: Call QAPIDoc.connect_member() in just one place, Markus Armbruster, 2020/03/03
- [PATCH v2 13/30] qapi: Consistently put @features parameter right after @ifcond, Markus Armbruster, 2020/03/03
- [PATCH v2 04/30] docs/devel/qapi-code-gen: Document 'features' introspection, Markus Armbruster, 2020/03/03
- [PATCH v2 05/30] tests/test-qmp-cmds: Factor out qmp_dispatch() test helpers, Markus Armbruster, 2020/03/03
- [PATCH v2 11/30] qapi/schema: Clean up around QAPISchemaEntity.connect_doc(), Markus Armbruster, 2020/03/03
- [PATCH v2 24/30] qapi: Replace qmp_dispatch()'s TODO comment by an explanation, Markus Armbruster, 2020/03/03
- [PATCH v2 03/30] docs/devel/qapi-code-gen: Clarify allow-oob introspection, Markus Armbruster, 2020/03/03
- [PATCH v2 25/30] qapi: New special feature flag "deprecated", Markus Armbruster, 2020/03/03
- [PATCH v2 27/30] qemu-options: New -compat to set policy for deprecated interfaces, Markus Armbruster, 2020/03/03
- [PATCH v2 07/30] tests/test-qmp-cmds: Simplify test data setup, Markus Armbruster, 2020/03/03