Lines Matching refs:enum_class
241 def __set_name__(self, enum_class, member_name):
245 # first step: remove ourself from enum_class
246 delattr(enum_class, member_name)
247 # second step: create member based on enum_class
253 if enum_class._member_type_ is tuple: # special case for tuple enums
255 if not enum_class._use_args_:
256 enum_member = enum_class._new_member_(enum_class)
258 enum_member = enum_class._new_member_(enum_class, *args)
260 if enum_class._member_type_ is object:
264 enum_member._value_ = enum_class._member_type_(*args)
273 enum_member.__objclass__ = enum_class
275 enum_member._sort_order_ = len(enum_class._member_names_)
277 if Flag is not None and issubclass(enum_class, Flag):
278 enum_class._flag_mask_ |= value
280 enum_class._singles_mask_ |= value
281 enum_class._all_bits_ = 2 ** ((enum_class._flag_mask_).bit_length()) - 1
288 enum_member = enum_class._value2member_map_[value]
290 for name, canonical_member in enum_class._member_map_.items():
301 or not issubclass(enum_class, Flag)
304 enum_class._member_names_.append(member_name)
307 and issubclass(enum_class, Flag)
311 enum_class._member_names_.append(member_name)
314 for base in enum_class.__mro__[1:]:
330 redirect.__set_name__(enum_class, member_name)
335 setattr(enum_class, member_name, redirect)
337 setattr(enum_class, member_name, enum_member)
339 enum_class._member_map_[member_name] = enum_member
344 enum_class._value2member_map_.setdefault(value, enum_member)
347 enum_class._unhashable_values_.append(value)
559 enum_class = super().__new__(metacls, cls, bases, classdict, **kwds)
568 classdict.update(enum_class.__dict__)
583 enum_class.__format__ = member_type.__format__
584 classdict['__format__'] = enum_class.__format__
591 enum_class.__str__ = method
592 classdict['__str__'] = enum_class.__str__
597 found_method = getattr(enum_class, name)
601 setattr(enum_class, name, enum_method)
604 if Flag is not None and issubclass(enum_class, Flag):
612 setattr(enum_class, name, enum_method)
621 enum_class.__new_member__ = __new__
622 enum_class.__new__ = Enum.__new__
627 # - if enum_class is a Flag:
640 or Flag is not None and not issubclass(enum_class, Flag)
642 delattr(enum_class, '_boundary_')
643 delattr(enum_class, '_flag_mask_')
644 delattr(enum_class, '_singles_mask_')
645 delattr(enum_class, '_all_bits_')
646 delattr(enum_class, '_inverted_')
647 elif Flag is not None and issubclass(enum_class, Flag):
649 member_list = [m._value_ for m in enum_class]
651 enum_class._iter_member_ = enum_class._iter_member_by_def_
657 if o not in enum_class._member_map_ or _is_single_bit(enum_class[o]._value_)
666 o not in enum_class._member_map_
668 (o in enum_class._member_map_ and o in enum_class._member_names_)
671 if _order_ != enum_class._member_names_:
674 % (enum_class._member_names_, _order_)
677 return enum_class
1707 enum_class = type(cls_name, (etype, ), body, boundary=boundary, _simple=True)
1712 found_method = getattr(enum_class, name)
1716 setattr(enum_class, name, enum_method)
1718 if issubclass(enum_class, Flag):
1727 redirect.__set_name__(enum_class, name)
1728 setattr(enum_class, name, redirect)
1735 member = new_member(enum_class, *value)
1738 member = new_member(enum_class)
1742 member.__objclass__ = enum_class
1745 redirect.__set_name__(enum_class, name)
1746 setattr(enum_class, name, redirect)
1757 enum_class._flag_mask_ = single_bits | multi_bits
1758 enum_class._singles_mask_ = single_bits
1759 enum_class._all_bits_ = 2 ** ((single_bits|multi_bits).bit_length()) - 1
1761 member_list = [m._value_ for m in enum_class]
1763 enum_class._iter_member_ = enum_class._iter_member_by_def_
1774 redirect.__set_name__(enum_class, name)
1775 setattr(enum_class, name, redirect)
1782 member = new_member(enum_class, *value)
1785 member = new_member(enum_class)
1789 member.__objclass__ = enum_class
1793 redirect.__set_name__(enum_class, name)
1794 setattr(enum_class, name, redirect)
1800 enum_class.__new_member__ = enum_class.__new__
1801 enum_class.__new__ = Enum.__new__
1802 return enum_class