| 2821 | |
| 2822 | @property |
| 2823 | def args(self): |
| 2824 | args = [] |
| 2825 | for param_name, param in self._signature.parameters.items(): |
| 2826 | if param.kind in (_VAR_KEYWORD, _KEYWORD_ONLY): |
| 2827 | break |
| 2828 | |
| 2829 | try: |
| 2830 | arg = self.arguments[param_name] |
| 2831 | except KeyError: |
| 2832 | # We're done here. Other arguments |
| 2833 | # will be mapped in 'BoundArguments.kwargs' |
| 2834 | break |
| 2835 | else: |
| 2836 | if param.kind == _VAR_POSITIONAL: |
| 2837 | # *args |
| 2838 | args.extend(arg) |
| 2839 | else: |
| 2840 | # plain argument |
| 2841 | args.append(arg) |
| 2842 | |
| 2843 | return tuple(args) |
| 2844 | |
| 2845 | @property |
| 2846 | def kwargs(self): |