2011-01-29 |
Paul Boddie |
file
changeset
files
shortlog
|
Introduced a degree of support for classes and instances having separate
__class__ attributes that are accessed in a class/instance-relative fashion.
Added the __class__ attribute as a special case of a non-static attribute. This
changes code generation such that a constant accessor (a class) may yield an
attribute which should not be accessed via a fixed location. (Although this may
be cautious and also limited by the behaviour of the object table, if class
attribute assignment is to be permitted in future, more distinctions between
apparently static attributes may need to be enforced.)
Made the type class a special case which is created in advance so that all
classes may refer to it via their __class__ attributes, and whose details are
populated when the class is actually encountered in the __builtins__ module.
Made extra space in the instance templates for the __class__ attribute, adding
support for the copying of this data when new instances are created.
Introduced type-specific vacuum support in order to correctly perform vacuuming.
Changed various class references in the micropython module.
Tidied up to "to do" document, putting items into separate sections.
Added various tests of the new features. |
|