paul@343 | 1 | Consider labelling _scope on assignments and dealing with the assignment of removed
|
paul@343 | 2 | attributes, possibly removing the entire assignment, and distinguishing between such cases
|
paul@343 | 3 | and unknown names.
|
paul@343 | 4 |
|
paul@342 | 5 | Check name origin where multiple branches could yield multiple scope interpretations:
|
paul@342 | 6 |
|
paul@342 | 7 | ----
|
paul@342 | 8 | try:
|
paul@342 | 9 | set # built-in name
|
paul@342 | 10 | except NameError:
|
paul@342 | 11 | from sets import Set as set # local definition of name
|
paul@342 | 12 |
|
paul@342 | 13 | set # could be confused by the local definition at run-time
|
paul@342 | 14 | ----
|
paul@342 | 15 |
|
paul@332 | 16 | Support __init__ traversal (and other implicit names) more effectively.
|
paul@332 | 17 |
|
paul@332 | 18 | Check context_value initialisation (avoiding or handling None effectively).
|
paul@332 | 19 |
|
paul@342 | 20 | __getitem__ could be written in Python, using a native method only to access fragments.
|
paul@342 | 21 | Support slicing.
|
paul@342 | 22 | Consider better "macro" support where new expressions need to be generated and processed.
|
paul@342 | 23 |
|
paul@342 | 24 | **** Constant attribute users need not maintain usage since they are already resolved. ****
|
paul@342 | 25 |
|
paul@310 | 26 | Loop entry points should capture usage to update later assignments in the loop.
|
paul@310 | 27 | The continue and break statements should affect usage propagation.
|
paul@304 | 28 |
|
paul@304 | 29 | Consider handling CallFunc in micropython.inspect in order to produce instances of specific classes.
|
paul@304 | 30 | Then, consider adding support for guard removal/verification where known instances are involved.
|
paul@304 | 31 | Consider handling branches of values within namespaces in order to support more precise value usage.
|