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/test/dotty/tools/dotc/reporting | |
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/test/dotty/tools/dotc/reporting')
-rw-r--r-- | compiler/test/dotty/tools/dotc/reporting/ErrorMessagesTests.scala | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/compiler/test/dotty/tools/dotc/reporting/ErrorMessagesTests.scala b/compiler/test/dotty/tools/dotc/reporting/ErrorMessagesTests.scala index f43d559d4..be641fe15 100644 --- a/compiler/test/dotty/tools/dotc/reporting/ErrorMessagesTests.scala +++ b/compiler/test/dotty/tools/dotc/reporting/ErrorMessagesTests.scala @@ -42,4 +42,47 @@ class ErrorMessagesTests extends ErrorMessagesTest { // is a type reference to `java.lang.String` assert(expected.dealias =:= defn.StringType, s"expected was: $expected") } + + @Test def overridesNothing = + checkMessagesAfter("refchecks") { + """ + |object Foo { + | override def bar: Unit = {} + |} + """.stripMargin + } + .expect { (ictx, messages) => + implicit val ctx: Context = ictx + val defn = ictx.definitions + + assertMessageCount(1, messages) + val OverridesNothing(member) :: Nil = messages + assertEquals("bar", member.name.show) + } + + @Test def overridesNothingDifferentSignature = + checkMessagesAfter("refchecks") { + """ + |class Bar { + | def bar(s: String): Unit = {} + | def bar(s: Int): Unit = {} + | final def bar(s: Long): Unit = {} + |} + |object Foo extends Bar { + | override def bar: Unit = {} + |} + """.stripMargin + } + .expect { (ictx, messages) => + implicit val ctx: Context = ictx + val defn = ictx.definitions + + assertMessageCount(1, messages) + val OverridesNothingButNameExists(member, sameName) :: Nil = messages + // check expected context data + assertEquals("bar", member.name.show) + assertEquals(3, sameName.size) + assert(sameName.forall(_.symbol.name.show == "bar"), + "at least one method had an unexpected name") + } } |