summaryrefslogtreecommitdiffstats
path: root/Lib/inspect.py
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2022-01-17 12:58:40 (GMT)
committerGitHub <noreply@github.com>2022-01-17 12:58:40 (GMT)
commit42a64c03ec5c443f2a5c2ee4284622f5d1f5326c (patch)
treed5fffd97234c4a8481ee3f07a69107188f1faa7d /Lib/inspect.py
parent7f4b69b9076bdbcea31f6ad16eb125ee99cf0175 (diff)
downloadcpython-42a64c03ec5c443f2a5c2ee4284622f5d1f5326c.zip
cpython-42a64c03ec5c443f2a5c2ee4284622f5d1f5326c.tar.gz
cpython-42a64c03ec5c443f2a5c2ee4284622f5d1f5326c.tar.bz2
Revert "bpo-40066: [Enum] update str() and format() output (GH-30582)" (GH-30632)
This reverts commit acf7403f9baea3ae1119fc6b4a3298522188bf96.
Diffstat (limited to 'Lib/inspect.py')
-rw-r--r--Lib/inspect.py30
1 files changed, 16 insertions, 14 deletions
diff --git a/Lib/inspect.py b/Lib/inspect.py
index 8236698..5d33f0d 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -2567,21 +2567,15 @@ class _empty:
class _ParameterKind(enum.IntEnum):
- POSITIONAL_ONLY = 'positional-only'
- POSITIONAL_OR_KEYWORD = 'positional or keyword'
- VAR_POSITIONAL = 'variadic positional'
- KEYWORD_ONLY = 'keyword-only'
- VAR_KEYWORD = 'variadic keyword'
-
- def __new__(cls, description):
- value = len(cls.__members__)
- member = int.__new__(cls, value)
- member._value_ = value
- member.description = description
- return member
+ POSITIONAL_ONLY = 0
+ POSITIONAL_OR_KEYWORD = 1
+ VAR_POSITIONAL = 2
+ KEYWORD_ONLY = 3
+ VAR_KEYWORD = 4
- def __str__(self):
- return self.name
+ @property
+ def description(self):
+ return _PARAM_NAME_MAPPING[self]
_POSITIONAL_ONLY = _ParameterKind.POSITIONAL_ONLY
_POSITIONAL_OR_KEYWORD = _ParameterKind.POSITIONAL_OR_KEYWORD
@@ -2589,6 +2583,14 @@ _VAR_POSITIONAL = _ParameterKind.VAR_POSITIONAL
_KEYWORD_ONLY = _ParameterKind.KEYWORD_ONLY
_VAR_KEYWORD = _ParameterKind.VAR_KEYWORD
+_PARAM_NAME_MAPPING = {
+ _POSITIONAL_ONLY: 'positional-only',
+ _POSITIONAL_OR_KEYWORD: 'positional or keyword',
+ _VAR_POSITIONAL: 'variadic positional',
+ _KEYWORD_ONLY: 'keyword-only',
+ _VAR_KEYWORD: 'variadic keyword'
+}
+
class Parameter:
"""Represents a parameter in a function signature.