@@ -2229,7 +2229,12 @@ def _module_and_class(self, fields):
22292229 return module , cls
22302230
22312231
2232- def parse_file (filename , * , verify = True , output = None ):
2232+ def parse_file (
2233+ filename : str ,
2234+ * ,
2235+ verify : bool = True ,
2236+ output : str | None = None
2237+ ) -> None :
22332238 if not output :
22342239 output = filename
22352240
@@ -2261,7 +2266,10 @@ def parse_file(filename, *, verify=True, output=None):
22612266 write_file (fn , data )
22622267
22632268
2264- def compute_checksum (input , length = None ):
2269+ def compute_checksum (
2270+ input : str | None ,
2271+ length : int | None = None
2272+ ) -> str :
22652273 input = input or ''
22662274 s = hashlib .sha1 (input .encode ('utf-8' )).hexdigest ()
22672275 if length :
@@ -2272,44 +2280,61 @@ def compute_checksum(input, length=None):
22722280
22732281
22742282class PythonParser :
2275- def __init__ (self , clinic ) :
2283+ def __init__ (self , clinic : Clinic ) -> None :
22762284 pass
22772285
2278- def parse (self , block ) :
2286+ def parse (self , block : Block ) -> None :
22792287 s = io .StringIO ()
22802288 with OverrideStdioWith (s ):
22812289 exec (block .input )
22822290 block .output = s .getvalue ()
22832291
22842292
2293+ ModuleDict = dict [str , "Module" ]
2294+
22852295class Module :
2286- def __init__ (self , name , module = None ):
2296+ def __init__ (
2297+ self ,
2298+ name : str ,
2299+ module = None
2300+ ) -> None :
22872301 self .name = name
22882302 self .module = self .parent = module
22892303
2290- self .modules = collections .OrderedDict ()
2291- self .classes = collections .OrderedDict ()
2292- self .functions = []
2304+ self .modules : ModuleDict = collections .OrderedDict ()
2305+ self .classes : ClassDict = collections .OrderedDict ()
2306+ self .functions : list [ Function ] = []
22932307
2294- def __repr__ (self ):
2308+ def __repr__ (self ) -> str :
22952309 return "<clinic.Module " + repr (self .name ) + " at " + str (id (self )) + ">"
22962310
2311+
2312+ ClassDict = dict [str , "Class" ]
2313+
22972314class Class :
2298- def __init__ (self , name , module = None , cls = None , typedef = None , type_object = None ):
2315+ def __init__ (
2316+ self ,
2317+ name : str ,
2318+ module : Module | None = None ,
2319+ cls = None ,
2320+ typedef : str | None = None ,
2321+ type_object : str | None = None
2322+ ) -> None :
22992323 self .name = name
23002324 self .module = module
23012325 self .cls = cls
23022326 self .typedef = typedef
23032327 self .type_object = type_object
23042328 self .parent = cls or module
23052329
2306- self .classes = collections .OrderedDict ()
2307- self .functions = []
2330+ self .classes : ClassDict = collections .OrderedDict ()
2331+ self .functions : list [ Function ] = []
23082332
2309- def __repr__ (self ):
2333+ def __repr__ (self ) -> str :
23102334 return "<clinic.Class " + repr (self .name ) + " at " + str (id (self )) + ">"
23112335
2312- unsupported_special_methods = set ("""
2336+
2337+ unsupported_special_methods : set [str ] = set ("""
23132338
23142339__abs__
23152340__add__
0 commit comments