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]
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))
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),
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):
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()]
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,
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,