[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 19/19] qapi/introspect.py: add SchemaMetaType enum
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v6 19/19] qapi/introspect.py: add SchemaMetaType enum |
Date: |
Tue, 16 Feb 2021 17:09:50 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
John Snow <jsnow@redhat.com> writes:
> On 2/16/21 4:24 AM, Markus Armbruster wrote:
>> John Snow <jsnow@redhat.com> writes:
>>
>>> Follows the qapi/introspect.py definition of the same; this adds a more
>>> precise typing to _gen_tree's mtype parameter.
>>>
>>> NB: print(SchemaMetaType.BUILTIN) would produce the string
>>> "SchemaMetaType.BUILTIN", but when using format strings (.format or
>>> f-strings),
>>> it relies on the __format__ method defined in the Enum class, which uses the
>>> "value" of the enum instead, producing the string "builtin".
>>>
>>> For consistency with old-style format strings (which simply call the
>>> __str__ method of an object), a __str__ dunder is added, though it is
>>> not actually used here in this code.
>>>
>>> Signed-off-by: John Snow <jsnow@redhat.com>
[...]
>> Gain: _gen_tree()'s second argument's type now serves as documentation,
>> and passing crap to it becomes harder.
>>
>> Gut feeling: too much notational overhead for too little gain.
>>
>> Opinions?
>>
>
> No strong feelings one way or the other, honestly. I wrote this mostly
> to see how much the overhead would be based on your comment about the
> loose typing of meta-type as str.
>
> If it's too much for too little for you, I'm okay without it too.
Let's put it aside for now.
- Re: [PATCH v6 15/19] qapi/introspect.py: Add docstrings to _gen_tree and _tree_to_qlit, (continued)
[PATCH v6 17/19] qapi/introspect.py: Type _gen_tree variants as Sequence[str], John Snow, 2021/02/15
[PATCH v6 07/19] qapi/introspect.py: replace 'extra' dict with 'comment' argument, John Snow, 2021/02/15
[PATCH v6 10/19] qapi/introspect.py: create a typed 'Annotated' data strutcure, John Snow, 2021/02/15
[PATCH v6 19/19] qapi/introspect.py: add SchemaMetaType enum, John Snow, 2021/02/15
[PATCH v6 16/19] qapi/introspect.py: Update copyright and authors list, John Snow, 2021/02/15
[PATCH v6 18/19] qapi/introspect.py: set _gen_tree's default ifcond argument to (), John Snow, 2021/02/15