On 1/13/21 10:14 AM, Markus Armbruster wrote:
> John Snow <jsnow@redhat.com> writes:
>
>> We already assert this in end_if, but that's opaque to mypy. Do it in
>> _wrap_ifcond instead. Same effect at runtime, but mypy can now infer
>> the type in _wrap_ifcond's body.
>>
>> Signed-off-by: John Snow <jsnow@redhat.com>
>> ---
>> scripts/qapi/gen.py | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/scripts/qapi/gen.py b/scripts/qapi/gen.py
>> index b40f18eee3c..a6dc991b1d0 100644
>> --- a/scripts/qapi/gen.py
>> +++ b/scripts/qapi/gen.py
>> @@ -130,11 +130,11 @@ def start_if(self, ifcond: List[str]) -> None:
>> self._start_if = (ifcond, self._body, self._preamble)
>>
>> def end_if(self) -> None:
>> - assert self._start_if
>> self._wrap_ifcond()
>> self._start_if = None
>>
>> def _wrap_ifcond(self) -> None:
>> + assert self._start_if
>> self._body = _wrap_ifcond(self._start_if[0],
>> self._start_if[1], self._body)
>> self._preamble = _wrap_ifcond(self._start_if[0],
>
> Let's inline ._wrap_ifcond() into .end_if(). Not a blocker, of course.
>
I thought I did do this, but I guess it didn't make it out to list. I'll
look into that.
I was planning on taking your series and trying to splice it into this
one here and sending it back out as a conjoined thing.