[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 3/7] qapi/expr: Use TopLevelExpr where appropriate
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v2 3/7] qapi/expr: Use TopLevelExpr where appropriate |
Date: |
Wed, 08 Feb 2023 17:22:40 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
John Snow <jsnow@redhat.com> writes:
> Remove most usages of _JSONObject with a more semantically meaningful
> alias. Note that this is only a semantic alias; the distinction is not
> enforced by the type system. This is merely a benefit for the human:
> instead of check_xyz functions operating on a representation of some
> "JSON Object", we can document them as operating on QAPI's Top Level
> Expressions directly; it's more semantically meaningful.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
> scripts/qapi/expr.py | 30 +++++++++++++++---------------
> 1 file changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/scripts/qapi/expr.py b/scripts/qapi/expr.py
> index 293f830fe9d..338c9ea4131 100644
> --- a/scripts/qapi/expr.py
> +++ b/scripts/qapi/expr.py
> @@ -44,7 +44,7 @@
>
> from .common import c_name
> from .error import QAPISemError
> -from .parser import ParsedExpression
> +from .parser import ParsedExpression, TopLevelExpr
> from .source import QAPISourceInfo
>
>
> @@ -229,11 +229,11 @@ def pprint(elems: Iterable[str]) -> str:
> pprint(unknown), pprint(allowed)))
>
>
> -def check_flags(expr: _JSONObject, info: QAPISourceInfo) -> None:
> +def check_flags(expr: TopLevelExpr, info: QAPISourceInfo) -> None:
> """
> Ensure flag members (if present) have valid values.
>
> - :param expr: The expression to validate.
> + :param expr: The `TopLevelExpr` to validate.
> :param info: QAPI schema source file information.
>
> :raise QAPISemError:
> @@ -447,9 +447,9 @@ def check_features(features: Optional[object],
> check_if(feat, info, source)
>
>
> -def check_enum(expr: _JSONObject, info: QAPISourceInfo) -> None:
> +def check_enum(expr: TopLevelExpr, info: QAPISourceInfo) -> None:
> """
> - Normalize and validate this expression as an ``enum`` definition.
> + Normalize and validate this `TopLevelExpr` as an ``enum`` definition.
Doc comment style question raised in review of PATCH 2 applies.
More of the same below.
>
> :param expr: The expression to validate.
> :param info: QAPI schema source file information.
[...]
- [PATCH v2 0/7] qapi: static typing conversion, pt5c, John Snow, 2023/02/07
- [PATCH v2 2/7] qapi/parser.py: add ParsedExpression type, John Snow, 2023/02/07
- [PATCH v2 6/7] qapi: remove _JSONObject, John Snow, 2023/02/07
- [PATCH v2 3/7] qapi/expr: Use TopLevelExpr where appropriate, John Snow, 2023/02/07
- Re: [PATCH v2 3/7] qapi/expr: Use TopLevelExpr where appropriate,
Markus Armbruster <=
- [PATCH v2 1/7] qapi/expr: Split check_expr out from check_exprs, John Snow, 2023/02/07
- [PATCH v2 5/7] qapi/parser: [RFC] add QAPIExpression, John Snow, 2023/02/07
- Re: [PATCH v2 5/7] qapi/parser: [RFC] add QAPIExpression, Markus Armbruster, 2023/02/09
- [PATCH v2 7/7] qapi: remove JSON value FIXME, John Snow, 2023/02/07
- [PATCH v2 4/7] qapi/expr: add typing workaround for AbstractSet, John Snow, 2023/02/07
- Re: [PATCH v2 0/7] qapi: static typing conversion, pt5c, Markus Armbruster, 2023/02/08