diff options
author | Enno <enno@runne.net> | 2017-02-12 17:54:33 +0100 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2017-02-12 17:54:33 +0100 |
commit | 8bdc91f7a5fc3efd93b6be255ec1bfb83787c69b (patch) | |
tree | b4174a4f6eb2e7fb50fe216f944476053426f3a4 /compiler/src/dotty/tools/dotc/typer/RefChecks.scala | |
parent | e360c2a57ca679588fa2116309c44f2b17902b4e (diff) | |
download | dotty-8bdc91f7a5fc3efd93b6be255ec1bfb83787c69b.tar.gz dotty-8bdc91f7a5fc3efd93b6be255ec1bfb83787c69b.tar.bz2 dotty-8bdc91f7a5fc3efd93b6be255ec1bfb83787c69b.zip |
Change 'overrides nothing' to report via Message (see #1965) (#1968)
* Change 'overrides nothing' to report via Message, split into two different messages
* Change 'overrides nothing' to report via Message, split into two different messages
Diffstat (limited to 'compiler/src/dotty/tools/dotc/typer/RefChecks.scala')
-rw-r--r-- | compiler/src/dotty/tools/dotc/typer/RefChecks.scala | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/compiler/src/dotty/tools/dotc/typer/RefChecks.scala b/compiler/src/dotty/tools/dotc/typer/RefChecks.scala index e113399c5..ada53047a 100644 --- a/compiler/src/dotty/tools/dotc/typer/RefChecks.scala +++ b/compiler/src/dotty/tools/dotc/typer/RefChecks.scala @@ -21,6 +21,9 @@ import DenotTransformers._ object RefChecks { import tpd._ + import reporting.diagnostic.Message + import reporting.diagnostic.messages._ + private def isDefaultGetter(name: Name): Boolean = name.isTermName && name.asTermName.defaultGetterIndex >= 0 @@ -622,15 +625,12 @@ object RefChecks { if (member.isAnyOverride && !(clazz.thisType.baseClasses exists (hasMatchingSym(_, member)))) { // for (bc <- clazz.info.baseClasses.tail) Console.println("" + bc + " has " + bc.info.decl(member.name) + ":" + bc.info.decl(member.name).tpe);//DEBUG - val nonMatching = clazz.info.member(member.name).altsWith(alt => alt.owner != clazz && !alt.is(Final)) - def issueError(suffix: String) = - ctx.error(i"$member overrides nothing$suffix", member.pos) + val nonMatching = clazz.info.member(member.name).altsWith(alt => alt.owner != clazz) nonMatching match { case Nil => - issueError("") + ctx.error(OverridesNothing(member), member.pos) case ms => - val superSigs = ms.map(_.showDcl).mkString("\n") - issueError(s".\nNote: the super classes of ${member.owner} contain the following, non final members named ${member.name}:\n${superSigs}") + ctx.error(OverridesNothingButNameExists(member, ms), member.pos) } member.resetFlag(Override) member.resetFlag(AbsOverride) |