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