paul@353 | 1 | AST Node Annotations
|
paul@353 | 2 | ====================
|
paul@353 | 3 |
|
paul@603 | 4 | These annotations are defined in the revised compiler.ast classes.
|
paul@498 | 5 |
|
paul@556 | 6 | Evaluation Results
|
paul@556 | 7 | ------------------
|
paul@556 | 8 |
|
paul@556 | 9 | _attr notes the result associated with an attribute access
|
paul@556 | 10 | operation during inspection
|
paul@603 | 11 | _expr records the result of evaluating an expression used in an
|
paul@603 | 12 | attribute access operation
|
paul@556 | 13 |
|
paul@388 | 14 | Attribute Users
|
paul@388 | 15 | ---------------
|
paul@388 | 16 |
|
paul@571 | 17 | _attrtypes defines types deduced either from combined attribute usage
|
paul@571 | 18 | details (for users)
|
paul@571 | 19 |
|
paul@571 | 20 | Attribute Contributors
|
paul@571 | 21 | ----------------------
|
paul@571 | 22 |
|
paul@571 | 23 | _attrnames defines a dictionary mapping local names to sets of
|
paul@571 | 24 | attribute names found to be used with those names in a
|
paul@571 | 25 | branch
|
paul@599 | 26 | _attrbranches indicates the immediate contributors to attribute usage
|
paul@599 | 27 | known to a node
|
paul@599 | 28 | _attrcontributors defines nodes contributing to combined attribute usage known
|
paul@599 | 29 | to a node
|
paul@599 | 30 | _attrcombined defines a dictionary mapping local names to sets of
|
paul@599 | 31 | attribute names found to be used with those names for the
|
paul@599 | 32 | entire lifetime of a particular attribute user
|
paul@489 | 33 | _attrmerged defines a dictionary mapping local names to sets of
|
paul@489 | 34 | attribute names merging combined observations with locally
|
paul@489 | 35 | applicable observations, indicating usage specific to a
|
paul@489 | 36 | region of the code
|
paul@490 | 37 | _attrspecifictypes defines specific types from merged attribute usage details
|
paul@490 | 38 | (for non-user nodes)
|
paul@488 | 39 | _attrdefs defines definition-related users which consume usage details
|
paul@488 | 40 | from the node
|
paul@388 | 41 |
|
paul@388 | 42 | Attribute Accessors
|
paul@388 | 43 | -------------------
|
paul@388 | 44 |
|
paul@488 | 45 | _attrusers defines a dictionary mapping local names to sets of nodes
|
paul@488 | 46 | defining those names
|
paul@603 | 47 | _username indicates the name of the attribute user involved in an
|
paul@603 | 48 | access operation
|
paul@388 | 49 |
|
paul@388 | 50 | Name Accessors
|
paul@388 | 51 | --------------
|
paul@388 | 52 |
|
paul@488 | 53 | _scope set as "constant", "local", "global" or "builtins"
|
paul@388 | 54 |
|
paul@388 | 55 | Program Units
|
paul@388 | 56 | -------------
|
paul@388 | 57 |
|
paul@488 | 58 | unit refers to a micropython Class, Function or Module instance
|