This website requires JavaScript.
Explore
Help
Sign In
openkylin
/
qemu
mirror of
https://gitee.com/openkylin/qemu.git
Watch
9
Star
0
Fork
You've already forked qemu
0
Code
Issues
Projects
Releases
Wiki
Activity
f6f56291de
qemu
/
tests
/
qapi-schema
/
redefined-builtin.json
3 lines
97 B
JSON
Raw
Normal View
History
Unescape
Escape
qapi: Better error messages for duplicated expressions The previous commit demonstrated that the generator overlooked duplicate expressions: - a complex type or command reusing a built-in type name - redeclaration of a type name, whether by the same or different metatype - redeclaration of a command or event - collision of a type with implicit 'Kind' enum for a union - collision with an implicit MAX enum constant Since the c_type() function in the generator treats all names as being in the same namespace, this patch adds a global array to track all known names and their source, to prevent collisions before it can cause further problems. While valid .json files won't trigger any of these cases, we might as well be nicer to developers that make a typo while trying to add new QAPI code. Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
2015-05-04 23:05:17 +08:00
#
w
e
r
e
j
e
c
t
t
y
p
e
s
t
h
a
t
d
u
p
l
i
c
a
t
e
b
u
i
l
t
i
n
n
a
m
e
s
qapi: Use 'struct' instead of 'type' in schema Referring to "type" as both a meta-type (built-in, enum, union, alternate, or struct) and a specific type (the name that the schema uses for declaring structs) is confusing. Do the bulk of the conversion to "struct" in qapi schema, with a fairly mechanical: for f in `find -name '*.json'; do sed -i "s/'type'/'struct'/"; done followed by manually filtering out the places where we have a 'type' embedded in 'data'. Then tweak a couple of tests whose output changes slightly due to longer lines. I also verified that the generated files for QMP and QGA (such as qmp-commands.h) are the same before and after, as assurance that I didn't leave in any accidental member name changes. Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
2015-05-04 23:05:27 +08:00
{
'
s
t
r
u
c
t
'
:
'
s
i
z
e
'
,
'
d
a
t
a
'
:
{
'
m
y
i
n
t
'
:
'
s
i
z
e
'
}
}