All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Subject: [PULL 12/27] qapi: Report invalid '*' prefix like any other invalid name
Date: Sat, 28 Sep 2019 20:39:19 +0200	[thread overview]
Message-ID: <20190928183934.12459-13-armbru@redhat.com> (raw)
In-Reply-To: <20190928183934.12459-1-armbru@redhat.com>

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>
---
 scripts/qapi/common.py                                   | 6 ++----
 tests/qapi-schema/bad-ident.err                          | 2 +-
 tests/qapi-schema/flat-union-discriminator-bad-name.err  | 2 +-
 tests/qapi-schema/flat-union-discriminator-bad-name.json | 2 +-
 tests/qapi-schema/union-optional-branch.err              | 2 +-
 5 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py
index d0d997f31c..a4cf41f13e 100644
--- a/scripts/qapi/common.py
+++ b/scripts/qapi/common.py
@@ -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):
diff --git a/tests/qapi-schema/bad-ident.err b/tests/qapi-schema/bad-ident.err
index 6878889854..ddc96bd3a9 100644
--- a/tests/qapi-schema/bad-ident.err
+++ b/tests/qapi-schema/bad-ident.err
@@ -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'
diff --git a/tests/qapi-schema/flat-union-discriminator-bad-name.err b/tests/qapi-schema/flat-union-discriminator-bad-name.err
index f7f64c5c1a..44e41883b1 100644
--- a/tests/qapi-schema/flat-union-discriminator-bad-name.err
+++ b/tests/qapi-schema/flat-union-discriminator-bad-name.err
@@ -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'
diff --git a/tests/qapi-schema/flat-union-discriminator-bad-name.json b/tests/qapi-schema/flat-union-discriminator-bad-name.json
index 66376084fc..ea84b75cac 100644
--- a/tests/qapi-schema/flat-union-discriminator-bad-name.json
+++ b/tests/qapi-schema/flat-union-discriminator-bad-name.json
@@ -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' } }
diff --git a/tests/qapi-schema/union-optional-branch.err b/tests/qapi-schema/union-optional-branch.err
index a5677f74bc..8e9b18d7c6 100644
--- a/tests/qapi-schema/union-optional-branch.err
+++ b/tests/qapi-schema/union-optional-branch.err
@@ -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'
-- 
2.21.0



  parent reply	other threads:[~2019-09-28 18:54 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-28 18:39 [PULL 00/27] QAPI patches for 2019-09-28 Markus Armbruster
2019-09-28 18:39 ` [PULL 01/27] qmp-dispatch: Use CommandNotFound error for disabled commands Markus Armbruster
2019-09-28 18:39 ` [PULL 02/27] qapi: Tighten QAPISchemaFOO.check() assertions Markus Armbruster
2019-09-28 18:39 ` [PULL 03/27] qapi: Rename .owner to .defined_in Markus Armbruster
2019-09-28 18:39 ` [PULL 04/27] qapi: New QAPISourceInfo, replacing dict Markus Armbruster
2019-09-28 18:39 ` [PULL 05/27] qapi: Prefix frontend errors with an "in definition" line Markus Armbruster
2019-09-28 18:39 ` [PULL 06/27] qapi: Clean up member name case checking Markus Armbruster
2019-09-28 18:39 ` [PULL 07/27] qapi: Change frontend error messages to start with lower case Markus Armbruster
2019-09-28 18:39 ` [PULL 08/27] qapi: Improve reporting of member name clashes Markus Armbruster
2019-09-28 18:39 ` [PULL 09/27] qapi: Reorder check_FOO() parameters for consistency Markus Armbruster
2019-09-28 18:39 ` [PULL 10/27] qapi: Improve reporting of invalid name errors Markus Armbruster
2019-09-28 18:39 ` [PULL 11/27] qapi: Use check_name_str() where it suffices Markus Armbruster
2019-09-28 18:39 ` Markus Armbruster [this message]
2019-09-28 18:39 ` [PULL 13/27] qapi: Move check for reserved names out of add_name() Markus Armbruster
2019-09-28 18:39 ` [PULL 14/27] qapi: Make check_type()'s array case a bit more obvious Markus Armbruster
2019-09-28 18:39 ` [PULL 15/27] qapi: Plumb info to the QAPISchemaMember Markus Armbruster
2019-09-28 18:39 ` [PULL 16/27] qapi: Inline check_name() into check_union() Markus Armbruster
2019-09-28 18:39 ` [PULL 17/27] qapi: Move context-sensitive checking to the proper place Markus Armbruster
2019-09-28 18:39 ` [PULL 18/27] qapi: Move context-free " Markus Armbruster
2019-09-28 18:39 ` [PULL 19/27] qapi: Improve reporting of invalid 'if' errors Markus Armbruster
2019-09-28 18:39 ` [PULL 20/27] qapi: Improve reporting of invalid flags Markus Armbruster
2019-09-28 18:39 ` [PULL 21/27] qapi: Improve reporting of missing / unknown definition keys Markus Armbruster
2019-09-28 18:39 ` [PULL 22/27] qapi: Avoid redundant definition references in error messages Markus Armbruster
2019-09-28 18:39 ` [PULL 23/27] qapi: Improve reporting of invalid 'if' further Markus Armbruster
2019-09-28 18:39 ` [PULL 24/27] qapi: Eliminate check_keys(), rename check_known_keys() Markus Armbruster
2019-09-28 18:39 ` [PULL 25/27] qapi: Improve reporting of missing documentation comment Markus Armbruster
2019-09-28 18:39 ` [PULL 26/27] qapi: Improve reporting of redefinition Markus Armbruster
2019-09-28 18:39 ` [PULL 27/27] qapi: Improve source file read error handling Markus Armbruster
2019-09-30 10:48 ` [PULL 00/27] QAPI patches for 2019-09-28 Peter Maydell
2019-10-01 12:13   ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190928183934.12459-13-armbru@redhat.com \
    --to=armbru@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.