Lichen

Graph

(0) -100 -60 +60 +100 +300 tip
Fixed default parameter filling, using the minimum number of arguments as the
Ensure that constant accessors really are static in attribute plans.
Removed various superfluous exception classes, also enhancing IndexError.
Added support for exception handler name assignments.
Tidied up memory allocation and error handling.
Added a program representation for buffer instances.
Fixed attribute access instructions employing known, static accessors.
Propagate inherited, non-static attributes to subclasses.
Detect assignments and invocations through original access locations.
Updated expected results.
Return class names for string representations, making instance representations
Fixed the buffer length computation when serialising.
Introduced the remaining store operations, raising TypeError for class-relative
Added support for function names using the __fname__ attribute, combining it
Fixed global name accesses and assignments, particularly for mutated globals.
Preserve alias information for serialised references so that mutated names
Changed serialisation to handle classes separately, since .__str__ and
Fixed constant instance attributes and added special support for __name__.
Removed confusing alias information from attribute details.
Added another failure test.
Use computed targets for known callables, thus obtaining bound methods.
Added expected results.
Support direct access to known callables when function pointers cannot be used.
Test for __args__ on callables when preparing generic invocations.
Show the full test details in the output.
Added commentary and docstrings.
Added support for guards after name assignments.
Added guard generation for function parameters.
Simplified test invocation generation.
Change __test_context to only raise a TypeError for instance contexts,
Propagate accessor kinds for accesses so that only functions and bound methods
Raise TypeError when context tests fail.
Only generate signatures for generated literal instantiators.
Added issubclass and improved isinstance, also introducing various native
Added get_using support. Also added various representation methods.
Make sure that variable references are assigned to names appropriately.
Sketched out the attribute inspection support somewhat.
Fixed list and tuple initialisation via their initialisers.
Fixed assignments involving invocations that provide unknown results.
Produce a proper error when too many arguments are given for an invocation.
Put sequence functionality into a common base class for list and tuple.
Fixed plain accesses occurring in invocation arguments to not be considered as
Added initial program representation (repr and __repr__) support.
Treat buffer initialisation arguments as append inputs.
Added tests of buffers and list serialisation.
Prevent iteration over strings. Added a docstring to NoneType.
Added missing index increment when traversing lists for serialisation.
Automatically convert non-buffer, non-string objects to strings for appending.
Omit aliases that are identical to origins when serialising references.
Update the __data__ attribute when fragment addresses change.
Added print statements for testing purposes.
Fixed anonymous accesses, preventing accidental lookup of None.
Fixed variable names making attribute chain access details available.
Introduced specific instance size constants for functions employing defaults.
Prevent lambdas with defaults being referenced as static function objects.
Made buffer initialisation more robust. Fixed list growth from empty and buffer
Switched from using macro aliases to constant pointer aliases (missing C++-style
Added support for unary negation of integers.
Fixed fragment allocation in the native functions and added some list and buffer
Removed handling of stray assignment nodes.
(0) -100 -60 +60 +100 +300 tip