345:d44c000714fa
|
2010-06-16 |
Paul Boddie |
changeset
files
shortlog
graph
|
Attempted to introduce a more conservative approach to visiting program units
and collecting attributes.
Moved the declaration of StopIteration into the inspection method for the "for"
statement.
Added module registration so that attribute collection successfully visits
imported modules. |
|
|
lib/builtins.py micropython/__init__.py micropython/inspect.py
|
|
344:08d995d1304a
|
2010-06-15 |
Paul Boddie |
changeset
files
shortlog
graph
|
Changed the importer's attributes_used register to hold the full paths of all
attributes since queries of that register are usually done with full paths to
specific objects.
Moved the InspectedModule.finalise_namespace method to NamespaceDict as
finalise_attribute_usage.
Fixed global attribute access in NamespaceDict, ensuring that globals are known
as locals in the module namespace, thus preventing scope conflict problems.
Fixed the test_all.py script to record inspection errors. |
|
|
micropython/__init__.py micropython/data.py micropython/inspect.py test_all.py
|
|
343:6be1700e4902
|
2010-06-14 |
Paul Boddie |
changeset
files
shortlog
graph
|
Moved the namespace lookup logic into NamespaceDict; this permits scope usage
analysis and conflict detection.
Renamed the ambiguous 'module' attribute to 'astnode' on various classes.
Moved the AtLeast class into micropython.common.
Added various test cases around scope conflicts. |
|
|
TO_DO.txt micropython/ast.py micropython/common.py micropython/data.py micropython/inspect.py micropython/trans.py tests/failure/shadow_globals_builtins_conflict.py tests/failure/shadow_globals_builtins_conflict_implicit.py tests/failure/shadow_locals_globals_if.py
|
|
342:c7c2119483cf
|
2010-06-13 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed exception attribute initialisation for translation errors.
Reintroduced the _scope attribute on AST nodes in order to support supposedly
harmless changes in scope (such as the "importing" of a built-in or global into
a local scope where the name is redefined subsequently).
Reorganised the tests according to the above shadowing policy change.
Introduced tentative slicing support plus built-in functions that rely on
slicing. |
|
|
TO_DO.txt lib/builtins.py micropython/ast.py micropython/common.py micropython/inspect.py micropython/trans.py tests/failure/shadow_class_global.py tests/failure/shadow_class_global_reassign.py tests/failure/shadow_globals_builtins.py tests/failure/shadow_locals_globals.py ...
|
|
341:334af78f7931
|
2010-06-12 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed inspection of global usage after declarations in locals.
Added list comprehension inspection to avoid scope errors. |
|
|
micropython/inspect.py
|
|
340:3851a63280ff
|
2010-06-12 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed overwriting of exception source details. |
|
|
micropython/common.py
|
|
339:b8c6ae738723
|
2010-06-12 |
Paul Boddie |
changeset
files
shortlog
graph
|
Simplified exception raising so that the current node and unit name are added to
raised exceptions automatically.
Improved line number reporting in exceptions.
Removed the previous _scope annotations on AST nodes, handling scope conflicts
in the inspection process.
Added the note_scope and used_in_scope methods and the scope_usage attribute to
namespaces in order to track any external scope usage recorded for names.
Changed various tests to not employ name shadowing.
Added various tests which should exhibit failure due to name shadowing.
Fixed the xrange test which previously used name shadowing. |
|
|
micropython/ast.py micropython/common.py micropython/data.py micropython/inspect.py micropython/trans.py tests/attributes_class_bind_function.py tests/attributes_class_bind_function_inherited.py tests/attributes_class_bind_function_inherited_internal.py tests/attributes_class_bind_function_inherited_via_self.py tests/attributes_class_bind_function_internal.py ...
|
|
338:475fd98986d9
|
2010-06-12 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed the listiterator.next method to raise an exception instance.
Added a tuple.__iter__ implementation.
Removed "__init__" from the names_always_used list, introducing it into the
attribute coverage mechanism.
Fixed unknown name detection in the translation code.
Fixed an example where globals were used before being defined. |
|
|
lib/builtins.py micropython/__init__.py micropython/trans.py tests/op_add_default.py
|
|
337:d2231267c557
|
2010-06-12 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed the fragment occupied size upon extending a list. |
|
|
rsvplib.py
|
|
336:171279c4c97a
|
2010-06-12 |
Paul Boddie |
changeset
files
shortlog
graph
|
Fixed memory allocation for list fragments. |
|
|
lib/builtins.py rsvp.py rsvplib.py
|
|