401:4a8dd27c2994
|
2011-02-27 |
Paul Boddie |
changeset
files
shortlog
graph
|
Switched back to providing a common __class__ attribute for instances,
intercepting __class__ accesses on classes during inspection, compilation and,
through appropriate instruction sequences, execution.
Exposed target details in the optimise_constant_accessor method's results.
Exposed dynamic/static details in the possible_accessor_types ASTVisitor
method's results.
Improved frame stack visualisation in the RSVP machine. |
|
|
TO_DO.txt docs/concepts.txt lib/builtins.py micropython/common.py micropython/data.py micropython/inspect.py micropython/opt.py micropython/rsvp.py micropython/trans.py rsvp.py ...
|
|
400:5c5cddf971cb
|
2011-02-26 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added tag feature-universal-__class__-attributes for changeset 83dc777c7083 |
|
|
.hgtags
|
|
399:83dc777c7083
|
2011-02-25 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed constant raw image generation to actually refer to the class of each
constant.
Referenced NoneType and NotImplementedType so that the standard constants can be
generated.
Added a __class__ attribute to function instances.
Fixed exception raising so that __class__ is included in allocated exception
instances.
Fixed item retrieval from list fragments which had erroneously been changed to
resemble tuple item retrieval.
Fixed list fragment reference initialisation for list literals.
Added start and end parameters to the RSVPMachine.show method.
Added an up method to RSVPMachine as a complement to the step and run methods. |
feature-universal-__class__-attributes |
|
lib/builtins.py micropython/data.py micropython/rsvp.py micropython/trans.py rsvp.py rsvplib.py
|
|
398:62d65b1b7936
|
2011-02-20 |
Paul Boddie |
changeset
files
shortlog
graph
|
Improved exception block tracking in order to make sure that such blocks are
discarded when program units are exited.
Added a stack to track invocation frame state when handlers are defined,
although this could arguably be merged with the locals frame state handling. |
|
|
docs/exceptions.txt micropython/ast.py micropython/rsvp.py micropython/trans.py rsvp.py
|
|
397:7cc5058cbfb6
|
2011-02-20 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed __class__ to always be at instance attribute position 0, thus matching its
class attribute position.
Added notes about the __class__ attribute, its definition in the object table,
and the copying of the attribute from instance templates upon instantiation. |
|
|
docs/concepts.txt micropython/data.py
|
|
396:5692f2b87aab
|
2011-02-20 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed __class__ to always be at attribute position 0. |
|
|
micropython/data.py
|
|
395:53332d0be6ac
|
2011-02-19 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added __class__ attribute locations to constants and statically generated lists
and tuples.
Changed the RSVP machine and library to use common definitions for object data
offsets and primitive object sizes.
Changed the isinstance implementation to make use of changes to the __class__
attribute on classes and instances. |
|
|
lib/builtins.py micropython/rsvp.py micropython/trans.py rsvp.py rsvplib.py
|
|
394:9c6deab845e0
|
2011-01-29 |
Paul Boddie |
changeset
files
shortlog
graph
|
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. |
|
|
TO_DO.txt docs/concepts.txt micropython/__init__.py micropython/data.py micropython/inspect.py micropython/rsvp.py micropython/table.py micropython/trans.py rsvp.py tests/class_attr_ref_to_class.py ...
|
|
393:820ab4a8b723
|
2011-01-13 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added initial support for the print statement.
Added a check for attributes having been defined when vacuuming objects. |
|
|
lib/builtins.py micropython/ast.py micropython/inspect.py micropython/trans.py tests/print.py
|
|
392:e45c2eb227a3
|
2010-11-06 |
Paul Boddie |
changeset
files
shortlog
graph
|
Added some references. |
|
|
docs/related.txt
|
|