micropython

Graph

(0) -300 -100 -60 +60 +100 +300 tip
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.
Introduced proper object visit tracking when collecting attributes.
Added attribute usage registration for branches where more specific attribute
Introduced a separate "unfinalisation" stage to avoid mixtures of old and new
Regenerate the object and parameter tables after the program objects have been
Introduced a test for classes as well as instances where specific types have
Added missing namespace finalisation for classes.
Reordered attribute/name traversal initialisation in order to avoid missing the
Added "unfinalisation" of attributes in order to properly redefine structures.
Introduced specific name usage so that attributes of classes and modules can be
Added incomplete work to introduce attribute deletion and object table
Changed the _attrnames annotation to map a number of names to attributes, thus
Connected attribute usage sets to assignment nodes.
Merged branches, retaining the namespace-based recording of attribute usage,
Added more attribute-related notes.
Changed else clause handling for attribute usage; added break and continue
Added tests for attribute deletion, currently disallowed.
Renamed a failure example.
Added elementary attribute name tracking based on the namespace where the
Added tests for attribute deletion, currently disallowed.
Added comments, Attr.exposes_name method.
(0) -300 -100 -60 +60 +100 +300 tip