cleanup SourcePosition hierarchy

This commit is contained in:
Mark Harrah 2012-02-25 12:01:07 -05:00
parent 52bca9bb8a
commit 7b194e3dee
1 changed files with 3 additions and 3 deletions

View File

@ -2,19 +2,19 @@ package sbt
sealed trait SourcePosition
sealed trait FilePosition {
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 SourcePosition with FilePosition
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 SourcePosition with FilePosition {
final case class RangePosition(path: String, range: LineRange) extends FilePosition {
def startLine = range.start
}