micropython

Graph

(0) -300 -100 -60 +60 +100 +300 tip
Moved base class references to within class namespaces.
Moved methods, added comments and docstrings.
Fixed usage of built-in types, also fixing declarations of specific attribute
Removed object usage in the builtins and permitted the absence of generated
Attempted to introduce a more conservative approach to visiting program units
Changed the importer's attributes_used register to hold the full paths of all
Moved the namespace lookup logic into NamespaceDict; this permits scope usage
Fixed exception attribute initialisation for translation errors.
Fixed inspection of global usage after declarations in locals.
Fixed overwriting of exception source details.
Simplified exception raising so that the current node and unit name are added to
Fixed the listiterator.next method to raise an exception instance.
Fixed the fragment occupied size upon extending a list.
Fixed memory allocation for list fragments.
Merged branches, added a separate test of xrange and lists.
Fixed scope handling where names are imported into namespaces.
Merged dynamic/nested function and general development branches.
Replaced the native mechanism for list initialisation with a Python-based
Introduced the notion of dynamic definitions, to be used in conjunction with the
Changed the function/lambda support to generate special function instances for
Changed parameter initialisation to explicitly use Instance() instead of None.
Fixed function name to avoid conflict with keyword.
Added a test of nested functions.
Added null argument notation in order to actually support other arguments when
Removed usage of getattr by introducing lambda functions providing the methods
Added a missing operator definition to micropython.common.augassign_methods.
Added node qualification of name usage, since some name usage really involves
Moved common functionality into a superclass, introducing generic raw image
Tidied the output further, adding CSS class overrides for certain types of name.
Added the _def attribute to AST nodes in order to refer to inspected objects.
Changed the initialisation of Summariser instances.
Moved a test into the failure category.
Fixed program initialisation.
Fixed errors when overspecific attribute usage caused the removal of attributes,
Removed links to "" in the graph output.
Attempted to make the API more regular.
Added an elementary mechanism for estimating the cost of executed instructions,
Prevented propagation of mutable users information.
Introduced loop nodes as attribute users tracking attribute usage.
Fixed while loop test boolean evaluation.
Simplified the usage tracking by merely recording active users (providers) of
Added a CheckType instruction for specific class membership testing.
Fixed usage merging where names are defined below the current level in the
Introduced a distinction between speculative attribute usage, which should
Added comments for the attribute usage namespace attributes.
Added attribute user node shelving and merging in order to affect nodes which
Added recording of abandoned attribute usage specifically for attribute users
Fixed ordering of statements which abandon attribute usage.
Prevent re-entry into the attribute collection for an object.
Introduced abandoned shelves of attribute usage which are used to provide
Added control-flow branch abandonment for statements like break, continue, raise
Made attribute deletion usage cause a warning during inspection, not an error,
Distinguished between class and instance attributes when generating guards for
Made InspectError a subclass of NodeProcessingError.
Added optimisations note.
Added tests of class attribute behaviour, including a test of "foreign" class
Added information for interactive usage.
Added a test of attribute access optimisation relevance where non-class,
Changed the guard code generation to not attempt to generate guards for
Added another reference.
(0) -300 -100 -60 +60 +100 +300 tip