aboutsummaryrefslogtreecommitdiff
path: root/sbt-bridge/src
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2017-03-11 17:14:16 +0100
committerGitHub <noreply@github.com>2017-03-11 17:14:16 +0100
commitb2d3b8938391516e81f18962e67f5bacf0aa2440 (patch)
treea151dece1c245695d0cd0d62ee35852bd6d84404 /sbt-bridge/src
parente28d8ee6819f39eb8e0479a53c63c241affe864c (diff)
parent437cdf31679c73e10c6ab82721313cd7214c6128 (diff)
downloaddotty-b2d3b8938391516e81f18962e67f5bacf0aa2440.tar.gz
dotty-b2d3b8938391516e81f18962e67f5bacf0aa2440.tar.bz2
dotty-b2d3b8938391516e81f18962e67f5bacf0aa2440.zip
Merge pull request #1884 from MasseGuillaume/restore-delegating-reporter
restore position offset in DelegatingReporter
Diffstat (limited to 'sbt-bridge/src')
-rw-r--r--sbt-bridge/src/xsbt/DelegatingReporter.scala19
1 files changed, 12 insertions, 7 deletions
diff --git a/sbt-bridge/src/xsbt/DelegatingReporter.scala b/sbt-bridge/src/xsbt/DelegatingReporter.scala
index 770d6b2c7..e704a29c9 100644
--- a/sbt-bridge/src/xsbt/DelegatingReporter.scala
+++ b/sbt-bridge/src/xsbt/DelegatingReporter.scala
@@ -28,13 +28,13 @@ final class DelegatingReporter(delegate: xsbti.Reporter) extends Reporter
}
val position = new Position {
- def line: Maybe[Integer] = Maybe.nothing()
- def lineContent: String = ""
- def offset: Maybe[Integer] = Maybe.nothing()
- def pointer: Maybe[Integer] = Maybe.nothing()
- def pointerSpace: Maybe[String] = Maybe.nothing()
- def sourceFile: Maybe[java.io.File] = Maybe.nothing()
- def sourcePath: Maybe[String] = Maybe.nothing()
+ def line: Maybe[Integer] = Maybe.just(cont.pos.line)
+ def lineContent: String = cont.pos.lineContent
+ def offset: Maybe[Integer] = Maybe.just(cont.pos.point)
+ def pointer: Maybe[Integer] = Maybe.just(cont.pos.point)
+ def pointerSpace: Maybe[String] = Maybe.just(" " * cont.pos.point)
+ def sourceFile: Maybe[java.io.File] = maybe(Option(cont.pos.source.file.file))
+ def sourcePath: Maybe[String] = maybe(Option(cont.pos.source.file.file).map(_.getPath))
}
val sb = new StringBuilder()
@@ -45,4 +45,9 @@ final class DelegatingReporter(delegate: xsbti.Reporter) extends Reporter
delegate.log(position, sb.toString(), severity)
}
+
+ private[this] def maybe[T](opt: Option[T]): Maybe[T] = opt match {
+ case None => Maybe.nothing[T]
+ case Some(s) => Maybe.just[T](s)
+ }
}