MCPcopy Index your code
hub / github.com/python/cpython / _frozen_get_del_attr

Function _frozen_get_del_attr

Lib/dataclasses.py:728–748  ·  view source on GitHub ↗
(cls, fields, func_builder)

Source from the content-addressed store, hash-verified

726
727
728def _frozen_get_del_attr(cls, fields, func_builder):
729 locals = {'cls': cls,
730 'FrozenInstanceError': FrozenInstanceError}
731 condition = 'type(self) is cls'
732 if fields:
733 condition += ' or name in {' + ', '.join(repr(f.name) for f in fields) + '}'
734
735 func_builder.add_fn('__setattr__',
736 ('self', 'name', 'value'),
737 (f' if {condition}:',
738 ' raise FrozenInstanceError(f"cannot assign to field {name!r}")',
739 f' super(cls, self).__setattr__(name, value)'),
740 locals=locals,
741 overwrite_error=True)
742 func_builder.add_fn('__delattr__',
743 ('self', 'name'),
744 (f' if {condition}:',
745 ' raise FrozenInstanceError(f"cannot delete field {name!r}")',
746 f' super(cls, self).__delattr__(name)'),
747 locals=locals,
748 overwrite_error=True)
749
750
751def _is_classvar(a_type, typing):

Callers 1

_process_classFunction · 0.85

Calls 2

add_fnMethod · 0.80
joinMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…