[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 15/16] qapi: type 'info' as Optional[QAPISourceInfo]
From: |
John Snow |
Subject: |
[PATCH v4 15/16] qapi: type 'info' as Optional[QAPISourceInfo] |
Date: |
Mon, 1 Feb 2021 14:37:46 -0500 |
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>
---
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 13a9dcaf894..54af519f44d 100644
--- a/scripts/qapi/commands.py
+++ b/scripts/qapi/commands.py
@@ -296,7 +296,7 @@ def visit_end(self) -> None:
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 079c666ec69..8c57deb2b89 100644
--- a/scripts/qapi/events.py
+++ b/scripts/qapi/events.py
@@ -213,7 +213,7 @@ def visit_end(self) -> None:
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 ac3d3e687ef..63549cc8d47 100644
--- a/scripts/qapi/gen.py
+++ b/scripts/qapi/gen.py
@@ -325,7 +325,7 @@ def visit_module(self, name: str) -> None:
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 dbf58c0b91d..2bdd6268476 100644
--- a/scripts/qapi/types.py
+++ b/scripts/qapi/types.py
@@ -350,7 +350,7 @@ def visit_object_type(self,
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 568ba35592c..22e62df9017 100644
--- a/scripts/qapi/visit.py
+++ b/scripts/qapi/visit.py
@@ -336,7 +336,7 @@ def _begin_user_module(self, name: str) -> None:
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 @@ def visit_object_type(self,
def visit_alternate_type(self,
name: str,
- info: QAPISourceInfo,
+ info: Optional[QAPISourceInfo],
ifcond: List[str],
features: List[QAPISchemaFeature],
variants: QAPISchemaVariants) -> None:
--
2.29.2
- [PATCH v4 10/16] qapi: centralize the built-in module name definition, (continued)
- [PATCH v4 10/16] qapi: centralize the built-in module name definition, John Snow, 2021/02/01
- [PATCH v4 09/16] qapi/gen: Combine ._add_[user|system]_module, John Snow, 2021/02/01
- [PATCH v4 12/16] qapi/gen: Support for switching to another module temporarily, John Snow, 2021/02/01
- [PATCH v4 11/16] qapi/gen: write _genc/_genh access shims, John Snow, 2021/02/01
- [PATCH v4 13/16] qapi/commands: Simplify command registry generation, John Snow, 2021/02/01
- [PATCH v4 14/16] qapi/gen: Drop support for QAPIGen without a file name, John Snow, 2021/02/01
- [PATCH v4 05/16] qapi: centralize is_[user|system|builtin]_module methods, John Snow, 2021/02/01
- [PATCH v4 16/16] qapi: enable strict-optional checks, John Snow, 2021/02/01
- [PATCH v4 15/16] qapi: type 'info' as Optional[QAPISourceInfo],
John Snow <=
- [PATCH v4 08/16] qapi: use './builtin' as the built-in module name, John Snow, 2021/02/01
- Re: [PATCH v4 00/16] qapi: static typing conversion, pt1.5, Markus Armbruster, 2021/02/02