qapi: Use super() now we have Python 3

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200304155932.20452-4-armbru@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
This commit is contained in:
Markus Armbruster 2020-03-04 16:59:31 +01:00
parent ed39c03e2f
commit 2cae67bcb5
9 changed files with 43 additions and 44 deletions

View file

@ -237,8 +237,8 @@ def gen_registry(registry, prefix):
class QAPISchemaGenCommandVisitor(QAPISchemaModularCVisitor): class QAPISchemaGenCommandVisitor(QAPISchemaModularCVisitor):
def __init__(self, prefix): def __init__(self, prefix):
QAPISchemaModularCVisitor.__init__( super().__init__(
self, prefix, 'qapi-commands', prefix, 'qapi-commands',
' * Schema-defined QAPI/QMP commands', None, __doc__) ' * Schema-defined QAPI/QMP commands', None, __doc__)
self._regy = QAPIGenCCode(None) self._regy = QAPIGenCCode(None)
self._visited_ret_types = {} self._visited_ret_types = {}

View file

@ -35,9 +35,9 @@ def __init__(self, parser, msg):
col = (col + 7) % 8 + 1 col = (col + 7) % 8 + 1
else: else:
col += 1 col += 1
QAPIError.__init__(self, parser.info, col, msg) super().__init__(parser.info, col, msg)
class QAPISemError(QAPIError): class QAPISemError(QAPIError):
def __init__(self, info, msg): def __init__(self, info, msg):
QAPIError.__init__(self, info, None, msg) super().__init__(info, None, msg)

View file

@ -138,8 +138,8 @@ def gen_event_send(name, arg_type, boxed, event_enum_name, event_emit):
class QAPISchemaGenEventVisitor(QAPISchemaModularCVisitor): class QAPISchemaGenEventVisitor(QAPISchemaModularCVisitor):
def __init__(self, prefix): def __init__(self, prefix):
QAPISchemaModularCVisitor.__init__( super().__init__(
self, prefix, 'qapi-events', prefix, 'qapi-events',
' * Schema-defined QAPI/QMP events', None, __doc__) ' * Schema-defined QAPI/QMP events', None, __doc__)
self._event_enum_name = c_name(prefix + 'QAPIEvent', protect=False) self._event_enum_name = c_name(prefix + 'QAPIEvent', protect=False)
self._event_enum_members = [] self._event_enum_members = []

View file

@ -82,7 +82,7 @@ def _wrap_ifcond(ifcond, before, after):
class QAPIGenCCode(QAPIGen): class QAPIGenCCode(QAPIGen):
def __init__(self, fname): def __init__(self, fname):
QAPIGen.__init__(self, fname) super().__init__(fname)
self._start_if = None self._start_if = None
def start_if(self, ifcond): def start_if(self, ifcond):
@ -102,13 +102,13 @@ def _wrap_ifcond(self):
def get_content(self): def get_content(self):
assert self._start_if is None assert self._start_if is None
return QAPIGen.get_content(self) return super().get_content()
class QAPIGenC(QAPIGenCCode): class QAPIGenC(QAPIGenCCode):
def __init__(self, fname, blurb, pydoc): def __init__(self, fname, blurb, pydoc):
QAPIGenCCode.__init__(self, fname) super().__init__(fname)
self._blurb = blurb self._blurb = blurb
self._copyright = '\n * '.join(re.findall(r'^Copyright .*', pydoc, self._copyright = '\n * '.join(re.findall(r'^Copyright .*', pydoc,
re.MULTILINE)) re.MULTILINE))
@ -141,7 +141,7 @@ def _bottom(self):
class QAPIGenH(QAPIGenC): class QAPIGenH(QAPIGenC):
def _top(self): def _top(self):
return QAPIGenC._top(self) + guardstart(self.fname) return super()._top() + guardstart(self.fname)
def _bottom(self): def _bottom(self):
return guardend(self.fname) return guardend(self.fname)
@ -176,7 +176,7 @@ def ifcontext(ifcond, *args):
class QAPIGenDoc(QAPIGen): class QAPIGenDoc(QAPIGen):
def _top(self): def _top(self):
return (QAPIGen._top(self) return (super()._top()
+ '@c AUTOMATICALLY GENERATED, DO NOT MODIFY\n\n') + '@c AUTOMATICALLY GENERATED, DO NOT MODIFY\n\n')

View file

