Spec-Zone.ru › Scala 2.13 Library

Трейт scala.annotation.ConstantAnnotation

трейт ConstantAnnotation extends Annotation with StaticAnnotation

Классы аннотаций, расширяющие этот трейт, принимают только константные значения в качестве аргументов.

Обратите внимание, что этот трейт расширяет StaticAnnotation, поэтому константные аннотации сохраняются в файле класса.

Реализация требует, чтобы аргументы константных аннотаций передавались в качестве именованных аргументов, за исключением случая, когда есть один аргумент, который тогда определяет параметр аннотации, названный value.

Константные аннотации могут использовать значения по умолчанию. Обратите внимание, что внутреннее представление использования аннотации (которое видно, например, для плагинов компилятора) содержит только явно указанные аргументы.

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

Пример:

class Ann(value: Int, x: Int = 0) extends scala.annotation.ConstantAnnotation
class Test {
  def someInt = 0
  @Ann(value = 0, x = 1) def g = 0
  @Ann(0) def f = 0                 // Internal representation contains `@Ann(value = 0)`
  @Ann(someInt)                     // error: argument needs to be a compile-time constant
}
Источник
ConstantAnnotation.scala
Линейные супертипы
StaticAnnotation, Annotation, AnyRef, Any
Известные подклассы
SerialVersionUID, ClassfileAnnotation

Члены-значения

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

возвращает

true если !(this == that), в противном случае false.

Определяющие классы
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых типов возвращает хеш-значение, согласованное с равенством значений: если две инстанции типа значения сравниваются как true, то ## вернёт одно и то же хеш-значение для каждой из них. Для null возвращает хеш-код, где null.hashCode вызывает NullPointerException.

возвращает

хеш-значение, согласованное с ==

Определяющие классы
AnyRef → Any

def +(other: String): String

Неявный
Этот член добавлен неявным преобразованием из ConstantAnnotation вany2stringadd[ConstantAnnotation] с помощью метода any2stringadd в scala.Predef.
Определяющие классы
any2stringadd

def ->[B](y: B): (ConstantAnnotation, B)

Неявный
Этот член добавлен неявным преобразованием из ConstantAnnotation вArrowAssoc[ConstantAnnotation] с помощью метода ArrowAssoc в scala.Predef.
Определяющие классы
ArrowAssoc
Аннотации
@inline()

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Определяющие классы
AnyRef → Any

final def asInstanceOf[T0]: T0

Приведение типа объекта-получателя к типу T0.

Обратите внимание, что успех приведения типов во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] бросит исключение ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] этого не сделает. В последнем примере, поскольку аргумент типа стирается в процессе компиляции, невозможно проверить, содержат ли элементы списка нужный тип.

возвращает

объект-получатель.

Определяющие классы
Any
Исключения

ClassCastException если объект-получатель не является экземпляром стираемого типа T0.

def clone(): AnyRef

Создаёт копию объекта-получателя.

По умолчанию реализация метода clone зависит от платформы.

возвращает

копию объекта-получателя.

Атрибуты
protected[java.lang]
Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.CloneNotSupportedException]) @native()
Примечание

не определён в SLS как член AnyRef

def ensuring(cond: (ConstantAnnotation) => Boolean, msg: => Any): ConstantAnnotation

Неявный
Этот член добавлен неявным преобразованием из ConstantAnnotation вEnsuring[ConstantAnnotation] с помощью метода Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: (ConstantAnnotation) => Boolean): ConstantAnnotation

Неявный
Этот член добавлен неявным преобразованием из ConstantAnnotation вEnsuring[ConstantAnnotation] с помощью метода Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: Boolean, msg: => Any): ConstantAnnotation

Implicit
This member is added by an implicit conversion from ConstantAnnotation toEnsuring[ConstantAnnotation] performed by method Ensuring in scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean): ConstantAnnotation

Implicit
This member is added by an implicit conversion from ConstantAnnotation toEnsuring[ConstantAnnotation] performed by method Ensuring in scala.Predef.
Definition Classes
Ensuring

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности на непустых экземплярах AnyRef, и обладает тремя дополнительными свойствами:

    Он согласован: для любых непустых экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false. Для любого непустого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно обеспечить соответствие их поведения отношению равенства ссылок. Следовательно, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны иметь одинаковый хеш-код (o1.hashCode == o2.hashCode).

returns

true , если аргумент является ссылкой на объект-получатель; false в противном случае.

Definition Classes
AnyRef

def equals(arg0: AnyRef): Boolean

Метод равенства для ссылочных типов. По умолчанию делегирует вызов eq.

См. также equals в scala.Any.

returns

true если объект-получатель эквивалентен аргументу; false в противном случае.

Definition Classes
AnyRef → Any

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.

Подробности о том, когда и если вызывается метод finalize, а также взаимодействие finalize с нелокальными возвратами и исключениями, зависят от платформы.

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.Throwable])
Note

не указано в SLS как член AnyRef

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной format строкой. Форматные строки аналогичны String.format (@see java.lang.String.format).

Implicit
This member is added by an implicit conversion from ConstantAnnotation toStringFormat[ConstantAnnotation] performed by method StringFormat in scala.Predef.
Definition Classes
StringFormat
Annotations
@inline()

final def getClass(): Class[_ <: AnyRef]

Возвращает представление класса объекта во время выполнения.

returns

объект класса, соответствующий типу времени выполнения получателя.

Definition Classes
AnyRef → Any
Annotations
@native()

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

returns

значение хэш-кода для этого объекта.

Definition Classes
AnyRef → Any
Annotations
@native()

final def isInstanceOf[T0]: Boolean

Проверьте, является ли динамический тип объекта-приемника T0.

Обратите внимание, что результат теста выполняется с учётом правил стирания типов Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, в то время как выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, так как аргумент типа стирается при компиляции, невозможно проверить, относятся ли элементы списка к указанному типу.

возвращает

true если объект-приемник является экземпляром стираемого типа T0; false в противном случае.

Классы-определения
Any

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

возвращает

true если аргумент не является ссылкой на объект-приёмник; false в противном случае.

Классы-определения
AnyRef

final def notify(): Unit

Разбудить один поток, ожидающий монитора объекта-приемника.

Классы-определения
AnyRef
Аннотации
@native()
Примечание

не указано в SLS как член AnyRef

final def notifyAll(): Unit

Разбудить все потоки, ожидающие монитора объекта-приемника.

Классы-определения
AnyRef
Аннотации
@native()
Примечание

не указано в SLS как член AnyRef

final def synchronized[T0](arg0: => T0): T0

Классы-определения
AnyRef

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

возвращает

строковое представление объекта.

Классы-определения
AnyRef → Any

final def wait(): Unit

Классы-определения
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long, arg1: Int): Unit

Классы-определения
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Классы-определения
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException]) @native()

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/annotation/ConstantAnnotation.html

Spec-Zone.ru

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