mirror of https://github.com/xemu-project/xemu.git
qapi: Adjust frontend errors to say enum value, not member
For consistency with docs/devel/qapi-code-gen.txt. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20190913201349.24332-12-armbru@redhat.com>
This commit is contained in:
parent
0ced9531f1
commit
398969fe1c
|
@ -1340,7 +1340,7 @@ class QAPISchemaEnumType(QAPISchemaType):
|
|||
def __init__(self, name, info, doc, ifcond, members, prefix):
|
||||
QAPISchemaType.__init__(self, name, info, doc, ifcond)
|
||||
for m in members:
|
||||
assert isinstance(m, QAPISchemaMember)
|
||||
assert isinstance(m, QAPISchemaEnumMember)
|
||||
m.set_owner(name)
|
||||
assert prefix is None or isinstance(prefix, str)
|
||||
self.members = members
|
||||
|
@ -1551,6 +1551,10 @@ class QAPISchemaMember(object):
|
|||
return "'%s' %s" % (self.name, self._pretty_owner())
|
||||
|
||||
|
||||
class QAPISchemaEnumMember(QAPISchemaMember):
|
||||
role = 'value'
|
||||
|
||||
|
||||
class QAPISchemaFeature(QAPISchemaMember):
|
||||
role = 'feature'
|
||||
|
||||
|
@ -1807,7 +1811,8 @@ class QAPISchema(object):
|
|||
return [QAPISchemaFeature(f['name'], f.get('if')) for f in features]
|
||||
|
||||
def _make_enum_members(self, values):
|
||||
return [QAPISchemaMember(v['name'], v.get('if')) for v in values]
|
||||
return [QAPISchemaEnumMember(v['name'], v.get('if'))
|
||||
for v in values]
|
||||
|
||||
def _make_implicit_enum_type(self, name, info, ifcond, values):
|
||||
# See also QAPISchemaObjectTypeMember._pretty_owner()
|
||||
|
@ -2223,7 +2228,7 @@ const QEnumLookup %(c_name)s_lookup = {
|
|||
|
||||
def gen_enum(name, members, prefix=None):
|
||||
# append automatically generated _MAX value
|
||||
enum_members = members + [QAPISchemaMember('_MAX')]
|
||||
enum_members = members + [QAPISchemaEnumMember('_MAX')]
|
||||
|
||||
ret = mcgen('''
|
||||
|
||||
|
|
|
@ -194,7 +194,7 @@ void %(event_emit)s(%(event_enum)s event, QDict *qdict);
|
|||
self._event_emit_name))
|
||||
# Note: we generate the enum member regardless of @ifcond, to
|
||||
# keep the enumeration usable in target-independent code.
|
||||
self._event_enum_members.append(QAPISchemaMember(name))
|
||||
self._event_enum_members.append(QAPISchemaEnumMember(name))
|
||||
|
||||
|
||||
def gen_events(schema, output_dir, prefix):
|
||||
|
|
|
@ -1 +1 @@
|
|||
tests/qapi-schema/enum-clash-member.json:2: 'one_two' (member of MyEnum) collides with 'one-two' (member of MyEnum)
|
||||
tests/qapi-schema/enum-clash-member.json:2: 'one_two' (value of MyEnum) collides with 'one-two' (value of MyEnum)
|
||||
|
|
|
@ -1 +1 @@
|
|||
tests/qapi-schema/enum-member-case.json:4: 'Value' (member of NoWayThisWillGetWhitelisted) should not use uppercase
|
||||
tests/qapi-schema/enum-member-case.json:4: 'Value' (value of NoWayThisWillGetWhitelisted) should not use uppercase
|
||||
|
|
Loading…
Reference in New Issue