Spec-Zone.ru › Scala 3.1

Класс scala.deprecatedInheritance

Исходный код

@getter @setter @beanGetter @beanSetter
final class deprecatedInheritance(message: String, since: String) extends ConstantAnnotation

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

Это обычно делается для предупреждения о том, что нефинальный класс будет сделан финальным в будущей версии. Наследование от такого класса затем генерирует предупреждение.

Предупреждения не генерируются, если подкласс находится в одном и том же модуле компиляции.

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

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

@deprecatedInheritance("this class will be made final", "FooLib 12.0")
class Foo
val foo = new Foo     // no deprecation warning
class Bar extends Foo
// warning: inheritance from class Foo is deprecated (since FooLib 12.0): this class will be made final
// class Bar extends Foo
//                   ^
Параметры значения
message

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

since

строка, определяющая первую версию, в которой наследование устарело

См. также

scala.deprecated

scala.deprecatedOverriding

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/deprecatedInheritance.html

Spec-Zone.ru

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