Skip to content

Commit a98076f

Browse files
committed
Clean up
1 parent efb9776 commit a98076f

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

compiler/src/dotty/tools/dotc/transform/init/Semantic.scala

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -398,29 +398,25 @@ object Semantic {
398398

399399
/** Error reporting */
400400
trait Reporter:
401-
def errors: List[Error]
402401
def report(err: Error): Unit
403402

404403
object Reporter:
405-
class BufferReporter extends Reporter:
406-
val buf = new mutable.ArrayBuffer[Error]
404+
class BufferedReporter extends Reporter:
405+
private val buf = new mutable.ArrayBuffer[Error]
407406
def errors = buf.toList
408407
def report(err: Error) = buf += err
409408

410409
class ErrorFound(val error: Error) extends Exception
411410
class StopEarlyReporter extends Reporter:
412411
def report(err: Error) = throw new ErrorFound(err)
413-
def errors = ???
414-
415-
def fresh(): Reporter = new BufferReporter
416412

417413
/** Capture all errors and return as a list */
418414
def errorsIn(fn: Reporter ?=> Unit): List[Error] =
419-
val reporter = Reporter.fresh()
415+
val reporter = new BufferedReporter
420416
fn(using reporter)
421417
reporter.errors.toList
422418

423-
/** Stop on first found error */
419+
/** Stop on first error */
424420
def stopEarly(fn: Reporter ?=> Unit): List[Error] =
425421
val reporter: Reporter = new StopEarlyReporter
426422

@@ -793,10 +789,9 @@ object Semantic {
793789
case Hot =>
794790
val buffer = new mutable.ArrayBuffer[Error]
795791
val args2 = args.map { arg =>
796-
given reporter: Reporter = Reporter.fresh()
797-
arg.promote
798-
buffer ++= reporter.errors
799-
if reporter.errors.isEmpty then Hot
792+
val errors = Reporter.errorsIn { arg.promote }
793+
buffer ++= errors
794+
if errors.isEmpty then Hot
800795
else arg.value.widenArg
801796
}
802797

@@ -1053,7 +1048,7 @@ object Semantic {
10531048
given Promoted = Promoted.empty
10541049
given Trace = Trace.empty
10551050
given Env = Env(paramValues)
1056-
given Reporter = Reporter.fresh()
1051+
given reporter: Reporter.BufferedReporter = new Reporter.BufferedReporter
10571052

10581053
thisRef.ensureFresh()
10591054
log("checking " + task) { eval(tpl, thisRef, thisRef.klass) }

0 commit comments

Comments
 (0)