Closed dkalinichenko-js closed 3 months ago
(Sorry it has taken me a few days to get to this - I plan to review today)
I started reading this, and what I've read so far looks reasonable, but I wonder if we should hold off on this PR until @liam923's rework of jkind.ml
is done. These two PRs are pretty conflicty, and that one has a lot of moving pieces. Also he's adding a notion of jkind abbreviation (not yet available for users, but at least in jkind.ml) which will handle the new kinds added here (value_non_null
and any_non_null
) well.
Not ready for review pending design discussion.
Implement
Nullability
axis for jkinds, orderedNon_null < Or_null
.Implement two new legacy jkinds:
value_or_null
andany_non_null
. The first will be used for'a or_null
, while the second will be the jkind of array type parameters.Mark sort variables as always
Non_null
for now. This is incorrect, but setting it toOr_null
requires a lot of changes to the typing algorithm.Split
Jkind.has_layout_any
fromJkind.is_any
and handle existing callsites.Test the new jkinds.