Build function signature from lists of positional and optional argument names.
(positional: Sequence[str], optional: Sequence[str])
| 479 | |
| 480 | |
| 481 | def build_signature(positional: Sequence[str], optional: Sequence[str]) -> str: |
| 482 | """Build function signature from lists of positional and optional argument names.""" |
| 483 | args: MutableSequence[str] = [] |
| 484 | args.extend(positional) |
| 485 | for arg in optional: |
| 486 | if arg.startswith("*"): |
| 487 | args.append(arg) |
| 488 | else: |
| 489 | args.append(f"{arg}=...") |
| 490 | sig = f"({', '.join(args)})" |
| 491 | # Ad-hoc fixes. |
| 492 | sig = sig.replace("(self)", "") |
| 493 | return sig |
| 494 | |
| 495 | |
| 496 | def parse_all_signatures(lines: Sequence[str]) -> tuple[list[Sig], list[Sig]]: |
searching dependent graphs…