diff options
author | Eric Blake <eblake@redhat.com> | 2015-05-04 09:05:10 -0600 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2015-05-05 18:39:00 +0200 |
commit | 811d04fd0cff1229480d3f5b2e349f646ab6e3c1 (patch) | |
tree | 8b0b2ef12caafd0fdea6dd560835cd96f7bf7111 /tests/qapi-schema | |
parent | 268a1c5eb10832c2e4476d3fe199ea547dabecb7 (diff) | |
download | qemu-811d04fd0cff1229480d3f5b2e349f646ab6e3c1.zip qemu-811d04fd0cff1229480d3f5b2e349f646ab6e3c1.tar.gz qemu-811d04fd0cff1229480d3f5b2e349f646ab6e3c1.tar.bz2 |
qapi: Segregate anonymous unions into alternates in generator
Special-casing 'discriminator == {}' for handling anonymous unions
is getting awkward; since this particular type is not always a
dictionary on the wire, it is easier to treat it as a completely
different class of type, "alternate", so that if a type is listed
in the union_types array, we know it is not an anonymous union.
This patch just further segregates union handling, to make sure that
anonymous unions are not stored in union_types, and splitting up
check_union() into separate functions. A future patch will change
the qapi grammar, and having the segregation already in place will
make it easier to deal with the distinct meta-type.
Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'tests/qapi-schema')
-rw-r--r-- | tests/qapi-schema/alternate-base.err | 2 | ||||
-rw-r--r-- | tests/qapi-schema/alternate-clash.err | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/tests/qapi-schema/alternate-base.err b/tests/qapi-schema/alternate-base.err index 85595b2..a2486b8 100644 --- a/tests/qapi-schema/alternate-base.err +++ b/tests/qapi-schema/alternate-base.err @@ -1 +1 @@ -tests/qapi-schema/alternate-base.json:4: Union 'MyUnion' must not have a base +tests/qapi-schema/alternate-base.json:4: Anonymous union 'MyUnion' must not have a base diff --git a/tests/qapi-schema/alternate-clash.err b/tests/qapi-schema/alternate-clash.err index 1130c12..8949f52 100644 --- a/tests/qapi-schema/alternate-clash.err +++ b/tests/qapi-schema/alternate-clash.err @@ -1 +1 @@ -tests/qapi-schema/alternate-clash.json:2: Union 'Union1' member 'ONE' clashes with 'one' +tests/qapi-schema/alternate-clash.json:2: Anonymous union 'Union1' member 'ONE' clashes with 'one' |