A position in some source file. In the most common case, the source file is an Eiffel source
file, but, POSITION objects are also used in -cecil file or in the ACE file as well.
Because POSITION objects are very numerous (there are a _lot_ of POSITION objects used and
POSITON objects are small objects). For this reason, POSITION is an expanded class.
Note: do not add new attributes in this class which must fit on 32bits. Also keep in mind that
it is an expanded class !
In order to save memory (there are a lot of objects like Current), the id of the class, the
line and the column are saved in this 32 BIT sequence.
Two mangling are used, and the
column may be dropped (not memorized, see set). The two manglings are:
---------------------------------------------------------------
| id (11) | line (13) | col (7) |0|
---------------------------------------------------------------
| id (15) | line (16) |1|
---------------------------------------------------------------