mirror of https://github.com/sbt/sbt.git
21 lines
509 B
Scala
Executable File
21 lines
509 B
Scala
Executable File
package sbt
|
|
|
|
sealed trait SourcePosition
|
|
|
|
sealed trait FilePosition extends SourcePosition {
|
|
def path: String
|
|
def startLine: Int
|
|
}
|
|
|
|
case object NoPosition extends SourcePosition
|
|
|
|
final case class LinePosition(path: String, startLine: Int) extends FilePosition
|
|
|
|
final case class LineRange(start: Int, end: Int) {
|
|
def shift(n: Int) = new LineRange(start + n, end + n)
|
|
}
|
|
|
|
final case class RangePosition(path: String, range: LineRange) extends FilePosition {
|
|
def startLine = range.start
|
|
}
|