mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-02-02 09:20:59 +00:00
qapi: Command returning anonymous type doesn't work, outlaw
Reproducer: with { 'command': 'user_def_cmd4', 'returns': { 'a': 'int' } } added to qapi-schema-test.json, qapi-commands.py dies when it tries to generate the command handler function Traceback (most recent call last): File "/work/armbru/qemu/scripts/qapi-commands.py", line 359, in <module> ret = generate_command_decl(cmd['command'], arglist, ret_type) + "\n" File "/work/armbru/qemu/scripts/qapi-commands.py", line 29, in generate_command_decl ret_type=c_type(ret_type), name=c_name(name), File "/work/armbru/qemu/scripts/qapi.py", line 927, in c_type assert isinstance(value, str) and value != "" AssertionError because the return type doesn't exist. Simply outlaw this usage, and drop or dumb down test cases accordingly. Backports commit 9b090d42aea9a0abbf39a1d75561a186057b5fe6 from qemu
This commit is contained in:
parent
8d992dfa48
commit
c5e8b70b5a
|
@ -504,7 +504,7 @@ def check_command(expr, expr_info):
|
|||
if name in returns_whitelist:
|
||||
returns_meta += ['built-in', 'alternate', 'enum']
|
||||
check_type(expr_info, "'returns' for command '%s'" % name,
|
||||
expr.get('returns'), allow_array=True, allow_dict=True,
|
||||
expr.get('returns'), allow_array=True,
|
||||
allow_optional=True, allow_metas=returns_meta,
|
||||
allow_star=allow_star)
|
||||
|
||||
|
|
Loading…
Reference in a new issue