Skip to content

Commit 6eb14fb

Browse files
som-snyttWojciechMazur
authored andcommitted
Don't add explanation twice
[Cherry-picked c17d94c]
1 parent bd6ac1c commit 6eb14fb

File tree

2 files changed

+5
-12
lines changed

2 files changed

+5
-12
lines changed

compiler/src/dotty/tools/dotc/reporting/MessageRendering.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ trait MessageRendering {
198198
end posStr
199199

200200
/** Explanation rendered under "Explanation" header */
201+
@deprecated("Explanations are rendered with the message text", since="3.4")
201202
def explanation(m: Message)(using Context): String = {
202203
val sb = new StringBuilder(
203204
s"""|

sbt-bridge/src/dotty/tools/xsbt/DelegatingReporter.java

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -48,22 +48,14 @@ public void printSummary(Context ctx) {
4848
public void doReport(Diagnostic dia, Context ctx) {
4949
Severity severity = severityOf(dia.level());
5050
Position position = positionOf(dia.pos().nonInlined());
51-
52-
StringBuilder rendered = new StringBuilder();
53-
rendered.append(messageAndPos(dia, ctx));
5451
Message message = dia.msg();
55-
StringBuilder messageBuilder = new StringBuilder();
56-
messageBuilder.append(message.message());
52+
StringBuilder messageBuilder = new StringBuilder(message.message());
5753
String diagnosticCode = String.valueOf(message.errorId().errorNumber());
58-
boolean shouldExplain = Diagnostic.shouldExplain(dia, ctx);
5954
List<CodeAction> actions = CollectionConverters.asJava(message.actions(ctx));
60-
if (shouldExplain && !message.explanation().isEmpty()) {
61-
rendered.append(explanation(message, ctx));
55+
if (Diagnostic.shouldExplain(dia, ctx) && !message.explanation().isEmpty())
6256
messageBuilder.append(System.lineSeparator()).append(explanation(message, ctx));
63-
}
64-
65-
delegate.log(new Problem(position, messageBuilder.toString(), severity, rendered.toString(), diagnosticCode, actions,
66-
lookupVirtualFileId));
57+
Problem problem = new Problem(position, messageBuilder.toString(), severity, messageAndPos(dia, ctx), diagnosticCode, actions, lookupVirtualFileId);
58+
delegate.log(problem);
6759
}
6860

6961
public void reportBasicWarning(String message) {

0 commit comments

Comments
 (0)