]> granicus.if.org Git - python/commit
Allow assignments to special class attributes -- with typechecks, and
authorGuido van Rossum <guido@python.org>
Fri, 29 May 1998 21:37:21 +0000 (21:37 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 29 May 1998 21:37:21 +0000 (21:37 +0000)
commita63eff6e6aac8325cb3542a2d678cfc69fa8597e
treeb41dcde4dae24912d027cb506f70a4a955bb1ec4
parentfe216b79373c9cb70b1c880abd5b21e87668f157
Allow assignments to special class attributes -- with typechecks, and
not in restricted mode.

__dict__ can be set to any dictionary; the cl_getattr, cl_setattr and
cl_delattr slots are refreshed.

__name__ can be set to any string.

__bases__ can be set to to a tuple of classes, provided they are not
subclasses of the class whose attribute is being assigned.

__getattr__, __setattr__ and __delattr__ can be set to anything, or
deleted; the appropriate slot (cl_getattr, cl_setattr, cl_delattr) is
refreshed.

(Note: __name__ really doesn't need to be a special attribute, but
that would be more work.)
Objects/classobject.c