@ -76,8 +76,8 @@ def to_c_string(string):
class QAPISchemaGenIntrospectVisitor(QAPISchemaMonolithicCVisitor): class QAPISchemaGenIntrospectVisitor(QAPISchemaMonolithicCVisitor):
def __init__(self, prefix, unmask): def __init__(self, prefix, unmask):
QAPISchemaMonolithicCVisitor.__init__( super().__init__(
self, prefix, 'qapi-introspect', prefix, 'qapi-introspect',
' * QAPI/QMP schema introspection', __doc__) ' * QAPI/QMP schema introspection', __doc__)
self._unmask = unmask self._unmask = unmask
self._schema = None self._schema = None

View file

@ -320,7 +320,7 @@ def append(self, line):
class ArgSection(Section): class ArgSection(Section):
def __init__(self, name): def __init__(self, name):
QAPIDoc.Section.__init__(self, name) super().__init__(name)
self.member = None self.member = None
def connect(self, member): def connect(self, member):

View file

@ -152,11 +152,11 @@ def visit(self, visitor):
class QAPISchemaInclude(QAPISchemaEntity): class QAPISchemaInclude(QAPISchemaEntity):
def __init__(self, sub_module, info): def __init__(self, sub_module, info):
QAPISchemaEntity.__init__(self, None, info, None) super().__init__(None, info, None)
self._sub_module = sub_module self._sub_module = sub_module
def visit(self, visitor): def visit(self, visitor):
QAPISchemaEntity.visit(self, visitor) super().visit(visitor)
visitor.visit_include(self._sub_module.name, self.info) visitor.visit_include(self._sub_module.name, self.info)
@ -202,7 +202,7 @@ class QAPISchemaBuiltinType(QAPISchemaType):
meta = 'built-in' meta = 'built-in'
def __init__(self, name, json_type, c_type): def __init__(self, name, json_type, c_type):
QAPISchemaType.__init__(self, name, None, None) super().__init__(name, None, None)
assert not c_type or isinstance(c_type, str) assert not c_type or isinstance(c_type, str)
assert json_type in ('string', 'number', 'int', 'boolean', 'null', assert json_type in ('string', 'number', 'int', 'boolean', 'null',
'value') 'value')
@ -227,7 +227,7 @@ def doc_type(self):
return self.json_type() return self.json_type()
def visit(self, visitor): def visit(self, visitor):
QAPISchemaType.visit(self, visitor) super().visit(visitor)
visitor.visit_builtin_type(self.name, self.info, self.json_type()) visitor.visit_builtin_type(self.name, self.info, self.json_type())
@ -235,7 +235,7 @@ class QAPISchemaEnumType(QAPISchemaType):
meta = 'enum' meta = 'enum'
def __init__(self, name, info, doc, ifcond, members, prefix): def __init__(self, name, info, doc, ifcond, members, prefix):
QAPISchemaType.__init__(self, name, info, doc, ifcond) super().__init__(name, info, doc, ifcond)
for m in members: for m in members:
assert isinstance(m, QAPISchemaEnumMember) assert isinstance(m, QAPISchemaEnumMember)
m.set_defined_in(name) m.set_defined_in(name)
@ -244,7 +244,7 @@ def __init__(self, name, info, doc, ifcond, members, prefix):
self.prefix = prefix self.prefix = prefix
def check(self, schema): def check(self, schema):
QAPISchemaType.check(self, schema) super().check(schema)
seen = {} seen = {}
for m in self.members: for m in self.members:
m.check_clash(self.info, seen) m.check_clash(self.info, seen)
@ -269,7 +269,7 @@ def json_type(self):
return 'string' return 'string'
def visit(self, visitor): def visit(self, visitor):
QAPISchemaType.visit(self, visitor) super().visit(visitor)
visitor.visit_enum_type(self.name, self.info, self.ifcond, visitor.visit_enum_type(self.name, self.info, self.ifcond,
self.members, self.prefix) self.members, self.prefix)
@ -278,13 +278,13 @@ class QAPISchemaArrayType(QAPISchemaType):
meta = 'array' meta = 'array'
def __init__(self, name, info, element_type): def __init__(self, name, info, element_type):
QAPISchemaType.__init__(self, name, info, None, None) super().__init__(name, info, None, None)
assert isinstance(element_type, str) assert isinstance(element_type, str)
self._element_type_name = element_type self._element_type_name = element_type
self.element_type = None self.element_type = None
def check(self, schema): def check(self, schema):
QAPISchemaType.check(self, schema) super().check(schema)
self.element_type = schema.resolve_type( self.element_type = schema.resolve_type(
self._element_type_name, self.info, self._element_type_name, self.info,
self.info and self.info.defn_meta) self.info and self.info.defn_meta)
@ -314,7 +314,7 @@ def doc_type(self):
return 'array of ' + elt_doc_type return 'array of ' + elt_doc_type
def visit(self, visitor): def visit(self, visitor):
QAPISchemaType.visit(self, visitor) super().visit(visitor)
visitor.visit_array_type(self.name, self.info, self.ifcond, visitor.visit_array_type(self.name, self.info, self.ifcond,
self.element_type) self.element_type)
@ -329,7 +329,7 @@ def __init__(self, name, info, doc, ifcond,
# struct has local_members, optional base, and no variants # struct has local_members, optional base, and no variants
# flat union has base, variants, and no local_members # flat union has base, variants, and no local_members
# simple union has local_members, variants, and no base # simple union has local_members, variants, and no base
QAPISchemaType.__init__(self, name, info, doc, ifcond, features) super().__init__(name, info, doc, ifcond, features)
self.meta = 'union' if variants else 'struct' self.meta = 'union' if variants else 'struct'
assert base is None or isinstance(base, str) assert base is None or isinstance(base, str)
for m in local_members: for m in local_members:
@ -356,7 +356,7 @@ def check(self, schema):
raise QAPISemError(self.info, raise QAPISemError(self.info,
"object %s contains itself" % self.name) "object %s contains itself" % self.name)
QAPISchemaType.check(self, schema) super().check(schema)
assert self._checked and self.members is None assert self._checked and self.members is None
seen = OrderedDict() seen = OrderedDict()
@ -419,7 +419,7 @@ def is_empty(self):
def c_name(self): def c_name(self):
assert self.name != 'q_empty' assert self.name != 'q_empty'
return QAPISchemaType.c_name(self) return super().c_name()
def c_type(self): def c_type(self):
assert not self.is_implicit() assert not self.is_implicit()
@ -432,7 +432,7 @@ def json_type(self):
return 'object' return 'object'
def visit(self, visitor): def visit(self, visitor):
QAPISchemaType.visit(self, visitor) super().visit(visitor)
visitor.visit_object_type(self.name, self.info, self.ifcond, visitor.visit_object_type(self.name, self.info, self.ifcond,
self.base, self.local_members, self.variants, self.base, self.local_members, self.variants,
self.features) self.features)
@ -506,7 +506,7 @@ class QAPISchemaFeature(QAPISchemaMember):
class QAPISchemaObjectTypeMember(QAPISchemaMember): class QAPISchemaObjectTypeMember(QAPISchemaMember):
def __init__(self, name, info, typ, optional, ifcond=None): def __init__(self, name, info, typ, optional, ifcond=None):
QAPISchemaMember.__init__(self, name, info, ifcond) super().__init__(name, info, ifcond)
assert isinstance(typ, str) assert isinstance(typ, str)
assert isinstance(optional, bool) assert isinstance(optional, bool)
self._type_name = typ self._type_name = typ
@ -614,15 +614,14 @@ class QAPISchemaObjectTypeVariant(QAPISchemaObjectTypeMember):
role = 'branch' role = 'branch'
def __init__(self, name, info, typ, ifcond=None): def __init__(self, name, info, typ, ifcond=None):
QAPISchemaObjectTypeMember.__init__(self, name, info, typ, super().__init__(name, info, typ, False, ifcond)
False, ifcond)
class QAPISchemaAlternateType(QAPISchemaType): class QAPISchemaAlternateType(QAPISchemaType):
meta = 'alternate' meta = 'alternate'
def __init__(self, name, info, doc, ifcond, variants): def __init__(self, name, info, doc, ifcond, variants):
QAPISchemaType.__init__(self, name, info, doc, ifcond) super().__init__(name, info, doc, ifcond)
assert isinstance(variants, QAPISchemaObjectTypeVariants) assert isinstance(variants, QAPISchemaObjectTypeVariants)
assert variants.tag_member assert variants.tag_member
variants.set_defined_in(name) variants.set_defined_in(name)
@ -630,7 +629,7 @@ def __init__(self, name, info, doc, ifcond, variants):
self.variants = variants self.variants = variants
def check(self, schema): def check(self, schema):
QAPISchemaType.check(self, schema) super().check(schema)
self.variants.tag_member.check(schema) self.variants.tag_member.check(schema)
# Not calling self.variants.check_clash(), because there's nothing # Not calling self.variants.check_clash(), because there's nothing
# to clash with # to clash with
@ -680,7 +679,7 @@ def json_type(self):
return 'value' return 'value'
def visit(self, visitor): def visit(self, visitor):
QAPISchemaType.visit(self, visitor) super().visit(visitor)
visitor.visit_alternate_type(self.name, self.info, self.ifcond, visitor.visit_alternate_type(self.name, self.info, self.ifcond,
self.variants) self.variants)
@ -691,7 +690,7 @@ class QAPISchemaCommand(QAPISchemaEntity):
def __init__(self, name, info, doc, ifcond, arg_type, ret_type, def __init__(self, name, info, doc, ifcond, arg_type, ret_type,
gen, success_response, boxed, allow_oob, allow_preconfig, gen, success_response, boxed, allow_oob, allow_preconfig,
features): features):
QAPISchemaEntity.__init__(self, name, info, doc, ifcond, features) super().__init__(name, info, doc, ifcond, features)
assert not arg_type or isinstance(arg_type, str) assert not arg_type or isinstance(arg_type, str)
assert not ret_type or isinstance(ret_type, str) assert not ret_type or isinstance(ret_type, str)
self._arg_type_name = arg_type self._arg_type_name = arg_type
@ -705,7 +704,7 @@ def __init__(self, name, info, doc, ifcond, arg_type, ret_type,
self.allow_preconfig = allow_preconfig self.allow_preconfig = allow_preconfig
def check(self, schema): def check(self, schema):
QAPISchemaEntity.check(self, schema) super().check(schema)
if self._arg_type_name: if self._arg_type_name:
self.arg_type = schema.resolve_type( self.arg_type = schema.resolve_type(
self._arg_type_name, self.info, "command's 'data'") self._arg_type_name, self.info, "command's 'data'")
@ -740,7 +739,7 @@ def connect_doc(self, doc=None):
self.arg_type.connect_doc(doc) self.arg_type.connect_doc(doc)
def visit(self, visitor): def visit(self, visitor):
QAPISchemaEntity.visit(self, visitor) super().visit(visitor)
visitor.visit_command(self.name, self.info, self.ifcond, visitor.visit_command(self.name, self.info, self.ifcond,
self.arg_type, self.ret_type, self.arg_type, self.ret_type,
self.gen, self.success_response, self.gen, self.success_response,
@ -753,14 +752,14 @@ class QAPISchemaEvent(QAPISchemaEntity):
meta = 'event' meta = 'event'
def __init__(self, name, info, doc, ifcond, arg_type, boxed): def __init__(self, name, info, doc, ifcond, arg_type, boxed):
QAPISchemaEntity.__init__(self, name, info, doc, ifcond) super().__init__(name, info, doc, ifcond)
assert not arg_type or isinstance(arg_type, str) assert not arg_type or isinstance(arg_type, str)
self._arg_type_name = arg_type self._arg_type_name = arg_type
self.arg_type = None self.arg_type = None
self.boxed = boxed self.boxed = boxed
def check(self, schema): def check(self, schema):
QAPISchemaEntity.check(self, schema) super().check(schema)
if self._arg_type_name: if self._arg_type_name:
self.arg_type = schema.resolve_type( self.arg_type = schema.resolve_type(
self._arg_type_name, self.info, "event's 'data'") self._arg_type_name, self.info, "event's 'data'")
@ -782,7 +781,7 @@ def connect_doc(self, doc=None):
self.arg_type.connect_doc(doc) self.arg_type.connect_doc(doc)
def visit(self, visitor): def visit(self, visitor):
QAPISchemaEntity.visit(self, visitor) super().visit(visitor)
visitor.visit_event(self.name, self.info, self.ifcond, visitor.visit_event(self.name, self.info, self.ifcond,
self.arg_type, self.boxed) self.arg_type, self.boxed)

View file

@ -241,8 +241,8 @@ def gen_type_cleanup(name):
class QAPISchemaGenTypeVisitor(QAPISchemaModularCVisitor): class QAPISchemaGenTypeVisitor(QAPISchemaModularCVisitor):
def __init__(self, prefix): def __init__(self, prefix):
QAPISchemaModularCVisitor.__init__( super().__init__(
self, prefix, 'qapi-types', ' * Schema-defined QAPI types', prefix, 'qapi-types', ' * Schema-defined QAPI types',
' * Built-in QAPI types', __doc__) ' * Built-in QAPI types', __doc__)
def _begin_system_module(self, name): def _begin_system_module(self, name):

View file

@ -283,8 +283,8 @@ def gen_visit_object(name, base, members, variants):
class QAPISchemaGenVisitVisitor(QAPISchemaModularCVisitor): class QAPISchemaGenVisitVisitor(QAPISchemaModularCVisitor):
def __init__(self, prefix): def __init__(self, prefix):
QAPISchemaModularCVisitor.__init__( super().__init__(
self, prefix, 'qapi-visit', ' * Schema-defined QAPI visitors', prefix, 'qapi-visit', ' * Schema-defined QAPI visitors',
' * Built-in QAPI visitors', __doc__) ' * Built-in QAPI visitors', __doc__)
def _begin_system_module(self, name): def _begin_system_module(self, name):