From 968f0fca6e32df359965a7ef4accf797e8278733 Mon Sep 17 00:00:00 2001 From: Vadim Chelyshov Date: Tue, 15 Jun 2021 20:38:02 +0300 Subject: [PATCH] [Bridge] Position - implement methods for accesing range --- .../src/dotty/tools/xsbt/PositionBridge.java | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/sbt-bridge/src/dotty/tools/xsbt/PositionBridge.java b/sbt-bridge/src/dotty/tools/xsbt/PositionBridge.java index 376ec6b361cb..075efd5b53e6 100644 --- a/sbt-bridge/src/dotty/tools/xsbt/PositionBridge.java +++ b/sbt-bridge/src/dotty/tools/xsbt/PositionBridge.java @@ -125,4 +125,53 @@ public Optional pointerSpace() { public String toString() { return pos.toString(); } + + @Override + public Optional startOffset() { + if (src.content().length == 0) + return Optional.empty(); + else + return Optional.of(pos.start()); + } + + @Override + public Optional endOffset() { + if (src.content().length == 0) + return Optional.empty(); + else + return Optional.of(pos.end()); + } + + @Override + public Optional startLine() { + if (src.content().length == 0) + return Optional.empty(); + else + return Optional.of(pos.startLine() + 1); + } + + @Override + public Optional endLine() { + if (src.content().length == 0) + return Optional.empty(); + else + return Optional.of(pos.endLine() + 1); + } + + @Override + public Optional startColumn() { + if (src.content().length == 0) + return Optional.empty(); + else + return Optional.of(pos.startColumn()); + } + + @Override + public Optional endColumn() { + if (src.content().length == 0) + return Optional.empty(); + else + return Optional.of(pos.endColumn()); + } + }