From 07d41a0e98eae3bc4340f4f677c0c03b0d81a89a Mon Sep 17 00:00:00 2001 From: "Erlend E. Aasland" Date: Fri, 14 Jul 2023 21:57:36 +0200 Subject: [PATCH 1/3] gh-104050: Argument Clinic: Annotate BufferSeries --- Tools/clinic/clinic.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py index 6d1796cd6135ed..6376cea2f37c2d 100755 --- a/Tools/clinic/clinic.py +++ b/Tools/clinic/clinic.py @@ -1965,12 +1965,15 @@ class BufferSeries: e.g. o[-1] is an element immediately preceding o[0]. """ - def __init__(self): + def __init__(self) -> None: self._start = 0 - self._array = [] + self._array: list[_TextAccumulator] = [] self._constructor = _text_accumulator - def __getitem__(self, i): + def __getitem__( + self, + i: int + ) -> _TextAccumulator: i -= self._start if i < 0: self._start += i @@ -1981,11 +1984,11 @@ def __getitem__(self, i): self._array.append(self._constructor()) return self._array[i] - def clear(self): + def clear(self) -> None: for ta in self._array: ta._text.clear() - def dump(self): + def dump(self) -> str: texts = [ta.output() for ta in self._array] return "".join(texts) From 1dadf8fdffeaa9025eef53d67936b89180451cda Mon Sep 17 00:00:00 2001 From: "Erlend E. Aasland" Date: Fri, 14 Jul 2023 21:59:59 +0200 Subject: [PATCH 2/3] Fix bug in clear() method _TextAccumulator has no '_text' attribute; it has 'text' --- Tools/clinic/clinic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py index 6376cea2f37c2d..6676b15e3d74bb 100755 --- a/Tools/clinic/clinic.py +++ b/Tools/clinic/clinic.py @@ -1986,7 +1986,7 @@ def __getitem__( def clear(self) -> None: for ta in self._array: - ta._text.clear() + ta.text.clear() def dump(self) -> str: texts = [ta.output() for ta in self._array] From c21858bdf321f5c0ed5f430a35fd2dd9bb8dad49 Mon Sep 17 00:00:00 2001 From: "Erlend E. Aasland" Date: Fri, 21 Jul 2023 23:59:18 +0200 Subject: [PATCH 3/3] Address review: style nit --- Tools/clinic/clinic.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py index 8251e09b225342..df353fce03db33 100755 --- a/Tools/clinic/clinic.py +++ b/Tools/clinic/clinic.py @@ -1970,10 +1970,7 @@ def __init__(self) -> None: self._array: list[_TextAccumulator] = [] self._constructor = _text_accumulator - def __getitem__( - self, - i: int - ) -> _TextAccumulator: + def __getitem__(self, i: int) -> _TextAccumulator: i -= self._start if i < 0: self._start += i