qapi: Fold normalize_features() into check_features()

check_features() is always called together with normalize_features():
the former in check_struct() and check_command(), the latter in their
caller check_exprs().  Fold the latter into the former.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20191024110237.30963-16-armbru@redhat.com>
This commit is contained in:
Markus Armbruster 2019-10-24 13:02:33 +02:00
parent c145bfda18
commit 2ce51ef68f
1 changed files with 2 additions and 8 deletions

View File

@ -173,17 +173,13 @@ def check_type(value, info, source,
check_type(arg['type'], info, key_source, allow_array=True) check_type(arg['type'], info, key_source, allow_array=True)
def normalize_features(features):
if isinstance(features, list):
features[:] = [f if isinstance(f, dict) else {'name': f}
for f in features]
def check_features(features, info): def check_features(features, info):
if features is None: if features is None:
return return
if not isinstance(features, list): if not isinstance(features, list):
raise QAPISemError(info, "'features' must be an array") raise QAPISemError(info, "'features' must be an array")
features[:] = [f if isinstance(f, dict) else {'name': f}
for f in features]
for f in features: for f in features:
source = "'features' member" source = "'features' member"
assert isinstance(f, dict) assert isinstance(f, dict)
@ -347,7 +343,6 @@ def check_exprs(exprs):
check_keys(expr, info, meta, check_keys(expr, info, meta,
['struct', 'data'], ['base', 'if', 'features']) ['struct', 'data'], ['base', 'if', 'features'])
normalize_members(expr['data']) normalize_members(expr['data'])
normalize_features(expr.get('features'))
check_struct(expr, info) check_struct(expr, info)
elif meta == 'command': elif meta == 'command':
check_keys(expr, info, meta, check_keys(expr, info, meta,
@ -356,7 +351,6 @@ def check_exprs(exprs):
'gen', 'success-response', 'allow-oob', 'gen', 'success-response', 'allow-oob',
'allow-preconfig']) 'allow-preconfig'])
normalize_members(expr.get('data')) normalize_members(expr.get('data'))
normalize_features(expr.get('features'))
check_command(expr, info) check_command(expr, info)
elif meta == 'event': elif meta == 'event':
check_keys(expr, info, meta, check_keys(expr, info, meta,