(signature: Signature, *extra: Parameter)
| 38 | |
| 39 | |
| 40 | def _augment_signature(signature: Signature, *extra: Parameter) -> Signature: |
| 41 | if not extra: |
| 42 | return signature |
| 43 | |
| 44 | parameters = list(signature.parameters.values()) |
| 45 | variadic_keyword_params: List[Parameter] = [] |
| 46 | while parameters and parameters[-1].kind is Parameter.VAR_KEYWORD: |
| 47 | variadic_keyword_params.append(parameters.pop()) |
| 48 | |
| 49 | return signature.replace(parameters=[*parameters, *extra, *variadic_keyword_params]) |
| 50 | |
| 51 | |
| 52 | def _locate_param( |