Span

final class Span(val coords: Long) extends AnyVal

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.

class AnyVal
trait Matchable
class Any

Value members

Concrete methods

def !=(that: Span): Boolean
def ==(that: Span): Boolean
def contains(that: Span): Boolean

Does the range of this span contain the one of that span?

Does the range of this span contain the one of that span?

def end: Int

The end of this span

The end of this span

def endPos: Span

The zero-extent span with start and end at the end of this span

The zero-extent span with start and end at the end of this span

Is this span different from NoSpan?

Is this span different from NoSpan?

def focus: Span

The zero-extent span with start and end at the point of this span

The zero-extent span with start and end at the point of this span

Implicitly added by spanCoord

Is this span source-derived?

Is this span source-derived?

Implicitly added by spanCoord

Is this span synthetic?

Is this span synthetic?

Is this a zero-extent span?

Is this a zero-extent span?

def orElse(that: Span): Span
def overlaps(that: Span): Boolean

Does the range of this span overlap with the range of that span at more than a single point?

Does the range of this span overlap with the range of that span at more than a single point?

def point: Int

The point of this span, returns start for synthetic spans

The point of this span, returns start for synthetic spans

The difference between point and start in this span

The difference between point and start in this span

def shift(offset: Int): Span

A span where all components are shifted by a given offset relative to this span.

A span where all components are shifted by a given offset relative to this span.

def start: Int

The start of this span.

The start of this span.

The zero-extent span with start and end at the start of this span

The zero-extent span with start and end at the start of this span

def toIndex: Int
Implicitly added by spanCoord
def toSpan: Span
Implicitly added by spanCoord
override def toString: String
Definition Classes
Any

A synthetic copy of this span

A synthetic copy of this span

def union(that: Span): Span

The union of two spans. This is the least range that encloses both spans. It is always a synthetic span.

The union of two spans. This is the least range that encloses both spans. It is always a synthetic span.

def withEnd(end: Int): Span

A copy of this span with a different end

A copy of this span with a different end

def withPoint(point: Int): Span

A copy of this span with a different point

A copy of this span with a different point

def withStart(start: Int): Span

A copy of this span with a different start

A copy of this span with a different start

Concrete fields

val coords: Long
Implicitly added by spanCoord