qapi/events: fix visit_event typing
Actually, the arg_type can indeed be Optional. Signed-off-by: John Snow <jsnow@redhat.com> Message-Id: <20210201193747.2169670-3-jsnow@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
ec9697ab3f
commit
3cc01c546b
@ -12,7 +12,7 @@ This work is licensed under the terms of the GNU GPL, version 2.
|
||||
See the COPYING file in the top-level directory.
|
||||
"""
|
||||
|
||||
from typing import List
|
||||
from typing import List, Optional
|
||||
|
||||
from .common import c_enum_const, c_name, mcgen
|
||||
from .gen import QAPISchemaModularCVisitor, build_params, ifcontext
|
||||
@ -27,7 +27,7 @@ from .types import gen_enum, gen_enum_lookup
|
||||
|
||||
|
||||
def build_event_send_proto(name: str,
|
||||
arg_type: QAPISchemaObjectType,
|
||||
arg_type: Optional[QAPISchemaObjectType],
|
||||
boxed: bool) -> str:
|
||||
return 'void qapi_event_send_%(c_name)s(%(param)s)' % {
|
||||
'c_name': c_name(name.lower()),
|
||||
@ -35,7 +35,7 @@ def build_event_send_proto(name: str,
|
||||
|
||||
|
||||
def gen_event_send_decl(name: str,
|
||||
arg_type: QAPISchemaObjectType,
|
||||
arg_type: Optional[QAPISchemaObjectType],
|
||||
boxed: bool) -> str:
|
||||
return mcgen('''
|
||||
|
||||
@ -78,7 +78,7 @@ def gen_param_var(typ: QAPISchemaObjectType) -> str:
|
||||
|
||||
|
||||
def gen_event_send(name: str,
|
||||
arg_type: QAPISchemaObjectType,
|
||||
arg_type: Optional[QAPISchemaObjectType],
|
||||
boxed: bool,
|
||||
event_enum_name: str,
|
||||
event_emit: str) -> str:
|
||||
@ -99,6 +99,7 @@ def gen_event_send(name: str,
|
||||
proto=build_event_send_proto(name, arg_type, boxed))
|
||||
|
||||
if have_args:
|
||||
assert arg_type is not None
|
||||
ret += mcgen('''
|
||||
QObject *obj;
|
||||
Visitor *v;
|
||||
@ -114,6 +115,7 @@ def gen_event_send(name: str,
|
||||
name=name)
|
||||
|
||||
if have_args:
|
||||
assert arg_type is not None
|
||||
ret += mcgen('''
|
||||
v = qobject_output_visitor_new(&obj);
|
||||
''')
|
||||
@ -214,7 +216,7 @@ void %(event_emit)s(%(event_enum)s event, QDict *qdict);
|
||||
info: QAPISourceInfo,
|
||||
ifcond: List[str],
|
||||
features: List[QAPISchemaFeature],
|
||||
arg_type: QAPISchemaObjectType,
|
||||
arg_type: Optional[QAPISchemaObjectType],
|
||||
boxed: bool) -> None:
|
||||
with ifcontext(ifcond, self._genh, self._genc):
|
||||
self._genh.add(gen_event_send_decl(name, arg_type, boxed))
|
||||
|
Loading…
Reference in New Issue
Block a user