mirror of
https://github.com/python/cpython.git
synced 2026-01-26 21:03:34 +00:00
gh-135559: [Enum] dir() on a Flag now shows aliases (GH-136527)
This commit is contained in:
parent
ebf3427615
commit
26757d1351
@ -774,12 +774,16 @@ class EnumType(type):
|
||||
super().__delattr__(attr)
|
||||
|
||||
def __dir__(cls):
|
||||
if issubclass(cls, Flag):
|
||||
members = list(cls._member_map_.keys())
|
||||
else:
|
||||
members = cls._member_names_
|
||||
interesting = set([
|
||||
'__class__', '__contains__', '__doc__', '__getitem__',
|
||||
'__iter__', '__len__', '__members__', '__module__',
|
||||
'__name__', '__qualname__',
|
||||
]
|
||||
+ cls._member_names_
|
||||
+ members
|
||||
)
|
||||
if cls._new_member_ is not object.__new__:
|
||||
interesting.add('__new__')
|
||||
|
||||
@ -5529,12 +5529,16 @@ class TestEnumDict(unittest.TestCase):
|
||||
# helpers
|
||||
|
||||
def enum_dir(cls):
|
||||
if issubclass(cls, Flag):
|
||||
members = list(cls._member_map_.keys())
|
||||
else:
|
||||
members = cls._member_names_
|
||||
interesting = set([
|
||||
'__class__', '__contains__', '__doc__', '__getitem__',
|
||||
'__iter__', '__len__', '__members__', '__module__',
|
||||
'__name__', '__qualname__',
|
||||
]
|
||||
+ cls._member_names_
|
||||
+ members
|
||||
)
|
||||
if cls._new_member_ is not object.__new__:
|
||||
interesting.add('__new__')
|
||||
|
||||
@ -0,0 +1,2 @@
|
||||
Flag: a ``dir()`` on a ``Flag`` enumeration now shows non-canonical members.
|
||||
(i.e. aliases).
|
||||
Loading…
x
Reference in New Issue
Block a user