Commit 5aa05d3f authored by Markus Armbruster's avatar Markus Armbruster
Browse files

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: default avatarMarkus Armbruster <armbru@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
parent 1cf47a15
Loading
Loading
Loading
Loading
+13 −14
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ if (local_err) {
''')
    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 @@ qapi_dealloc_visitor_cleanup(md);
    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 @@ out:

    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 @@ for cmd in 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)
+0 −1
Original line number Diff line number Diff line
@@ -199,7 +199,6 @@ const char *%(event_enum_name)s_lookup[] = {
''',
                event_enum_name = event_enum_name)

    i = 0
    for string in event_enum_strings:
        ret += mcgen('''
    "%(string)s",
+0 −1
Original line number Diff line number Diff line
@@ -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('''
+22 −25
Original line number Diff line number Diff line
@@ -40,7 +40,6 @@ static void visit_type_implicit_%(c_type)s(Visitor *m, %(c_type)s **obj, Error *
                 c_type=type_name(type))

def generate_visit_struct_fields(name, members, base = None):
    substructs = []
    ret = ''

    if base:
@@ -103,7 +102,7 @@ out:
    return ret


def generate_visit_struct_body(name, members):
def generate_visit_struct_body(name):
    ret = mcgen('''
    Error *err = NULL;

@@ -135,14 +134,14 @@ void visit_type_%(name)s(Visitor *m, %(name)s **obj, const char *name, Error **e
''',
                 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 @@ out:
''',
                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 @@ out:

    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 @@ void visit_type_%(name)sList(Visitor *m, %(name)sList **obj, const char *name, E

    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 @@ void visit_type_%(name)sList(Visitor *m, %(name)sList **obj, const char *name, E

    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 @@ exprs = parse_schema(input_file)
# 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 @@ fdecl.write(guardend("QAPI_VISIT_BUILTIN_VISITOR_DECL"))
# 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)
+0 −1
Original line number Diff line number Diff line
@@ -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")