2010-08-26 3 views
5

Я хотел спросить, есть ли список аннотаций для Scala 2.8.0? Я наткнулся на @inline и @specialized, но было бы неплохо, если бы был полный список, который также объясняет, что они делают точно.Scala Annotation List?

Если такого списка не существует: есть ли какие-то аннотации, с которыми нужно ознакомиться?

ответ

7

Гастроли Scala аннотаций: http://www.scala-lang.org/node/106

Внутренности Scala аннотаций: http://www.scala-lang.org/sid/5

Тур устарело прямо сейчас. В Scala теперь есть еще несколько аннотаций.

Известные Подклассы раздел Scaladoc для scala.annotation.Annotation обеспечивает довольно значительный перечень (ниже по состоянию на 2.12.1):

SerialVersionUID, ClassfileAnnotation, StaticAnnotation, TypeConstraint, compileTimeOnly, elidable, implicitAmbiguous, implicitNotFound, beanGetter, beanSetter, companionClass, companionMethod, companionObject, field, getter, languageFeature, param, setter, strictfp, switch, tailrec, uncheckedStable, uncheckedVariance, unspecialized, varargs, BeanDescription, BeanDisplayName, BeanInfoSkip, BeanProperty, BooleanBeanProperty, устаревший, de precatedInheritance, deprecatedName, deprecatedOverriding, рядный, родной, noinline, специализированный, броски, переходный, бесконтрольно, фитонциды, BeanInfo, удаленный

ИСТОЧНИК: http://www.scala-lang.org/api/current/scala/annotation/Annotation.html

+2

Тур немного отличается от данных. например нет '@ switch' docs. –

+0

@JosephLust, вы правы. Я отметил недостатки тура и добавил ссылку на Scaladoc с выдержкой. –

1

Чтобы ответить на мой собственный вопрос:

Официальном "The Scala Language Specification Version 2.8" на самом деле также имеет красивый список аннотаций в нем с некоторым объяснением. (Глава 11, стр. 133).

Хотя, например, @inline там не указана. Так что, похоже, это тоже не так.

2

Достаточно просто получить список всех аннотаций Scala. Просто зайдите в http://www.scala-lang.org/api/current/scala/annotation/Annotation.html и нажмите «Известные подклассы». Сегодня я получаю

BeanDescription, BeanDisplayName, BeanInfo, BeanInfoSkip, BeanProperty, BooleanBeanProperty, ClassfileAnnotation, SerialVersionUID, StaticAnnotation, TypeConstraint, beanGetter, beanSetter, клонируемыми, cpsParam, осуждается, deprecatedName, elidable, поле, добытчик, implicitNotFound, рядный, родной, noinline, пары, удаленный, сериализация, сеттер, специализированный, strictfp, переключатель, tailrec, броски, переходный, бесконтрольно, uncheckedStable, uncheckedVariance, переменная длиной, летучие

Смежные вопросы