Skip to content

Commit 6b8fbba

Browse files
committed
Revert "Move faking errors to HideNonSensicalMessages"
This reverts commit 4fb8e7c.
1 parent 305c9f3 commit 6b8fbba

File tree

2 files changed

+17
-15
lines changed

2 files changed

+17
-15
lines changed

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

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,7 @@ trait HideNonSensicalMessages extends Reporter {
1313
*/
1414
override def isHidden(dia: Diagnostic)(using Context): Boolean =
1515
super.isHidden(dia) || {
16-
(if !errorsReported && dia.isInstanceOf[Diagnostic.Error] then
17-
// Bump up errorCount so hasErrors is true while forcing the message.
18-
// We use errorsReported as a predicate for broken code.
19-
// So now any forcing won't cause, for instance,
20-
// assertion errors and thus compiler crashes.
21-
// Some messages, once forced, run more code
22-
// to generate useful hints for the user.
23-
try
24-
_errorCount += 1
25-
dia.msg.isNonSensical
26-
finally _errorCount -= 1 // decrease rather than reset the value so we only ever decrease by 1
27-
else dia.msg.isNonSensical) &&
16+
dia.msg.isNonSensical &&
2817
hasErrors && // if there are no errors yet, report even if diagnostic is non-sensical
2918
!ctx.settings.YshowSuppressedErrors.value
3019
}

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

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ abstract class Reporter extends interfaces.ReporterResult {
9292

9393
private def isIncompleteChecking = incompleteHandler ne defaultIncompleteHandler
9494

95-
protected var _errorCount = 0
96-
protected var _warningCount = 0
95+
private var _errorCount = 0
96+
private var _warningCount = 0
9797

9898
/** The number of errors reported by this reporter (ignoring outer reporters) */
9999
def errorCount: Int = _errorCount
@@ -154,7 +154,20 @@ abstract class Reporter extends interfaces.ReporterResult {
154154
val key = w.enablingOption.name
155155
addUnreported(key, 1)
156156
case _ =>
157-
if !isHidden(dia) then // avoid isHidden test for summarized warnings so that message is not forced
157+
val hide = if !errorsReported && dia.isInstanceOf[Error] then
158+
// We bump up errorCount so errorsReported is true while executing isHidden.
159+
// We use errorsReported as a predicate for broken code.
160+
// So now any code `isHidden` runs won't cause, for instance,
161+
// assertion errors and thus compiler crashes.
162+
// This normally amounts to forcing the message, which might run more code
163+
// to generate useful hints for the user.
164+
try
165+
_errorCount += 1
166+
isHidden(dia)
167+
finally
168+
_errorCount -= 1 // decrease rather than set back to `oldErrorCount` so we only ever decrease by 1
169+
else isHidden(dia)
170+
if !hide then // avoid isHidden test for summarized warnings so that message is not forced
158171
markReported(dia)
159172
withMode(Mode.Printing)(doReport(dia))
160173
dia match {

0 commit comments

Comments
 (0)