Dotty Documentation

0.15.0-bin-SNAPSHOT

object Spans
extends Object with Serializable

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 sing;le ^ 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).

[-] Constructors

[-] Members

[+] final class Coord

The coordinate of a symbol. This is either an index or a zero-range span.

[+] object Coord

The coordinate of a symbol. This is either an index or a zero-range span.

[+] final class 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 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.

[+] object 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 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.

[+] final val MaxOffset : Int

The maximal representable offset in a span

[+] val NoCoord : Coord

A sentinel for a missing coordinate

[+] val NoSpan : Span

A sentinel for a non-existing span

[+] private final val StartEndBits : 26
[+] private final val StartEndMask : 67108863L
[+] private final val SyntheticPointDelta : 4095
[+] def Span ( start: Int , end: Int ) : Span

A synthetic span with given start and end

[+] def Span ( start: Int , end: Int , point: Int ) : Span

A source-derived span with given start, end, and point delta

[+] def Span ( start: Int ) : Span

A synthetic zero-extent span that starts and ends at given start.

[+] private def fromOffsets ( start: Int , end: Int , pointDelta: Int ) : Span
[+] implicit def indexCoord ( n: Int ) : Coord

An index coordinate

[+] def offsetToInt ( x: Int ) : Int

Convert offset x to an integer by sign extending the original field of StartEndBits width.

[+] implicit def spanCoord ( span: Span ) : Coord