@@ -295,35 +295,29 @@ def doctype_to_annotation(self, doctype):
295295 self ._collected_imports = None
296296 self ._unknown_qualnames = None
297297
298- def __default__ (self , data , children , meta ):
299- """Unpack children of rule nodes by default.
300-
298+ def annotation_with_meta (self , tree ):
299+ """
301300 Parameters
302301 ----------
303- data : lark.Token
304- The rule-token of the current node.
305- children : list[lark.Token]
306- The children of the current node.
307- meta : lark.tree.Meta
308- Meta information for the current node.
302+ tree : lark.Tree
309303
310304 Returns
311305 -------
312- out : lark.Token or list[lark.Token]
313- Either a token or list of tokens.
306+ out : str
314307 """
315- if isinstance (children , list ) and len (children ) == 1 :
316- out = children [0 ]
317- out .type = data .upper () # Turn rule into "token"
318- else :
319- out = children
320- return out
321-
322- def annotation_with_meta (self , tree ):
323308 out = " | " .join (tree .children )
324309 return out
325310
326311 def qualname (self , tree ):
312+ """
313+ Parameters
314+ ----------
315+ tree : lark.Tree
316+
317+ Returns
318+ -------
319+ out : lark.Token
320+ """
327321 children = tree .children
328322 _qualname = "." .join (children )
329323
@@ -346,21 +340,57 @@ def qualname(self, tree):
346340 return _qualname
347341
348342 def rst_role (self , tree ):
343+ """
344+ Parameters
345+ ----------
346+ tree : lark.Tree
347+
348+ Returns
349+ -------
350+ out : lark.Token
351+ """
349352 qualname = _find_one_token (tree , name = "QUALNAME" )
350353 return qualname
351354
352355 def or_expression (self , tree ):
356+ """
357+ Parameters
358+ ----------
359+ tree : lark.Tree
360+
361+ Returns
362+ -------
363+ out : str
364+ """
353365 out = " | " .join (tree .children )
354366 return out
355367
356368 def subscription_expression (self , tree ):
369+ """
370+ Parameters
371+ ----------
372+ tree : lark.Tree
373+
374+ Returns
375+ -------
376+ out : str
377+ """
357378 _container , * _content = tree .children
358379 _content = ", " .join (_content )
359380 assert _content
360381 out = f"{ _container } [{ _content } ]"
361382 return out
362383
363384 def literal_expression (self , tree ):
385+ """
386+ Parameters
387+ ----------
388+ tree : lark.Tree
389+
390+ Returns
391+ -------
392+ out : str
393+ """
364394 out = ", " .join (tree .children )
365395 out = f"Literal[{ out } ]"
366396 if self .types_db is not None :
@@ -370,13 +400,31 @@ def literal_expression(self, tree):
370400 return out
371401
372402 def array_expression (self , tree ):
403+ """
404+ Parameters
405+ ----------
406+ tree : lark.Tree
407+
408+ Returns
409+ -------
410+ out : str
411+ """
373412 name = _find_one_token (tree , name = "ARRAY_NAME" )
374413 children = [child for child in tree .children if child != name ]
375414 if children :
376415 name = f"{ name } [{ ', ' .join (children )} ]"
377- return name
416+ return str ( name )
378417
379418 def array_name (self , tree ):
419+ """
420+ Parameters
421+ ----------
422+ tree : lark.Tree
423+
424+ Returns
425+ -------
426+ out : lark.Token
427+ """
380428 # Treat `array_name` as `qualname`, but mark it as an array name,
381429 # so we know which one to treat as the container in `array_expression`
382430 # This currently relies on a hack that only allows specific names
@@ -386,17 +434,68 @@ def array_name(self, tree):
386434 return qualname
387435
388436 def shape (self , tree ):
437+ """
438+ Parameters
439+ ----------
440+ tree : lark.Tree
441+
442+ Returns
443+ -------
444+ out : lark.visitors._DiscardType
445+ """
389446 logger .debug ("dropping shape information" )
390447 return lark .Discard
391448
392449 def optional (self , tree ):
450+ """
451+ Parameters
452+ ----------
453+ tree : lark.Tree
454+
455+ Returns
456+ -------
457+ out : lark.visitors._DiscardType
458+ """
393459 logger .debug ("dropping optional / default info" )
394460 return lark .Discard
395461
396462 def extra_info (self , tree ):
463+ """
464+ Parameters
465+ ----------
466+ tree : lark.Tree
467+
468+ Returns
469+ -------
470+ out : lark.visitors._DiscardType
471+ """
397472 logger .debug ("dropping extra info" )
398473 return lark .Discard
399474
475+ def __default__ (self , data , children , meta ):
476+ """Unpack children of rule nodes by default.
477+
478+ Parameters
479+ ----------
480+ data : lark.Token
481+ The rule-token of the current node.
482+ children : list[lark.Token]
483+ The children of the current node.
484+ meta : lark.tree.Meta
485+ Meta information for the current node.
486+
487+ Returns
488+ -------
489+ out : lark.Token or list[lark.Token]
490+ Either a token or list of tokens.
491+ """
492+ if isinstance (children , list ) and len (children ) == 1 :
493+ out = children [0 ]
494+ out .type = data .upper () # Turn rule into "token"
495+ else :
496+ out = children
497+ return out
498+
400499 def _match_import (self , qualname , * , meta ):
401500 """Match `qualname` to known imports or alias to "Incomplete".
402501
0 commit comments