mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 20:33:54 -06:00
qapi: Hide tag_name data member of variants
Clean up the only remaining external use of the tag_name field of QAPISchemaObjectTypeVariants, by explicitly listing the generated 'type' tag for all variants in the testsuite (you can still tell simple unions by the -wrapper types). Then we can mark the tag_name field as private by adding a leading underscore to prevent any further use. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <1468468228-27827-5-git-send-email-eblake@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
cd50a25645
commit
da9cb19385
3 changed files with 15 additions and 6 deletions
|
@ -1093,7 +1093,7 @@ class QAPISchemaObjectTypeVariants(object):
|
|||
assert len(variants) > 0
|
||||
for v in variants:
|
||||
assert isinstance(v, QAPISchemaObjectTypeVariant)
|
||||
self.tag_name = tag_name
|
||||
self._tag_name = tag_name
|
||||
self.tag_member = tag_member
|
||||
self.variants = variants
|
||||
|
||||
|
@ -1103,8 +1103,8 @@ class QAPISchemaObjectTypeVariants(object):
|
|||
|
||||
def check(self, schema, seen):
|
||||
if not self.tag_member: # flat union
|
||||
self.tag_member = seen[c_name(self.tag_name)]
|
||||
assert self.tag_name == self.tag_member.name
|
||||
self.tag_member = seen[c_name(self._tag_name)]
|
||||
assert self._tag_name == self.tag_member.name
|
||||
assert isinstance(self.tag_member.type, QAPISchemaEnumType)
|
||||
for v in self.variants:
|
||||
v.check(schema)
|
||||
|
@ -1134,7 +1134,7 @@ class QAPISchemaAlternateType(QAPISchemaType):
|
|||
def __init__(self, name, info, variants):
|
||||
QAPISchemaType.__init__(self, name, info)
|
||||
assert isinstance(variants, QAPISchemaObjectTypeVariants)
|
||||
assert not variants.tag_name
|
||||
assert variants.tag_member
|
||||
variants.set_owner(name)
|
||||
variants.tag_member.set_owner(self.name)
|
||||
self.variants = variants
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue