1515from ._report import ContextReporter
1616from ._utils import DocstubError
1717
18- logger : Final = logging .getLogger (__name__ )
18+ logger : Final [ logging . Logger ] = logging .getLogger (__name__ )
1919
2020
21- grammar_path : Final = Path (__file__ ).parent / "doctype.lark"
21+ grammar_path : Final [ Path ] = Path (__file__ ).parent / "doctype.lark"
2222
2323with grammar_path .open () as file :
24- _grammar : Final = file .read ()
24+ _grammar : Final [ str ] = file .read ()
2525
2626# TODO try passing `transformer=DoctypeTransformer()`, may be faster [1]
2727# [1] https://lark-parser.readthedocs.io/en/latest/classes.html#:~:text=after%20the%20parse%2C-,but%20faster,-)
28- _lark : Final = lark .Lark (_grammar , propagate_positions = True )
28+ _lark : Final [ lark . Lark ] = lark .Lark (_grammar , propagate_positions = True )
2929
3030
3131def flatten_recursive (iterable ):
@@ -80,10 +80,12 @@ class Term(str):
8080
8181 Attributes
8282 ----------
83- __slots__ : Final
83+ kind : TermKind
84+ pos : tuple of (int, int) or None
85+ __slots__ : Final[ClassVar[tuple[str, ...]]]
8486 """
8587
86- __slots__ = ("kind" , "pos" , "value" )
88+ __slots__ = ("kind" , "pos" )
8789
8890 def __new__ (cls , value , * , kind , pos = None ):
8991 """
@@ -92,6 +94,10 @@ def __new__(cls, value, *, kind, pos=None):
9294 value : str
9395 kind : TermKind or str
9496 pos : tuple of (int, int), optional
97+
98+ Returns
99+ -------
100+ cls : Self
95101 """
96102 self = super ().__new__ (cls , value )
97103 self .kind = TermKind (kind )
@@ -201,7 +207,7 @@ def as_code(self) -> str:
201207 return str (self )
202208
203209
204- BLACKLISTED_QUALNAMES : Final = set (keyword .kwlist ) - {"None" , "True" , "False" }
210+ BLACKLISTED_QUALNAMES : Final [ set [ str ]] = set (keyword .kwlist ) - {"None" , "True" , "False" }
205211
206212
207213class BlacklistedQualname (DocstubError ):
0 commit comments