Spans
The offsets part of a full position, consisting of 2 or 3 entries:
- start: the start offset of the span, in characters from start of file
- end : the end offset of the span
- point: if given, the offset where a single
^
would be logically placed
Spans are encoded according to the following 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 NoSpan encoded as -1L (this is a normally invalid span because point would lie beyond end).
Type members
Classlikes
The coordinate of a symbol. This is either an index or a zero-range span.
The coordinate of a symbol. This is either an index or a zero-range span.
A span indicates a range between a start offset and an end offset.
Spans can be synthetic or source-derived. A source-derived span
has in addition a point. The 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.
A span indicates a range between a start offset and an end offset.
Spans can be synthetic or source-derived. A source-derived span
has in addition a point. The 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.
Value members
Concrete methods
A source-derived span with given start, end, and point delta
A source-derived span with given start, end, and point delta
A synthetic zero-extent span that starts and ends at given start
.
A synthetic zero-extent span that starts and ends at given start
.