mirror of https://gitee.com/openkylin/qemu.git
qapi: Drop unused and useless parameters and variables
gen_sync_call()'s parameter indent is useless: gen_sync_call() uses it only as optional argument for push_indent() and pop_indent(), their default is four, and gen_sync_call()'s only caller passes four. Drop the parameter. gen_visitor_input_containers_decl()'s parameter obj is always "QOBJECT(args)". Use that, and drop the parameter. Drop unused parameters of gen_marshal_output(), gen_marshal_input_decl(), generate_visit_struct_body(), generate_visit_list(), generate_visit_enum(), generate_declaration(), generate_enum_declaration(), generate_decl_enum(). Drop unused variables in generate_event_enum_lookup(), generate_enum_lookup(), generate_visit_struct_fields(), check_event(). Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
1cf47a15f1
commit
5aa05d3f72
|
@ -38,7 +38,7 @@ def gen_err_check(errvar):
|
|||
''')
|
||||
return ''
|
||||
|
||||
def gen_sync_call(name, args, ret_type, indent=0):
|
||||
def gen_sync_call(name, args, ret_type):
|
||||
ret = ""
|
||||
arglist=""
|
||||
retval=""
|
||||
|
@ -48,7 +48,7 @@ def gen_sync_call(name, args, ret_type, indent=0):
|
|||
if optional:
|
||||
arglist += "has_%s, " % c_name(argname)
|
||||
arglist += "%s, " % (c_name(argname))
|
||||
push_indent(indent)
|
||||
push_indent()
|
||||
ret = mcgen('''
|
||||
%(retval)sqmp_%(name)s(%(args)s&local_err);
|
||||
|
||||
|
@ -60,7 +60,7 @@ def gen_sync_call(name, args, ret_type, indent=0):
|
|||
%(marshal_output_call)s
|
||||
''',
|
||||
marshal_output_call=gen_marshal_output_call(name, ret_type)).rstrip()
|
||||
pop_indent(indent)
|
||||
pop_indent()
|
||||
return ret.rstrip()
|
||||
|
||||
|
||||
|
@ -69,17 +69,16 @@ def gen_marshal_output_call(name, ret_type):
|
|||
return ""
|
||||
return "qmp_marshal_output_%s(retval, ret, &local_err);" % c_name(name)
|
||||
|
||||
def gen_visitor_input_containers_decl(args, obj):
|
||||
def gen_visitor_input_containers_decl(args):
|
||||
ret = ""
|
||||
|
||||
push_indent()
|
||||
if len(args) > 0:
|
||||
ret += mcgen('''
|
||||
QmpInputVisitor *mi = qmp_input_visitor_new_strict(%(obj)s);
|
||||
QmpInputVisitor *mi = qmp_input_visitor_new_strict(QOBJECT(args));
|
||||
QapiDeallocVisitor *md;
|
||||
Visitor *v;
|
||||
''',
|
||||
obj=obj)
|
||||
''')
|
||||
pop_indent()
|
||||
|
||||
return ret.rstrip()
|
||||
|
@ -161,7 +160,7 @@ def gen_visitor_input_block(args, dealloc=False):
|
|||
pop_indent()
|
||||
return ret.rstrip()
|
||||
|
||||
def gen_marshal_output(name, args, ret_type, middle_mode):
|
||||
def gen_marshal_output(name, ret_type):
|
||||
if not ret_type:
|
||||
return ""
|
||||
|
||||
|
@ -194,14 +193,14 @@ def gen_marshal_output(name, args, ret_type, middle_mode):
|
|||
|
||||
return ret
|
||||
|
||||
def gen_marshal_input_decl(name, args, ret_type, middle_mode):
|
||||
def gen_marshal_input_decl(name, middle_mode):
|
||||
ret = 'void qmp_marshal_input_%s(QDict *args, QObject **ret, Error **errp)' % c_name(name)
|
||||
if not middle_mode:
|
||||
ret = "static " + ret
|
||||
return ret
|
||||
|
||||
def gen_marshal_input(name, args, ret_type, middle_mode):
|
||||
hdr = gen_marshal_input_decl(name, args, ret_type, middle_mode)
|
||||
hdr = gen_marshal_input_decl(name, middle_mode)
|
||||
|
||||
ret = mcgen('''
|
||||
%(header)s
|
||||
|
@ -228,7 +227,7 @@ def gen_marshal_input(name, args, ret_type, middle_mode):
|
|||
%(visitor_input_block)s
|
||||
|
||||
''',
|
||||
visitor_input_containers_decl=gen_visitor_input_containers_decl(args, "QOBJECT(args)"),
|
||||
visitor_input_containers_decl=gen_visitor_input_containers_decl(args),
|
||||
visitor_input_vars_decl=gen_visitor_input_vars_decl(args),
|
||||
visitor_input_block=gen_visitor_input_block(args))
|
||||
else:
|
||||
|
@ -240,7 +239,7 @@ def gen_marshal_input(name, args, ret_type, middle_mode):
|
|||
ret += mcgen('''
|
||||
%(sync_call)s
|
||||
''',
|
||||
sync_call=gen_sync_call(name, args, ret_type, indent=4))
|
||||
sync_call=gen_sync_call(name, args, ret_type))
|
||||
if re.search('^ *goto out\\;', ret, re.MULTILINE):
|
||||
ret += mcgen('''
|
||||
|
||||
|
@ -360,11 +359,11 @@ def gen_registry(commands):
|
|||
ret = generate_command_decl(cmd['command'], arglist, ret_type) + "\n"
|
||||
fdecl.write(ret)
|
||||
if ret_type:
|
||||
ret = gen_marshal_output(cmd['command'], arglist, ret_type, middle_mode) + "\n"
|
||||
ret = gen_marshal_output(cmd['command'], ret_type) + "\n"
|
||||
fdef.write(ret)
|
||||
|
||||
if middle_mode:
|
||||
fdecl.write('%s;\n' % gen_marshal_input_decl(cmd['command'], arglist, ret_type, middle_mode))
|
||||
fdecl.write('%s;\n' % gen_marshal_input_decl(cmd['command'], middle_mode))
|
||||
|
||||
ret = gen_marshal_input(cmd['command'], arglist, ret_type, middle_mode) + "\n"
|
||||
fdef.write(ret)
|
||||
|
|
|
@ -199,7 +199,6 @@ def generate_event_enum_lookup(event_enum_name, event_enum_strings):
|
|||
''',
|
||||
event_enum_name = event_enum_name)
|
||||
|
||||
i = 0
|
||||
for string in event_enum_strings:
|
||||
ret += mcgen('''
|
||||
"%(string)s",
|
||||
|
|
|
@ -108,7 +108,6 @@ def generate_enum_lookup(name, values):
|
|||
const char * const %(name)s_lookup[] = {
|
||||
''',
|
||||
name=c_name(name))
|
||||
i = 0
|
||||
for value in values:
|
||||
index = c_enum_const(name, value)
|
||||
ret += mcgen('''
|
||||
|
|
|
@ -40,7 +40,6 @@ def generate_visit_implicit_struct(type):
|
|||
c_type=type_name(type))
|
||||
|
||||
def generate_visit_struct_fields(name, members, base = None):
|
||||
substructs = []
|
||||
ret = ''
|
||||
|
||||
if base:
|
||||
|
@ -103,7 +102,7 @@ def generate_visit_struct_fields(name, members, base = None):
|
|||
return ret
|
||||
|
||||
|
||||
def generate_visit_struct_body(name, members):
|
||||
def generate_visit_struct_body(name):
|
||||
ret = mcgen('''
|
||||
Error *err = NULL;
|
||||
|
||||
|
@ -135,14 +134,14 @@ def generate_visit_struct(expr):
|
|||
''',
|
||||
name=c_name(name))
|
||||
|
||||
ret += generate_visit_struct_body(name, members)
|
||||
ret += generate_visit_struct_body(name)
|
||||
|
||||
ret += mcgen('''
|
||||
}
|
||||
''')
|
||||
return ret
|
||||
|
||||
def generate_visit_list(name, members):
|
||||
def generate_visit_list(name):
|
||||
return mcgen('''
|
||||
|
||||
void visit_type_%(name)sList(Visitor *m, %(name)sList **obj, const char *name, Error **errp)
|
||||
|
@ -171,7 +170,7 @@ def generate_visit_list(name, members):
|
|||
''',
|
||||
name=type_name(name))
|
||||
|
||||
def generate_visit_enum(name, members):
|
||||
def generate_visit_enum(name):
|
||||
return mcgen('''
|
||||
|
||||
void visit_type_%(name)s(Visitor *m, %(name)s *obj, const char *name, Error **errp)
|
||||
|
@ -252,7 +251,7 @@ def generate_visit_union(expr):
|
|||
else:
|
||||
# There will always be a discriminator in the C switch code, by default
|
||||
# it is an enum type generated silently
|
||||
ret = generate_visit_enum(name + 'Kind', members.keys())
|
||||
ret = generate_visit_enum(name + 'Kind')
|
||||
disc_type = c_name(name) + 'Kind'
|
||||
|
||||
if base:
|
||||
|
@ -340,7 +339,7 @@ def generate_visit_union(expr):
|
|||
|
||||
return ret
|
||||
|
||||
def generate_declaration(name, members, builtin_type=False):
|
||||
def generate_declaration(name, builtin_type=False):
|
||||
ret = ""
|
||||
if not builtin_type:
|
||||
name = c_name(name)
|
||||
|
@ -357,7 +356,7 @@ def generate_declaration(name, members, builtin_type=False):
|
|||
|
||||
return ret
|
||||
|
||||
def generate_enum_declaration(name, members):
|
||||
def generate_enum_declaration(name):
|
||||
ret = mcgen('''
|
||||
void visit_type_%(name)sList(Visitor *m, %(name)sList **obj, const char *name, Error **errp);
|
||||
''',
|
||||
|
@ -365,7 +364,7 @@ def generate_enum_declaration(name, members):
|
|||
|
||||
return ret
|
||||
|
||||
def generate_decl_enum(name, members):
|
||||
def generate_decl_enum(name):
|
||||
return mcgen('''
|
||||
|
||||
void visit_type_%(name)s(Visitor *m, %(name)s *obj, const char *name, Error **errp);
|
||||
|
@ -433,7 +432,7 @@ def generate_decl_enum(name, members):
|
|||
# for built-in types in our header files and simply guard them
|
||||
fdecl.write(guardstart("QAPI_VISIT_BUILTIN_VISITOR_DECL"))
|
||||
for typename in builtin_types.keys():
|
||||
fdecl.write(generate_declaration(typename, None, builtin_type=True))
|
||||
fdecl.write(generate_declaration(typename, builtin_type=True))
|
||||
fdecl.write(guardend("QAPI_VISIT_BUILTIN_VISITOR_DECL"))
|
||||
|
||||
# ...this doesn't work for cases where we link in multiple objects that
|
||||
|
@ -441,44 +440,42 @@ def generate_decl_enum(name, members):
|
|||
# over these cases
|
||||
if do_builtins:
|
||||
for typename in builtin_types.keys():
|
||||
fdef.write(generate_visit_list(typename, None))
|
||||
fdef.write(generate_visit_list(typename))
|
||||
|
||||
for expr in exprs:
|
||||
if expr.has_key('struct'):
|
||||
ret = generate_visit_struct(expr)
|
||||
ret += generate_visit_list(expr['struct'], expr['data'])
|
||||
ret += generate_visit_list(expr['struct'])
|
||||
fdef.write(ret)
|
||||
|
||||
ret = generate_declaration(expr['struct'], expr['data'])
|
||||
ret = generate_declaration(expr['struct'])
|
||||
fdecl.write(ret)
|
||||
elif expr.has_key('union'):
|
||||
ret = generate_visit_union(expr)
|
||||
ret += generate_visit_list(expr['union'], expr['data'])
|
||||
ret += generate_visit_list(expr['union'])
|
||||
fdef.write(ret)
|
||||
|
||||
enum_define = discriminator_find_enum_define(expr)
|
||||
ret = ""
|
||||
if not enum_define:
|
||||
ret = generate_decl_enum('%sKind' % expr['union'],
|
||||
expr['data'].keys())
|
||||
ret += generate_declaration(expr['union'], expr['data'])
|
||||
ret = generate_decl_enum('%sKind' % expr['union'])
|
||||
ret += generate_declaration(expr['union'])
|
||||
fdecl.write(ret)
|
||||
elif expr.has_key('alternate'):
|
||||
ret = generate_visit_alternate(expr['alternate'], expr['data'])
|
||||
ret += generate_visit_list(expr['alternate'], expr['data'])
|
||||
ret += generate_visit_list(expr['alternate'])
|
||||
fdef.write(ret)
|
||||
|
||||
ret = generate_decl_enum('%sKind' % expr['alternate'],
|
||||
expr['data'].keys())
|
||||
ret += generate_declaration(expr['alternate'], expr['data'])
|
||||
ret = generate_decl_enum('%sKind' % expr['alternate'])
|
||||
ret += generate_declaration(expr['alternate'])
|
||||
fdecl.write(ret)
|
||||
elif expr.has_key('enum'):
|
||||
ret = generate_visit_list(expr['enum'], expr['data'])
|
||||
ret += generate_visit_enum(expr['enum'], expr['data'])
|
||||
ret = generate_visit_list(expr['enum'])
|
||||
ret += generate_visit_enum(expr['enum'])
|
||||
fdef.write(ret)
|
||||
|
||||
ret = generate_decl_enum(expr['enum'], expr['data'])
|
||||
ret += generate_enum_declaration(expr['enum'], expr['data'])
|
||||
ret = generate_decl_enum(expr['enum'])
|
||||
ret += generate_enum_declaration(expr['enum'])
|
||||
fdecl.write(ret)
|
||||
|
||||
close_output(fdef, fdecl)
|
||||
|
|
|
@ -507,7 +507,6 @@ def check_command(expr, expr_info):
|
|||
def check_event(expr, expr_info):
|
||||
global events
|
||||
name = expr['event']
|
||||
params = expr.get('data')
|
||||
|
||||
if name.upper() == 'MAX':
|
||||
raise QAPIExprError(expr_info, "Event name 'MAX' cannot be created")
|
||||
|
|
Loading…
Reference in New Issue