@@ -28,13 +28,13 @@ final class DelegatingReporter(delegate: xsbti.Reporter) extends Reporter
28
28
}
29
29
30
30
val position = new Position {
31
- def line : Maybe [Integer ] = Maybe .nothing( )
32
- def lineContent : String = " "
33
- def offset : Maybe [Integer ] = Maybe .nothing( )
34
- def pointer : Maybe [Integer ] = Maybe .nothing( )
35
- def pointerSpace : Maybe [String ] = Maybe .nothing( )
36
- def sourceFile : Maybe [java.io.File ] = Maybe .nothing( )
37
- def sourcePath : Maybe [String ] = Maybe .nothing( )
31
+ def line : Maybe [Integer ] = Maybe .just(cont.pos.line )
32
+ def lineContent : String = cont.pos.lineContent
33
+ def offset : Maybe [Integer ] = Maybe .just(cont.pos.point )
34
+ def pointer : Maybe [Integer ] = Maybe .just(cont.pos.point )
35
+ def pointerSpace : Maybe [String ] = Maybe .just( " " * cont.pos.point )
36
+ def sourceFile : Maybe [java.io.File ] = maybe( Option (cont.pos.source.file.file) )
37
+ def sourcePath : Maybe [String ] = maybe( Option (cont.pos.source.file.file).map(_.getPath) )
38
38
}
39
39
40
40
val sb = new StringBuilder ()
@@ -45,4 +45,9 @@ final class DelegatingReporter(delegate: xsbti.Reporter) extends Reporter
45
45
46
46
delegate.log(position, sb.toString(), severity)
47
47
}
48
+
49
+ private [this ] def maybe [T ](opt : Option [T ]): Maybe [T ] = opt match {
50
+ case None => Maybe .nothing[T ]
51
+ case Some (s) => Maybe .just[T ](s)
52
+ }
48
53
}
0 commit comments