Lines Matching refs:cls

482     def __prepare__(metacls, cls, bases, **kwds):
484 metacls._check_for_existing_members_(cls, bases)
487 enum_dict._cls_name = cls
489 member_type, first_enum = metacls._get_mixins_(cls, bases)
496 def __new__(metacls, cls, bases, classdict, *, boundary=None, _simple=False, **kwds):
503 return super().__new__(metacls, cls, bases, classdict, **kwds)
527 member_type, first_enum = metacls._get_mixins_(cls, bases)
546 classdict['_value_repr_'] = metacls._find_data_repr_(cls, bases)
559 enum_class = super().__new__(metacls, cls, bases, classdict, **kwds)
639 Flag is None and cls != 'Flag'
679 def __bool__(cls):
685 def __call__(cls, value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None):
711 return cls.__new__(cls, value)
713 return cls._create_(
723 def __contains__(cls, member):
741 type(member).__qualname__, cls.__class__.__qualname__))
742 return isinstance(member, cls) and member._name_ in cls._member_map_
744 def __delattr__(cls, attr):
747 if attr in cls._member_map_:
748 raise AttributeError("%r cannot delete member %r." % (cls.__name__, attr))
751 def __dir__(cls):
757 + cls._member_names_
759 if cls._new_member_ is not object.__new__:
761 if cls.__init_subclass__ is not object.__init_subclass__:
763 if cls._member_type_ is object:
767 return sorted(set(dir(cls._member_type_)) | interesting)
769 def __getattr__(cls, name):
781 return cls._member_map_[name]
785 def __getitem__(cls, name):
789 return cls._member_map_[name]
791 def __iter__(cls):
795 return (cls._member_map_[name] for name in cls._member_names_)
797 def __len__(cls):
801 return len(cls._member_names_)
804 def __members__(cls):
811 return MappingProxyType(cls._member_map_)
813 def __repr__(cls):
814 if Flag is not None and issubclass(cls, Flag):
815 return "<flag %r>" % cls.__name__
817 return "<enum %r>" % cls.__name__
819 def __reversed__(cls):
823 return (cls._member_map_[name] for name in reversed(cls._member_names_))
825 def __setattr__(cls, name, value):
833 member_map = cls.__dict__.get('_member_map_', {})
838 def _create_(cls, class_name, names, *, module=None, qualname=None, type=None, start=1, boundary=None):
850 metacls = cls.__class__
851 bases = (cls, ) if type is None else (type, cls)
852 _, first_enum = cls._get_mixins_(class_name, bases)
890 def _convert_(cls, name, module, filter, source=None, *, boundary=None, as_global=False):
920 cls = _simple_enum(etype=cls, boundary=boundary or KEEP)(tmp_cls)
921 cls.__reduce_ex__ = _reduce_ex_by_global_name
923 global_enum(cls)
925 sys.modules[cls.__module__].__dict__.update(cls.__members__)
926 module_globals[name] = cls
927 return cls
1091 def __new__(cls, value):
1095 if type(value) is cls:
1101 return cls._value2member_map_[value]
1107 for member in cls._member_map_.values():
1113 result = cls._missing_(value)
1118 if isinstance(result, cls):
1121 Flag is not None and issubclass(cls, Flag)
1122 and cls._boundary_ is EJECT and isinstance(result, int)
1126 ve_exc = ValueError("%r is not a valid %s" % (value, cls.__qualname__))
1132 % (cls.__name__, result)
1181 def _missing_(cls, value):
1202 for cls in self.__class__.mro():
1203 for name, obj in cls.__dict__.items():
1266 def __new__(cls, *values):
1283 member = str.__new__(cls, value)
1318 cls = self.__class__
1319 unknown = self._value_ & ~cls._flag_mask_
1320 member_value = self._value_ & cls._flag_mask_
1322 return _or_, (cls(member_value), unknown)
1326 return _or_, (cls(rest), cls._value2member_map_.get(val))
1330 return cls, (self._value_,)
1332 return getattr, (cls, self._name_)
1355 def _iter_member_by_value_(cls, value):
1359 for val in _iter_bits_lsb(value & cls._flag_mask_):
1360 yield cls._value2member_map_.get(val)
1365 def _iter_member_by_def_(cls, value):
1370 cls._iter_member_by_value_(value),
1375 def _missing_(cls, value):
1383 "%r is not a valid %s" % (value, cls.__qualname__)
1389 flag_mask = cls._flag_mask_
1390 singles_mask = cls._singles_mask_
1391 all_bits = cls._all_bits_
1397 if cls._boundary_ is STRICT:
1401 cls, value, bin(value, max_bits), bin(flag_mask, max_bits),
1403 elif cls._boundary_ is CONFORM:
1405 elif cls._boundary_ is EJECT:
1407 elif cls._boundary_ is KEEP:
1415 '%r unknown flag boundary %r' % (cls, cls._boundary_, )
1424 if unknown and cls._boundary_ is not KEEP:
1427 % (cls.__name__, value, unknown, bin(unknown))
1430 if cls._member_type_ is object:
1432 pseudo_member = object.__new__(cls)
1434 pseudo_member = cls._member_type_.__new__(cls, value)
1440 for m in cls._iter_member_(member_value):
1445 for n, pm in cls._member_map_.items():
1453 elif unknown and cls._boundary_ is STRICT:
1454 raise ValueError('%r: no members with value %r' % (cls, unknown))
1456 pseudo_member._name_ += '|%s' % cls._numeric_repr_(unknown)
1463 pseudo_member = cls._value2member_map_.setdefault(value, pseudo_member)
1465 cls._value2member_map_[neg_value] = pseudo_member
1626 def global_enum(cls, update_str=False):
1632 if issubclass(cls, Flag):
1633 cls.__repr__ = global_flag_repr
1635 cls.__repr__ = global_enum_repr
1636 if not issubclass(cls, ReprEnum) or update_str:
1637 cls.__str__ = global_str
1638 sys.modules[cls.__module__].__dict__.update(cls.__members__)
1639 return cls
1657 def convert_class(cls):
1659 cls_name = cls.__name__
1662 __new__ = cls.__dict__.get('__new__')
1693 for name, obj in cls.__dict__.items():
1700 if cls.__dict__.get('__doc__') is None:
2049 cls = etype(name, members, module=module, boundary=boundary or KEEP)
2050 cls.__reduce_ex__ = _reduce_ex_by_global_name
2051 return cls