qapi: Move duplicate collision checks to schema check()
commit01cfbaa4c36ecd9f1c7bcbad50c92758e1d147c4
authorEric Blake <eblake@redhat.com>
Wed, 2 Dec 2015 05:20:58 +0000 (1 22:20 -0700)
committerMarkus Armbruster <armbru@redhat.com>
Thu, 17 Dec 2015 07:21:29 +0000 (17 08:21 +0100)
tree331acd61966951feca3191ff1aade763056a2b49
parent893e1f2c5170d54316f1dcf3fefae679175622fc
qapi: Move duplicate collision checks to schema check()

With the recent commit 'qapi: Detect collisions in C member
names', we have two different locations for detecting clashes -
one at parse time, and another at QAPISchema*.check() time.
Remove all of the ad hoc parser checks, and delete associated
code (for example, the global check_member_clash() method is
no longer needed).

Testing this showed that the test union-bad-branch wasn't adding
much: union-clash-branches also exposes the error message when
branches collide, and we've recently fixed things to avoid an
implicit collision with max.  Likewise, the error for
enum-clash-member changes to report our new detection of
upper case in a value name, unless we modify the test to use
all lower case.

The wording of several error messages has changed, but the
change is generally an improvement rather than a regression.

No change to generated code.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <1449033659-25497-15-git-send-email-eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
14 files changed:
scripts/qapi.py
tests/Makefile
tests/qapi-schema/alternate-clash.err
tests/qapi-schema/enum-clash-member.err
tests/qapi-schema/enum-clash-member.json
tests/qapi-schema/flat-union-clash-member.err
tests/qapi-schema/struct-base-clash-deep.err
tests/qapi-schema/struct-base-clash.err
tests/qapi-schema/union-bad-branch.err [deleted file]
tests/qapi-schema/union-bad-branch.exit [deleted file]
tests/qapi-schema/union-bad-branch.json [deleted file]
tests/qapi-schema/union-bad-branch.out [deleted file]
tests/qapi-schema/union-clash-branches.err
tests/qapi-schema/union-clash-branches.json