Skip to content

Commit b092560

Browse files
committed
Polish
1 parent 9a2f7da commit b092560

File tree

3 files changed

+6
-8
lines changed

3 files changed

+6
-8
lines changed

compiler/src/dotty/tools/dotc/reporting/diagnostic/messages.scala

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1917,10 +1917,9 @@ object messages {
19171917
}
19181918
}
19191919

1920-
case class TraitRedefinedFinalMethodFromAnyRef()(implicit ctx: Context) extends Message(TraitRedefinedFinalMethodFromAnyRefID) {
1920+
case class TraitRedefinedFinalMethodFromAnyRef(method: Symbol)(implicit ctx: Context) extends Message(TraitRedefinedFinalMethodFromAnyRefID) {
19211921
val kind = "Syntax"
1922-
val msg = "Trait cannot redefine final method from class AnyRef"
1923-
val explanation = hl"""A method was defined in a trait trying to redefine a method declared in class AnyRef.
1924-
All classes inherit from AnyRef and should not redefine its methods"""
1922+
val msg = hl"Traits cannot redefine final $method from ${"class AnyRef"}."
1923+
val explanation = ""
19251924
}
19261925
}

compiler/src/dotty/tools/dotc/typer/RefChecks.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,7 @@ object RefChecks {
606606
// override a concrete method in Object. The jvm, however, does not.
607607
val overridden = decl.matchingDecl(defn.ObjectClass, defn.ObjectType)
608608
if (overridden.is(Final))
609-
ctx.error(TraitRedefinedFinalMethodFromAnyRef(), decl.pos)
609+
ctx.error(TraitRedefinedFinalMethodFromAnyRef(overridden), decl.pos)
610610
}
611611
}
612612

compiler/test/dotty/tools/dotc/reporting/ErrorMessagesTests.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1185,9 +1185,8 @@ class ErrorMessagesTests extends ErrorMessagesTest {
11851185
implicit val ctx: Context = ictx
11861186

11871187
assertMessageCount(1, messages)
1188-
val err :: Nil = messages
1189-
1190-
assertEquals(TraitRedefinedFinalMethodFromAnyRef(), err)
1188+
val TraitRedefinedFinalMethodFromAnyRef(method) = messages.head
1189+
assertEquals("method wait", method.show)
11911190
}
11921191

11931192
}

0 commit comments

Comments
 (0)