usse/funda-scraper/venv/lib/python3.10/site-packages/mypy/state.py

29 lines
838 B
Python
Raw Normal View History

2023-02-20 22:38:24 +00:00
from contextlib import contextmanager
from typing import Optional, Tuple, Iterator
from typing_extensions import Final
# These are global mutable state. Don't add anything here unless there's a very
# good reason.
class StrictOptionalState:
# Wrap this in a class since it's faster that using a module-level attribute.
def __init__(self, strict_optional: bool) -> None:
# Value varies by file being processed
self.strict_optional = strict_optional
@contextmanager
def strict_optional_set(self, value: bool) -> Iterator[None]:
saved = self.strict_optional
self.strict_optional = value
try:
yield
finally:
self.strict_optional = saved
state: Final = StrictOptionalState(strict_optional=False)
find_occurrences: Optional[Tuple[str, str]] = None