@@ -31,8 +31,12 @@ object Reporter {
31
31
def doReport (m : MessageContainer )(implicit ctx : Context ): Unit = ()
32
32
override def report (m : MessageContainer )(implicit ctx : Context ): Unit = ()
33
33
}
34
- }
35
34
35
+ type ErrorHandler = (MessageContainer , Context ) => Unit
36
+
37
+ private val defaultIncompleteHandler : ErrorHandler =
38
+ (mc, ctx) => ctx.reporter.report(mc)(ctx)
39
+ }
36
40
37
41
trait Reporting { this : Context =>
38
42
@@ -138,6 +142,7 @@ trait Reporting { this: Context =>
138
142
* error messages.
139
143
*/
140
144
abstract class Reporter extends interfaces.ReporterResult {
145
+ import Reporter ._
141
146
142
147
/** Report a diagnostic */
143
148
def doReport (m : MessageContainer )(implicit ctx : Context ): Unit
@@ -155,8 +160,8 @@ abstract class Reporter extends interfaces.ReporterResult {
155
160
finally _truncationOK = saved
156
161
}
157
162
158
- type ErrorHandler = MessageContainer => Context => Unit
159
- private [ this ] var incompleteHandler : ErrorHandler = d => c => report(d)(c)
163
+ private [ this ] var incompleteHandler : ErrorHandler = defaultIncompleteHandler
164
+
160
165
def withIncompleteHandler [T ](handler : ErrorHandler )(op : => T ): T = {
161
166
val saved = incompleteHandler
162
167
incompleteHandler = handler
@@ -204,7 +209,7 @@ abstract class Reporter extends interfaces.ReporterResult {
204
209
}
205
210
206
211
def incomplete (m : MessageContainer )(implicit ctx : Context ): Unit =
207
- incompleteHandler(m)( ctx)
212
+ incompleteHandler(m, ctx)
208
213
209
214
/** Summary of warnings and errors */
210
215
def summary : String = {
0 commit comments