@@ -5,28 +5,22 @@ import traceback
55from collections .abc import Generator , Iterable
66from dataclasses import dataclass , field
77from functools import cached_property
8- from pathlib import Path
9- from typing import Any , ClassVar
108
119import click
1210import lark
1311import lark .visitors
1412import numpydoc .docscrape as npds
1513
1614from ._analysis import PyImport , TypeMatcher
17- from ._report import ContextReporter
18- from ._utils import DocstubError , escape_qualname
15+ from ._doctype import BlacklistedQualname , Expression , Token , TokenKind , parse_doctype
16+ from ._report import ContextReporter , Stats
17+ from ._utils import escape_qualname
1918
2019logger : logging .Logger
2120
22- here : Path
23- grammar_path : Path
24-
25- with grammar_path .open () as file :
26- _grammar : str
27-
28- _lark : lark .Lark
29-
21+ def update_qualnames (
22+ expr : Expression , * , _parents : tuple [Expression , ...] = ...
23+ ) -> Generator [tuple [tuple [Expression , ...], Token ], str ]: ...
3024def _find_one_token (tree : lark .Tree , * , name : str ) -> lark .Token : ...
3125@dataclass (frozen = True , slots = True , kw_only = True )
3226class Annotation :
@@ -54,51 +48,23 @@ class Annotation:
5448
5549FallbackAnnotation : Annotation
5650
57- class QualnameIsKeyword (DocstubError ):
58- pass
59-
60- class DoctypeTransformer (lark .visitors .Transformer ):
61- matcher : TypeMatcher
62- stats : dict [str , Any ]
63-
64- blacklisted_qualnames : ClassVar [frozenset [str ]]
65-
66- def __init__ (
67- self , * , matcher : TypeMatcher | None = ..., ** kwargs : dict [Any , Any ]
68- ) -> None : ...
69- def doctype_to_annotation (
70- self , doctype : str , * , reporter : ContextReporter | None = ...
71- ) -> tuple [Annotation , list [tuple [str , int , int ]]]: ...
72- def qualname (self , tree : lark .Tree ) -> lark .Token : ...
73- def rst_role (self , tree : lark .Tree ) -> lark .Token : ...
74- def union (self , tree : lark .Tree ) -> str : ...
75- def subscription (self , tree : lark .Tree ) -> str : ...
76- def natlang_literal (self , tree : lark .Tree ) -> str : ...
77- def natlang_container (self , tree : lark .Tree ) -> str : ...
78- def natlang_array (self , tree : lark .Tree ) -> str : ...
79- def array_name (self , tree : lark .Tree ) -> lark .Token : ...
80- def shape (self , tree : lark .Tree ) -> lark .visitors ._DiscardType : ...
81- def optional_info (self , tree : lark .Tree ) -> lark .visitors ._DiscardType : ...
82- def __default__ (
83- self , data : lark .Token , children : list [lark .Token ], meta : lark .tree .Meta
84- ) -> lark .Token | list [lark .Token ]: ...
85- def _match_import (self , qualname : str , * , meta : lark .tree .Meta ) -> str : ...
86-
8751def _uncombine_numpydoc_params (
8852 params : list [npds .Parameter ],
8953) -> Generator [npds .Parameter ]: ...
54+ def _red_partial_underline (doctype : str , * , start : int , stop : int ) -> str : ...
9055
9156class DocstringAnnotations :
9257 docstring : str
93- transformer : DoctypeTransformer
58+ matcher : TypeMatcher
9459 reporter : ContextReporter
9560
9661 def __init__ (
9762 self ,
9863 docstring : str ,
9964 * ,
100- transformer : DoctypeTransformer ,
65+ matcher : TypeMatcher ,
10166 reporter : ContextReporter | None = ...,
67+ stats : Stats | None = ...,
10268 ) -> None : ...
10369 def _doctype_to_annotation (
10470 self , doctype : str , ds_line : int = ...
0 commit comments