diff --git a/internal/util-interface/src/main/java/xsbti/Position.java b/internal/util-interface/src/main/java/xsbti/Position.java index 0f27e295e..c23c53b22 100644 --- a/internal/util-interface/src/main/java/xsbti/Position.java +++ b/internal/util-interface/src/main/java/xsbti/Position.java @@ -22,4 +22,8 @@ public interface Position // Default values to avoid breaking binary compatibility default Optional startOffset() { return Optional.empty(); } default Optional endOffset() { return Optional.empty(); } + default Optional startLine() { return Optional.empty(); } + default Optional startColumn() { return Optional.empty(); } + default Optional endLine() { return Optional.empty(); } + default Optional endColumn() { return Optional.empty(); } } diff --git a/internal/util-logging/src/main/scala/sbt/util/InterfaceUtil.scala b/internal/util-logging/src/main/scala/sbt/util/InterfaceUtil.scala index a2d705600..b11a3e54c 100644 --- a/internal/util-logging/src/main/scala/sbt/util/InterfaceUtil.scala +++ b/internal/util-logging/src/main/scala/sbt/util/InterfaceUtil.scala @@ -46,7 +46,7 @@ object InterfaceUtil { sourcePath0: Option[String], sourceFile0: Option[File] ): Position = - position(line0, content, offset0, pointer0, pointerSpace0, sourcePath0, sourceFile0, None, None) + position(line0, content, offset0, pointer0, pointerSpace0, sourcePath0, sourceFile0, None, None, None, None, None, None) def position( line0: Option[Integer], @@ -57,7 +57,11 @@ object InterfaceUtil { sourcePath0: Option[String], sourceFile0: Option[File], startOffset0: Option[Integer], - endOffset0: Option[Integer] + endOffset0: Option[Integer], + startLine0: Option[Integer], + startColumn0: Option[Integer], + endLine0: Option[Integer], + endColumn0: Option[Integer] ): Position = new ConcretePosition(line0, content, @@ -67,7 +71,11 @@ object InterfaceUtil { sourcePath0, sourceFile0, startOffset0, - endOffset0) + endOffset0, + startLine0, + startColumn0, + endLine0, + endColumn0) def problem(cat: String, pos: Position, msg: String, sev: Severity): Problem = new ConcreteProblem(cat, pos, msg, sev) @@ -99,7 +107,11 @@ object InterfaceUtil { sourcePath0: Option[String], sourceFile0: Option[File], startOffset0: Option[Integer], - endOffset0: Option[Integer] + endOffset0: Option[Integer], + startLine0: Option[Integer], + startColumn0: Option[Integer], + endLine0: Option[Integer], + endColumn0: Option[Integer] ) extends Position { val line = o2jo(line0) val lineContent = content @@ -110,6 +122,10 @@ object InterfaceUtil { val sourceFile = o2jo(sourceFile0) override val startOffset = o2jo(startOffset0) override val endOffset = o2jo(endOffset0) + override val startLine = o2jo(startLine0) + override val startColumn = o2jo(startColumn0) + override val endLine = o2jo(endLine0) + override val endColumn = o2jo(endColumn0) } private final class ConcreteProblem(