diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2014-07-07 14:53:22 +0200 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2014-07-17 15:44:54 +0200 |
commit | 67651e220a6a4d1d1ee1004766d5b1e33fd46531 (patch) | |
tree | 733fa3a2f64352e3d7b3ff628aca4555c237da05 /src/reflect | |
parent | 2aa1f1e249596b6d629be35170bdbea7ea14cbe2 (diff) | |
download | scala-67651e220a6a4d1d1ee1004766d5b1e33fd46531.tar.gz scala-67651e220a6a4d1d1ee1004766d5b1e33fd46531.tar.bz2 scala-67651e220a6a4d1d1ee1004766d5b1e33fd46531.zip |
Simplify (ambiguous) error issuing.
The two functional differences are:
- always add the diagnostics string
- check erroneousness in `issueAmbiguousTypeErrorUnlessErroneous`,
before even constructing the error message.
Consider this nugget:
```
- def issueAmbiguousError(pre: Type, sym1: Symbol, sym2: Symbol, err: AbsTypeError) {
- issueCommon(err) { case _ if ambiguousErrors =>
- if (!pre.isErroneous && !sym1.isErroneous && !sym2.isErroneous)
```
I'd like to state for the record that the if-erroneous in the
case of the partial function looked super-dodgy: it meant that,
when `ambiguousErrors`, `issueCommon` would not get to the `else` branches
that buffer or throw, and if the erroneous condition was met,
nothing would be issued/buffered/thrown.
This refactoring checks this condition up front.
Diffstat (limited to 'src/reflect')
0 files changed, 0 insertions, 0 deletions