mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13: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.
|
||||
"""
|
||||
|
||||
from dataclasses import dataclass
|
||||
from typing import (
|
||||
Any,
|
||||
Dict,
|
||||
|
@ -79,19 +80,16 @@ SchemaInfoCommand = Dict[str, object]
|
|||
_ValueT = TypeVar('_ValueT', bound=_Value)
|
||||
|
||||
|
||||
@dataclass
|
||||
class Annotated(Generic[_ValueT]):
|
||||
"""
|
||||
Annotated generally contains a SchemaInfo-like type (as a dict),
|
||||
But it also used to wrap comments/ifconds around scalar leaf values,
|
||||
for the benefit of features and enums.
|
||||
"""
|
||||
# TODO: Remove after Python 3.7 adds @dataclass:
|
||||
# pylint: disable=too-few-public-methods
|
||||
def __init__(self, value: _ValueT, ifcond: QAPISchemaIfCond,
|
||||
comment: Optional[str] = None):
|
||||
self.value = value
|
||||
self.comment: Optional[str] = comment
|
||||
self.ifcond = ifcond
|
||||
value: _ValueT
|
||||
ifcond: QAPISchemaIfCond
|
||||
comment: Optional[str] = None
|
||||
|
||||
|
||||
def _tree_to_qlit(obj: JSONValue,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue