[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 05/19] qapi/schema: make c_type() and json_type() abstract me
|
From: |
Markus Armbruster |
|
Subject: |
Re: [PATCH 05/19] qapi/schema: make c_type() and json_type() abstract methods |
|
Date: |
Tue, 21 Nov 2023 14:36:54 +0100 |
|
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
John Snow <jsnow@redhat.com> writes:
> These methods should always return a str, it's only the default abstract
> implementation that doesn't. They can be marked "abstract" by raising
> NotImplementedError(), which requires subclasses to override the method
> with the proper return type.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
> scripts/qapi/schema.py | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
> index c5fdd625452..4600a566005 100644
> --- a/scripts/qapi/schema.py
> +++ b/scripts/qapi/schema.py
> @@ -233,8 +233,8 @@ def visit(self, visitor):
> class QAPISchemaType(QAPISchemaEntity):
> # Return the C type for common use.
> # For the types we commonly box, this is a pointer type.
> - def c_type(self):
> - pass
> + def c_type(self) -> str:
> + raise NotImplementedError()
>
> # Return the C type to be used in a parameter list.
> def c_param_type(self):
> @@ -244,8 +244,8 @@ def c_param_type(self):
> def c_unboxed_type(self):
> return self.c_type()
>
> - def json_type(self):
> - pass
> + def json_type(self) -> str:
> + raise NotImplementedError()
>
> def alternate_qtype(self):
> json2qtype = {
I wish abstract methods could be done in a more concise way.
- [PATCH 06/19] qapi/schema: adjust type narrowing for mypy's benefit, (continued)
- [PATCH 10/19] qapi/schema: make QAPISchemaArrayType.element_type non-Optional, John Snow, 2023/11/15
- [PATCH 05/19] qapi/schema: make c_type() and json_type() abstract methods, John Snow, 2023/11/15
- Re: [PATCH 05/19] qapi/schema: make c_type() and json_type() abstract methods, Philippe Mathieu-Daudé, 2023/11/16
- Re: [PATCH 05/19] qapi/schema: make c_type() and json_type() abstract methods,
Markus Armbruster <=
- Re: [PATCH 05/19] qapi/schema: make c_type() and json_type() abstract methods, Daniel P . Berrangé, 2023/11/21
- Re: [PATCH 05/19] qapi/schema: make c_type() and json_type() abstract methods, John Snow, 2023/11/21
- Re: [PATCH 05/19] qapi/schema: make c_type() and json_type() abstract methods, Daniel P . Berrangé, 2023/11/21
- Re: [PATCH 05/19] qapi/schema: make c_type() and json_type() abstract methods, Markus Armbruster, 2023/11/22
- Re: [PATCH 05/19] qapi/schema: make c_type() and json_type() abstract methods, Daniel P . Berrangé, 2023/11/22
[PATCH 09/19] qapi/schema: assert info is present when necessary, John Snow, 2023/11/15
[PATCH 11/19] qapi/schema: fix QAPISchemaArrayType.check's call to resolve_type, John Snow, 2023/11/15