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/reporting/diagnostic | |
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/reporting/diagnostic')
-rw-r--r-- | compiler/src/dotty/tools/dotc/reporting/diagnostic/messages.scala | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/compiler/src/dotty/tools/dotc/reporting/diagnostic/messages.scala b/compiler/src/dotty/tools/dotc/reporting/diagnostic/messages.scala index 89cd2cd8f..c25c49597 100644 --- a/compiler/src/dotty/tools/dotc/reporting/diagnostic/messages.scala +++ b/compiler/src/dotty/tools/dotc/reporting/diagnostic/messages.scala @@ -1002,4 +1002,36 @@ object messages { |${typeCode} |""" } + + case class OverridesNothing(member: Symbol)(implicit ctx: Context) + extends Message(37) { + val kind = "Reference" + val msg = hl"""${member} overrides nothing""" + + val explanation = + hl"""|There must be a field or method with the name `${member.name}` in a super + |class of `${member.owner}` to override it. Did you misspell it? + |Are you extending the right classes? + |""" + } + + case class OverridesNothingButNameExists(member: Symbol, existing: List[Denotations.SingleDenotation])(implicit ctx: Context) + extends Message(38) { + val kind = "Reference" + val msg = hl"""${member} has a different signature than the overridden declaration""" + + val existingDecl = existing.map(_.showDcl).mkString(" \n") + + val explanation = + hl"""|There must be a non-final field or method with the name `${member.name}` and the + |same parameter list in a super class of `${member.owner}` to override it. + | + | ${member.showDcl} + | + |The super classes of `${member.owner}` contain the following members + |named `${member.name}`: + | ${existingDecl} + |""" + } + } |