cleanup SourcePosition hierarchy

This commit is contained in:
Mark Harrah 2012-02-25 12:01:07 -05:00
parent bd3e2dd6ff
commit 5893aa0e55
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
}