Lichen

Graph

(0) +60 +100 +300 tip
Forbid self usage outside methods. Tidied/fixed affected built-in operations.
Added another test of chained attributes.
Handle unidentified invocation references.
Moved type/reference collection functions.
Moved test output encoder functions.
Attempt to show the attribute name sets that cannot be supported by known types.
Only define modules as objects if not replaced.
Tidied up verbose output.
Relaxed import restrictions to permit leaf module importing from packages.
Merged changes from the optional-self-parameter branch.
Added a test of inappropriate "from" importing of modules from packages.
Show empty function parameter lists using "{}" in cache output.
Exclude "self" from method parameters but include it in method locals. optional-self-parameter
During inspection, define "self" in methods in terms of the parent class. optional-self-parameter
Permit an implicit self in method parameters, adding method tests. optional-self-parameter
Incorporated deduction output analysis into the test runner, also reorganising.
Added the deducer module from PythonLight.
Changed nested scope tests to work without implicit name propagation.
Merged remove-name-inheritance branch.
Moved missing name recording into the importer, testing for name identification
Fixed built-in name identification in functions, also removing the missing name
Improved testing for unresolved names in inspected programs.
Added commentary about finding additional required modules.
Fixed retrieval of cached name references.
Moved method to related method section.
Adopted mutable references in order to propagate resolution consequences without
Added missing "is" and "is not" imports.
Expanded a docstring about name reference population and propagation.
Make modules providing dependencies required in modules accessing them.
Convert function local references where invocation results apply.
Do not queue the module of a built-in class when inspecting its own module.
Moved object resolution method to the end of the class.
Fixed special name resolution.
Separated external name reference definition from subsequent operations
Separated inspection-related naming methods from common module methods.
Minor comment reformatting.
Store removed modules for debugging purposes.
Added missing import.
Resolve hidden dependencies in initialisers.
Added checking of special names.
Ensure built-in type modules are imported and not discarded by parent modules.
Added a test for the presence of unresolved names.
Re-introduced import information to modules to assist cached module loading.
Moved special name handling into the inspector: cached modules do not use it.
Track required modules, either explicitly imported or providing dependencies, as
Changed the imports to observe leaf module assignment semantics.
Report unresolved dependencies. These are likely to occur because unknown names
Fixed import statement semantics to always provide the leaf module.
Inspect modules one at a time with imports queued and inter-module dependencies
Moved result classes into a separate module, also removing Ellipsis as a
Removed ellipsis and property support, renamed string to str for consistency.
Replaced * imports with explicit name imports.
Merge changes from default branch. remove-name-inheritance
Added missing test package file.
Added PythonLight alternative libraries.
Made lplc executable.
Added test runner script.
Removed support for if expressions and list comprehensions. remove-name-inheritance
Added tests from PythonLight.
Removed name inheritance from outer scopes. remove-name-inheritance
(0) +60 +100 +300 tip