Issue22506: added methods on base Enum class now show up in dir of Enum subclass (3.4)

This commit is contained in:
Ethan Furman 2014-10-14 08:58:32 -07:00
parent 39892055cd
commit 0ae550bdde
2 changed files with 18 additions and 1 deletions

View file

@ -464,7 +464,12 @@ class Enum(metaclass=EnumMeta):
return "%s.%s" % (self.__class__.__name__, self._name_)
def __dir__(self):
added_behavior = [m for m in self.__class__.__dict__ if m[0] != '_']
added_behavior = [
m
for cls in self.__class__.mro()
for m in cls.__dict__
if m[0] != '_'
]
return (['__class__', '__doc__', '__module__', 'name', 'value'] +
added_behavior)