qapi: Report invalid '*' prefix like any other invalid name
The special "does not allow optional name" error is well meant, but confusing in practice. Drop it. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20190927134639.4284-12-armbru@redhat.com>
This commit is contained in:
parent
6ba1ba7f0e
commit
64e04f7149
@ -724,11 +724,8 @@ def check_name_str(name, info, source,
|
||||
global valid_name
|
||||
membername = name
|
||||
|
||||
if name.startswith('*'):
|
||||
if allow_optional and name.startswith('*'):
|
||||
membername = name[1:]
|
||||
if not allow_optional:
|
||||
raise QAPISemError(info, "%s does not allow optional name '%s'"
|
||||
% (source, name))
|
||||
# Enum members can start with a digit, because the generated C
|
||||
# code always prefixes it with the enum name
|
||||
if enum_member and membername[0].isdigit():
|
||||
@ -741,6 +738,7 @@ def check_name_str(name, info, source,
|
||||
if not permit_upper and name.lower() != name:
|
||||
raise QAPISemError(
|
||||
info, "%s uses uppercase in name '%s'" % (source, name))
|
||||
assert not membername.startswith('*')
|
||||
|
||||
|
||||
def add_name(name, info, meta):
|
||||
|
@ -1,2 +1,2 @@
|
||||
tests/qapi-schema/bad-ident.json: In struct '*oops':
|
||||
tests/qapi-schema/bad-ident.json:2: 'struct' does not allow optional name '*oops'
|
||||
tests/qapi-schema/bad-ident.json:2: 'struct' uses invalid name '*oops'
|
||||
|
@ -1,2 +1,2 @@
|
||||
tests/qapi-schema/flat-union-discriminator-bad-name.json: In union 'MyUnion':
|
||||
tests/qapi-schema/flat-union-discriminator-bad-name.json:7: discriminator of flat union 'MyUnion' does not allow optional name '*switch'
|
||||
tests/qapi-schema/flat-union-discriminator-bad-name.json:7: discriminator of flat union 'MyUnion' uses invalid name '*switch'
|
||||
|
@ -1,5 +1,5 @@
|
||||
# discriminator '*switch' isn't a member of base, 'switch' is
|
||||
# reports "does not allow optional name", which is good enough
|
||||
# reports "uses invalid name", which is good enough
|
||||
{ 'enum': 'Enum', 'data': [ 'one', 'two' ] }
|
||||
{ 'struct': 'Base',
|
||||
'data': { '*switch': 'Enum' } }
|
||||
|
@ -1,2 +1,2 @@
|
||||
tests/qapi-schema/union-optional-branch.json: In union 'Union':
|
||||
tests/qapi-schema/union-optional-branch.json:2: member of union 'Union' does not allow optional name '*a'
|
||||
tests/qapi-schema/union-optional-branch.json:2: member of union 'Union' uses invalid name '*a'
|
||||
|
Loading…
Reference in New Issue
Block a user