[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 15/16] qapi: type 'info' as Optional[QAPISourceInfo]
From: |
Markus Armbruster |
Subject: |
[PULL 15/16] qapi: type 'info' as Optional[QAPISourceInfo] |
Date: |
Mon, 8 Feb 2021 14:58:45 +0100 |
From: John Snow <jsnow@redhat.com>
For everything typed so far, type this parameter as
Optional[QAPISourceInfo].
In the most generic case, QAPISchemaEntity's info field may be None to
represent types that come from built-in definitions. Although some
Entity types may not currently have any built-in definitions, it is not
easily possible to constrain the type except on an ad-hoc basis using
assertions.
It's easier and simpler, then, to just say it's always an Optional type.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210201193747.2169670-16-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
scripts/qapi/commands.py | 2 +-
scripts/qapi/events.py | 2 +-
scripts/qapi/gen.py | 2 +-
scripts/qapi/types.py | 2 +-
scripts/qapi/visit.py | 4 ++--
5 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/scripts/qapi/commands.py b/scripts/qapi/commands.py
index 13a9dcaf89..54af519f44 100644
--- a/scripts/qapi/commands.py
+++ b/scripts/qapi/commands.py
@@ -296,7 +296,7 @@ void %(c_prefix)sqmp_init_marshal(QmpCommandList *cmds)
def visit_command(self,
name: str,
- info: QAPISourceInfo,
+ info: Optional[QAPISourceInfo],
ifcond: List[str],
features: List[QAPISchemaFeature],
arg_type: Optional[QAPISchemaObjectType],
diff --git a/scripts/qapi/events.py b/scripts/qapi/events.py
index 079c666ec6..8c57deb2b8 100644
--- a/scripts/qapi/events.py
+++ b/scripts/qapi/events.py
@@ -213,7 +213,7 @@ void %(event_emit)s(%(event_enum)s event, QDict *qdict);
def visit_event(self,
name: str,
- info: QAPISourceInfo,
+ info: Optional[QAPISourceInfo],
ifcond: List[str],
features: List[QAPISchemaFeature],
arg_type: Optional[QAPISchemaObjectType],
diff --git a/scripts/qapi/gen.py b/scripts/qapi/gen.py
index ac3d3e687e..63549cc8d4 100644
--- a/scripts/qapi/gen.py
+++ b/scripts/qapi/gen.py
@@ -325,7 +325,7 @@ class QAPISchemaModularCVisitor(QAPISchemaVisitor):
self._add_module(name, self._user_blurb)
self._begin_user_module(name)
- def visit_include(self, name: str, info: QAPISourceInfo) -> None:
+ def visit_include(self, name: str, info: Optional[QAPISourceInfo]) -> None:
relname = os.path.relpath(self._module_filename(self._what, name),
os.path.dirname(self._genh.fname))
self._genh.preamble_add(mcgen('''
diff --git a/scripts/qapi/types.py b/scripts/qapi/types.py
index dbf58c0b91..2bdd626847 100644
--- a/scripts/qapi/types.py
+++ b/scripts/qapi/types.py
@@ -350,7 +350,7 @@ class QAPISchemaGenTypeVisitor(QAPISchemaModularCVisitor):
def visit_alternate_type(self,
name: str,
- info: QAPISourceInfo,
+ info: Optional[QAPISourceInfo],
ifcond: List[str],
features: List[QAPISchemaFeature],
variants: QAPISchemaVariants) -> None:
diff --git a/scripts/qapi/visit.py b/scripts/qapi/visit.py
index 568ba35592..22e62df901 100644
--- a/scripts/qapi/visit.py
+++ b/scripts/qapi/visit.py
@@ -336,7 +336,7 @@ class QAPISchemaGenVisitVisitor(QAPISchemaModularCVisitor):
def visit_enum_type(self,
name: str,
- info: QAPISourceInfo,
+ info: Optional[QAPISourceInfo],
ifcond: List[str],
features: List[QAPISchemaFeature],
members: List[QAPISchemaEnumMember],
@@ -378,7 +378,7 @@ class QAPISchemaGenVisitVisitor(QAPISchemaModularCVisitor):
def visit_alternate_type(self,
name: str,
- info: QAPISourceInfo,
+ info: Optional[QAPISourceInfo],
ifcond: List[str],
features: List[QAPISchemaFeature],
variants: QAPISchemaVariants) -> None:
--
2.26.2
- [PULL 02/16] qapi/events: fix visit_event typing, (continued)
- [PULL 02/16] qapi/events: fix visit_event typing, Markus Armbruster, 2021/02/08
- [PULL 12/16] qapi/gen: Support switching to another module temporarily, Markus Armbruster, 2021/02/08
- [PULL 01/16] qapi/commands: assert arg_type is not None, Markus Armbruster, 2021/02/08
- [PULL 13/16] qapi/commands: Simplify command registry generation, Markus Armbruster, 2021/02/08
- [PULL 07/16] qapi: use explicitly internal module names, Markus Armbruster, 2021/02/08
- [PULL 03/16] qapi/main: handle theoretical None-return from re.match(), Markus Armbruster, 2021/02/08
- [PULL 06/16] qapi/gen: Replace ._begin_system_module(), Markus Armbruster, 2021/02/08
- [PULL 05/16] qapi: centralize is_[user|system|builtin]_module methods, Markus Armbruster, 2021/02/08
- [PULL 16/16] qapi: enable strict-optional checks, Markus Armbruster, 2021/02/08
- [PULL 11/16] qapi/gen: write _genc/_genh access shims, Markus Armbruster, 2021/02/08
- [PULL 15/16] qapi: type 'info' as Optional[QAPISourceInfo],
Markus Armbruster <=
- [PULL 10/16] qapi: centralize the built-in module name definition, Markus Armbruster, 2021/02/08
- [PULL 14/16] qapi/gen: Drop support for QAPIGen without a file name, Markus Armbruster, 2021/02/08
- [PULL 09/16] qapi/gen: Combine ._add_[user|system]_module, Markus Armbruster, 2021/02/08
- [PULL 08/16] qapi: use './builtin' as the built-in module name, Markus Armbruster, 2021/02/08
- Re: [PULL 00/16] QAPI patches patches for 2021-02-08, Peter Maydell, 2021/02/08