Spec-Zone.ru › Scala 3.1

Класс scala.deprecatedOverriding

Исходный код

@getter @setter @beanGetter @beanSetter @deprecatedInheritance("Планируется финализация в будущем", "2.13.0")
class deprecatedOverriding(message: String, since: String) extends ConstantAnnotation

Аннотация, обозначающая устаревшее переопределение члена.

Переопределение такого члена в подклассе генерирует предупреждение.

Авторы библиотек должны указать политику устаревания в своей документации, чтобы направить разработчиков, когда метод, помеченный с помощью @deprecatedOverriding, будет final.

Авторы библиотек должны добавлять имя своей библиотеки перед номером версии, чтобы помочь разработчикам различать устаревания, исходящие из разных библиотек:

class Foo {
  @deprecatedOverriding("this method will be made final", "FooLib 12.0")
  def add(x: Int, y: Int) = x + y
}
class Bar extends Foo // no deprecation warning
class Baz extends Foo {
  override def add(x: Int, y: Int) = x - y
}
// warning: overriding method add in class Foo is deprecated (since FooLib 12.0): this method will be made final
// override def add(x: Int, y: Int) = x - y
//              ^
Параметры значения
message

сообщение, которое будет выведено во время компиляции, если член был переопределен

since

строка, идентифицирующая первую версию, в которой переопределение было устаревшим

См. также

scala.deprecated

scala.deprecatedInheritance

scala.deprecatedName

Наследники
тракт ConstantAnnotation
тракт StaticAnnotation
класс Annotation
класс Object
тракт Matchable
класс Any

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/deprecatedOverriding.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API