Skip to content

Commit d69cbeb

Browse files
authored
Revert "bpo-38870: Remove dependency on contextlib to avoid performance regression on import (GH-17376)" (GH-17687)
This reverts commit ded8888.
1 parent 4b3b122 commit d69cbeb

File tree

1 file changed

+6
-13
lines changed

1 file changed

+6
-13
lines changed

Lib/ast.py

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -597,22 +597,15 @@ def buffer(self):
597597
self._buffer.clear()
598598
return value
599599

600-
class _Block:
600+
@contextmanager
601+
def block(self):
601602
"""A context manager for preparing the source for blocks. It adds
602603
the character':', increases the indentation on enter and decreases
603604
the indentation on exit."""
604-
def __init__(self, unparser):
605-
self.unparser = unparser
606-
607-
def __enter__(self):
608-
self.unparser.write(":")
609-
self.unparser._indent += 1
610-
611-
def __exit__(self, exc_type, exc_value, traceback):
612-
self.unparser._indent -= 1
613-
614-
def block(self):
615-
return self._Block(self)
605+
self.write(":")
606+
self._indent += 1
607+
yield
608+
self._indent -= 1
616609

617610
@contextmanager
618611
def delimit(self, start, end):

0 commit comments

Comments
 (0)