The coordinate of a symbol.
The coordinate of a symbol. This is either an index or a zero-range position.
A position indicates a range between a start offset and an end offset.
A position indicates a range between a start offset and an end offset. Positions can be synthetic or source-derived. A source-derived position has in addition a point lies somewhere between start and end. The point is roughly where the ^ would go if an error was diagnosed at that position. All quantities are encoded opaquely in a Long.
The maximal representable offset in a position
A sentinel for a missing coordinate
A sentinel for a non-existing position
A synthetic zero-extent position that starts and ends at given start
.
A source-derived position with given start, end, and point delta
A synthetic position with given start and end
An index coordinate
Convert offset x
to an integer by sign extending the original
field of StartEndBits
width.
Position format in little endian: Start: unsigned 26 Bits (works for source files up to 64M) End: unsigned 26 Bits Point: unsigned 12 Bits relative to start NoPosition encoded as -1L (this is a normally invalid position because point would lie beyond end.