mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-30 05:43:53 -06:00
qapi/introspect: Use @dataclass to simplify
A TODO comment in class Annotated reminds us to simplify it once we can use @dataclass, new in Python 3.7. We have that now, so do it. There's a similar comment in scripts/qapi/source.py, but I can't figure out how to use @dataclass there. Left for another day. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-ID: <20250227080757.3978333-4-armbru@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
5fbc8126ac
commit
e6985cc440
1 changed files with 5 additions and 7 deletions
|
@ -11,6 +11,7 @@ This work is licensed under the terms of the GNU GPL, version 2.
|
||||||
See the COPYING file in the top-level directory.
|
See the COPYING file in the top-level directory.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from dataclasses import dataclass
|
||||||
from typing import (
|
from typing import (
|
||||||
Any,
|
Any,
|
||||||
Dict,
|
Dict,
|
||||||
|
@ -79,19 +80,16 @@ SchemaInfoCommand = Dict[str, object]
|
||||||
_ValueT = TypeVar('_ValueT', bound=_Value)
|
_ValueT = TypeVar('_ValueT', bound=_Value)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
class Annotated(Generic[_ValueT]):
|
class Annotated(Generic[_ValueT]):
|
||||||
"""
|
"""
|
||||||
Annotated generally contains a SchemaInfo-like type (as a dict),
|
Annotated generally contains a SchemaInfo-like type (as a dict),
|
||||||
But it also used to wrap comments/ifconds around scalar leaf values,
|
But it also used to wrap comments/ifconds around scalar leaf values,
|
||||||
for the benefit of features and enums.
|
for the benefit of features and enums.
|
||||||
"""
|
"""
|
||||||
# TODO: Remove after Python 3.7 adds @dataclass:
|
value: _ValueT
|
||||||
# pylint: disable=too-few-public-methods
|
ifcond: QAPISchemaIfCond
|
||||||
def __init__(self, value: _ValueT, ifcond: QAPISchemaIfCond,
|
comment: Optional[str] = None
|
||||||
comment: Optional[str] = None):
|
|
||||||
self.value = value
|
|
||||||
self.comment: Optional[str] = comment
|
|
||||||
self.ifcond = ifcond
|
|
||||||
|
|
||||||
|
|
||||||
def _tree_to_qlit(obj: JSONValue,
|
def _tree_to_qlit(obj: JSONValue,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue