From 45bf7c49e1fa4c208e07931ed041e6de96a0acb0 Mon Sep 17 00:00:00 2001 From: Markus Sutter Date: Fri, 4 Jun 2021 08:17:06 +0200 Subject: [PATCH 1/2] Remove superfluous "that" in comment --- compiler/src/dotty/tools/dotc/util/SourcePosition.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/src/dotty/tools/dotc/util/SourcePosition.scala b/compiler/src/dotty/tools/dotc/util/SourcePosition.scala index 9bc21fdf408f..7808c9a57acd 100644 --- a/compiler/src/dotty/tools/dotc/util/SourcePosition.scala +++ b/compiler/src/dotty/tools/dotc/util/SourcePosition.scala @@ -68,7 +68,7 @@ extends SrcPos, interfaces.SourcePosition, Showable { if outer == null || outer == NoSourcePosition then this else outer.outermost /** Inner most position that is contained within the `outermost` position. - * Most precise position that that comes from the call site. + * Most precise position that comes from the call site. */ def nonInlined: SourcePosition = { val om = outermost From 8165f99552c66c34af170b08c40f60eefc3caa67 Mon Sep 17 00:00:00 2001 From: Markus Sutter Date: Fri, 4 Jun 2021 08:18:18 +0200 Subject: [PATCH 2/2] Add person readable toString for PositionBridge There are compile call paths relying on meaningful toString impl. for error/warning log messages. Therefor lets add toString, which is: "concise but informative representation that is easy for a person to read." Without this, e.g. users of https://github.com/davidB/scala-maven-plugin get unsuitable compile problems like: [Warn] dotty.tools.xsbt.PositionBridge@4fbdc20: match may not be exhaustive.... Example call path: log:45, SbtLogger (sbt_inc) log:47, Logger (sbt.util) warn:43, Logger (sbt.util) logWarning:159, LoggedReporter (sbt.internal.inc) display:168, LoggedReporter (sbt.internal.inc) log:142, LoggedReporter (sbt.internal.inc) doReport:43, DelegatingReporter (dotty.tools.xsbt) report:150, Reporter (dotty.tools.dotc.reporting) issueWarning:32, report$ (dotty.tools.dotc) warning:67, report$ (dotty.tools.dotc) checkExhaustivity:847, SpaceEngine (dotty.tools.dotc.transform.patmat) .... --- sbt-bridge/src/dotty/tools/xsbt/PositionBridge.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sbt-bridge/src/dotty/tools/xsbt/PositionBridge.java b/sbt-bridge/src/dotty/tools/xsbt/PositionBridge.java index 2f20609578db..376ec6b361cb 100644 --- a/sbt-bridge/src/dotty/tools/xsbt/PositionBridge.java +++ b/sbt-bridge/src/dotty/tools/xsbt/PositionBridge.java @@ -39,6 +39,10 @@ public Optional pointer() { public Optional pointerSpace() { return Optional.empty(); } + + public String toString() { + return ""; + } }; public PositionBridge(SourcePosition pos, SourceFile src) { @@ -116,4 +120,9 @@ public Optional pointerSpace() { result.append(lineContent.charAt(i) == '\t' ? '\t' : ' '); return Optional.of(result.toString()); } + + @Override + public String toString() { + return pos.toString(); + } }