Skip to content

Commit ee87736

Browse files
committed
Tweak things to fit into Java reporting API
1 parent c2bad51 commit ee87736

File tree

7 files changed

+20
-17
lines changed

7 files changed

+20
-17
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class ConsoleReporter(
2020
def printMessage(msg: String): Unit = { writer.print(msg + "\n"); writer.flush() }
2121

2222
/** Prints the message with the given position indication. */
23-
def doReport(dia: Diagnostic)(using Context, CState): Unit = {
23+
def doReport(dia: Diagnostic)(using Context): Unit = {
2424
val didPrint = dia match {
2525
case dia: Error =>
2626
printMessage(messageAndPos(dia.msg, dia.pos, diagnosticLevel(dia)))

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import java.util.Optional
1111

1212
object Diagnostic:
1313

14-
def shouldExplain(dia: Diagnostic)(using Context, CState): Boolean =
14+
def shouldExplain(dia: Diagnostic)(using Context): Boolean =
1515
dia.msg.explanation.nonEmpty && ctx.settings.explain.value
1616

1717
// `Diagnostics to be consumed by `Reporter` ---------------------- //
@@ -45,35 +45,35 @@ object Diagnostic:
4545
msg: Message,
4646
pos: SourcePosition
4747
) extends Warning(msg, pos) {
48-
def enablingOption(using Context, CState): Setting[Boolean]
48+
def enablingOption(using Context): Setting[Boolean]
4949
}
5050

5151
class FeatureWarning(
5252
msg: Message,
5353
pos: SourcePosition
5454
) extends ConditionalWarning(msg, pos) {
55-
def enablingOption(using Context, CState): Setting[Boolean] = ctx.settings.feature
55+
def enablingOption(using Context): Setting[Boolean] = ctx.settings.feature
5656
}
5757

5858
class UncheckedWarning(
5959
msg: Message,
6060
pos: SourcePosition
6161
) extends ConditionalWarning(msg, pos) {
62-
def enablingOption(using Context, CState): Setting[Boolean] = ctx.settings.unchecked
62+
def enablingOption(using Context): Setting[Boolean] = ctx.settings.unchecked
6363
}
6464

6565
class DeprecationWarning(
6666
msg: Message,
6767
pos: SourcePosition
6868
) extends ConditionalWarning(msg, pos) {
69-
def enablingOption(using Context, CState): Setting[Boolean] = ctx.settings.deprecation
69+
def enablingOption(using Context): Setting[Boolean] = ctx.settings.deprecation
7070
}
7171

7272
class MigrationWarning(
7373
msg: Message,
7474
pos: SourcePosition
7575
) extends Warning(msg, pos) {
76-
def enablingOption(using Context, CState): Setting[Boolean] = ctx.settings.migration
76+
def enablingOption(using Context): Setting[Boolean] = ctx.settings.migration
7777
}
7878

7979
class Diagnostic(

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ trait MessageRendering {
9393
*
9494
* @return aligned error message
9595
*/
96-
def errorMsg(pos: SourcePosition, msg: String, offset: Int)(using Context, CState): String = {
96+
def errorMsg(pos: SourcePosition, msg: String, offset: Int)(using Context): String = {
9797
val padding = msg.linesIterator.foldLeft(pos.startColumnPadding) { (pad, line) =>
9898
val lineLength = stripColor(line).length
9999
val maxPad = math.max(0, ctx.settings.pageWidth.value - offset - lineLength) - offset
@@ -131,7 +131,8 @@ trait MessageRendering {
131131
}) else ""
132132

133133
/** Explanation rendered under "Explanation" header */
134-
def explanation(m: Message)(using Context, CState): String = {
134+
def explanation(m: Message)(using Context): String = {
135+
given CState = ctx.cstate
135136
val sb = new StringBuilder(
136137
s"""|
137138
|${Blue("Explanation").show}
@@ -143,7 +144,8 @@ trait MessageRendering {
143144
}
144145

145146
/** The whole message rendered from `msg` */
146-
def messageAndPos(msg: Message, pos: SourcePosition, diagnosticLevel: String)(using Context, CState): String = {
147+
def messageAndPos(msg: Message, pos: SourcePosition, diagnosticLevel: String)(using Context): String = {
148+
given CState = ctx.cstate
147149
val sb = mutable.StringBuilder()
148150
val posString = posStr(pos, diagnosticLevel, msg)
149151
if (posString.nonEmpty) sb.append(posString).append(EOL)

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ object Reporter {
2222
/** Convert a SimpleReporter into a real Reporter */
2323
def fromSimpleReporter(simple: interfaces.SimpleReporter): Reporter =
2424
new Reporter with UniqueMessagePositions with HideNonSensicalMessages {
25-
override def doReport(dia: Diagnostic)(using Context, CState): Unit = dia match {
25+
override def doReport(dia: Diagnostic)(using Context): Unit = dia match {
2626
case dia: ConditionalWarning if !dia.enablingOption.value =>
2727
case _ =>
2828
simple.report(dia)
@@ -31,7 +31,7 @@ object Reporter {
3131

3232
/** A reporter that ignores reports, and doesn't record errors */
3333
@sharable object NoReporter extends Reporter {
34-
def doReport(dia: Diagnostic)(using Context, CState): Unit = ()
34+
def doReport(dia: Diagnostic)(using Context): Unit = ()
3535
override def report(dia: Diagnostic)(using Context, CState): Unit = ()
3636
}
3737

@@ -72,7 +72,7 @@ abstract class Reporter extends interfaces.ReporterResult {
7272
import Reporter._
7373

7474
/** Report a diagnostic */
75-
def doReport(dia: Diagnostic)(using Context, CState): Unit
75+
def doReport(dia: Diagnostic)(using Context): Unit
7676

7777
/** Whether very long lines can be truncated. This exists so important
7878
* debugging information (like printing the classpath) is not rendered
@@ -174,7 +174,8 @@ abstract class Reporter extends interfaces.ReporterResult {
174174
}
175175

176176
/** Print the summary of warnings and errors */
177-
def printSummary(using Context, CState): Unit = {
177+
def printSummary(using Context): Unit = {
178+
given CState = ctx.cstate
178179
val s = summary
179180
if (s != "") report(new Info(s, NoSourcePosition))
180181
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class StoreReporter(outer: Reporter) extends Reporter {
2121

2222
protected var infos: mutable.ListBuffer[Diagnostic] = null
2323

24-
def doReport(dia: Diagnostic)(using Context, CState): Unit = {
24+
def doReport(dia: Diagnostic)(using Context): Unit = {
2525
typr.println(s">>>> StoredError: ${dia.message}") // !!! DEBUG
2626
if (infos == null) infos = new mutable.ListBuffer
2727
infos += dia

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import Diagnostic.Error
1010
* info to the underlying reporter.
1111
*/
1212
class ThrowingReporter(reportInfo: Reporter) extends Reporter {
13-
def doReport(dia: Diagnostic)(using Context, CState): Unit = dia match {
13+
def doReport(dia: Diagnostic)(using Context): Unit = dia match {
1414
case _: Error => throw dia
1515
case _ => reportInfo.doReport(dia)
1616
}

compiler/src/dotty/tools/repl/Rendering.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ private[repl] class Rendering(parentClassLoader: Option[ClassLoader] = None) {
9797
/** Formats errors using the `messageRenderer` */
9898
def formatError(dia: Diagnostic)(implicit state: State): Diagnostic =
9999
new Diagnostic(
100-
messageRenderer.messageAndPos(dia.msg, dia.pos, messageRenderer.diagnosticLevel(dia))(using state.context, state.context.cstate),
100+
messageRenderer.messageAndPos(dia.msg, dia.pos, messageRenderer.diagnosticLevel(dia))(using state.context),
101101
dia.pos,
102102
dia.level
103103
)

0 commit comments

Comments
 (0)