Skip to content

Commit 0a5bd6e

Browse files
bfraschersebastinas
authored andcommitted
Correctly reference inspect parameter kinds
Instead of referencing parameter kinds as class attributes on the private `_ParameterKind` class we reference them on the public `Parameter` class. This has two advantages: 1) We don't use a private interface. 2) The class attributes on `_ParameterKind` have only been added in Python 3.5, but on `Parameter` they have existed since Python 3.3.
1 parent a9407b6 commit 0a5bd6e

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

bpython/inspection.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -304,18 +304,18 @@ def get_argspec_from_signature(f):
304304
if parameter.annotation is not inspect._empty:
305305
annotations[parameter.name] = parameter.annotation
306306

307-
if parameter.kind == inspect._ParameterKind.POSITIONAL_OR_KEYWORD:
307+
if parameter.kind == inspect.Parameter.POSITIONAL_OR_KEYWORD:
308308
args.append(parameter.name)
309309
if parameter.default is not inspect._empty:
310310
defaults.append(parameter.default)
311-
elif parameter.kind == inspect._ParameterKind.POSITIONAL_ONLY:
311+
elif parameter.kind == inspect.Parameter.POSITIONAL_ONLY:
312312
args.append(parameter.name)
313-
elif parameter.kind == inspect._ParameterKind.VAR_POSITIONAL:
313+
elif parameter.kind == inspect.Parameter.VAR_POSITIONAL:
314314
varargs = parameter.name
315-
elif parameter.kind == inspect._ParameterKind.KEYWORD_ONLY:
315+
elif parameter.kind == inspect.Parameter.KEYWORD_ONLY:
316316
kwonly.append(parameter.name)
317317
kwonly_defaults[parameter.name] = parameter.default
318-
elif parameter.kind == inspect._ParameterKind.VAR_KEYWORD:
318+
elif parameter.kind == inspect.Parameter.VAR_KEYWORD:
319319
varkwargs = parameter.name
320320

321321
# inspect.getfullargspec returns None for 'defaults', 'kwonly_defaults' and

0 commit comments

Comments
 (0)