Skip to content

Commit 4601243

Browse files
committed
Update symbol lattice diagram
1 parent fb0f8dc commit 4601243

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

Python/optimizer_symbols.c

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -25,24 +25,24 @@ state represents no information, and the BOTTOM state represents contradictory
2525
information. Though symbols logically progress through all intermediate nodes,
2626
we often skip in-between states for convenience:
2727
28-
UNKNOWN
29-
| |
30-
NULL |
31-
| | <- Anything below this level is an object.
32-
| NON_NULL-+
33-
| | | <- Anything below this level has a known type version.
34-
| TYPE_VERSION |
35-
| | | <- Anything below this level has a known type.
36-
| KNOWN_CLASS |
37-
| | | | | |
38-
| | | INT* | |
39-
| | | | | | <- Anything below this level has a known truthiness.
40-
| | | | | TRUTHINESS
41-
| | | | | |
42-
| TUPLE | | | |
43-
| | | | | | <- Anything below this level is a known constant.
44-
| KNOWN_VALUE--+
45-
| | <- Anything below this level is unreachable.
28+
UNKNOWN-------------------+
29+
| | |
30+
NULL | |
31+
| | | <- Anything below this level is an object.
32+
| NON_NULL-+ |
33+
| | | | <- Anything below this level has a known type version.
34+
| TYPE_VERSION | |
35+
| | | | <- Anything below this level has a known type.
36+
| KNOWN_CLASS | |
37+
| | | | | | PREDICATE
38+
| | | INT* | | |
39+
| | | | | | | <- Anything below this level has a known truthiness.
40+
| | | | | TRUTHINESS |
41+
| | | | | | |
42+
| TUPLE | | | | |
43+
| | | | | | | <- Anything below this level is a known constant.
44+
| KNOWN_VALUE--+----------+
45+
| | <- Anything below this level is unreachable.
4646
BOTTOM
4747
4848
For example, after guarding that the type of an UNKNOWN local is int, we can

0 commit comments

Comments
 (0)