diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2014-07-09 17:15:40 +0200 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2014-07-17 15:52:43 +0200 |
commit | c6bee6437a626c93be3951ee0437adce8c88e96c (patch) | |
tree | 4545d062f57256eebf7d1c0db88ed3a64698ccbd /src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala | |
parent | 5e62c59aad9dabb3b07e2330d2f8b937f48b93e8 (diff) | |
download | scala-c6bee6437a626c93be3951ee0437adce8c88e96c.tar.gz scala-c6bee6437a626c93be3951ee0437adce8c88e96c.tar.bz2 scala-c6bee6437a626c93be3951ee0437adce8c88e96c.zip |
Untangle reporting of ambiguous errors.
Now that all reporting mode manipulators are private to Context,
let's untangle this logic:
- every `setReportErrors` gets a corresponding `setAmbiguousErrors(true)`
- every `setBufferErrors` gets a corresponding `setAmbiguousErrors(false)`
- every `setThrowErrors` gets a corresponding `setAmbiguousErrors(false)`
`ambiguousErrors` means that ambiguity errors *must* be reported,
even when in silent mode. When it's false, they are *not* reported,
but they are buffered when the context reporter is buffering.
TODO: this seems a bit dubious, but this is what happens now.
Let's see if we can simplify this once the refactoring is complete.
Again, the end goal is a strategy-based approach to reporting,
where the reporting mode is captured in the reporter being used,
with as little mutation as possible to capture more invariants
(would like to stop throwing TypeError eventually and only have two reporters:
buffering reporter, regular reporter)
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala')
0 files changed, 0 insertions, 0 deletions