Add support for a larger number of type markers.
Currently the maximum number of type markers is hard-coded to 10 (0 - 9), due to each of them having a dedicated type node type ('0' - '9'). When performing type operations more markers may be needed.
- Change
a_markers
andb_markers
to mappings in order to support an "unlimited" number of type markers, and update code that uses them (push_finished_type_with_markers()
,low_match_types()
,low_pike_types_le()
, etc). - Add a new type node type (
PIKE_T_MARKER
) and have the marker number in itscar
(analogous toT_ASSIGN
). - Update code that uses markers to know about the new type node.
- Update
make_pike_type()
andmk_type()
to use the new type node.