2010-08-26 11 views
5

Quería preguntar si hay una lista de anotaciones para Scala 2.8.0? Me encontré con @inline y @specialized, pero sería bueno si hay una lista completa que también explica lo que hacen exactamente.Scala Annotation List?

Si tal lista no existe: ¿Hay algunas anotaciones con las que uno debería estar familiarizado?

Respuesta

7

tour de Scala Anotaciones: http://www.scala-lang.org/node/106

Internals de Scala Anotaciones: http://www.scala-lang.org/sid/5

El recorrido no está actualizado ahora. Ahora hay varias anotaciones más incorporadas en Scala.

El subclases conocidos sección de la Scaladoc para scala.annotation.Annotation ofrece una lista bastante significativa (a continuación es como de 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, obsoleto, de precatedInheritance, deprecatedName, deprecatedOverriding, en línea, nativo, noinline, especializada, tiros, transitoria, sin control, volátil, BeanInfo, a distancia

FUENTE: http://www.scala-lang.org/api/current/scala/annotation/Annotation.html

+2

Tour está un poco sin datos. p.ej. no '@ switch' docs. –

+0

@JosephLust usted tiene razón. He tomado nota de las deficiencias de la gira y agregué una referencia al Scaladoc con un extracto. –

1

para responder a mi propia pregunta:

El funcionario "The Scala Language Specification Version 2.8" en realidad también tiene una buena lista de anotaciones con alguna explicación. (Capítulo 11, página 133ff.)

Aunque, por ejemplo, @inline no aparece en la lista. Entonces parece que no está completo tampoco.

2

Es muy fácil obtener una lista de todas las anotaciones de Scala. Simplemente vaya al http://www.scala-lang.org/api/current/scala/annotation/Annotation.html y haga clic en "Subclases conocidos". Hoy en día, consigo

BeanDescription, BeanDisplayName, BeanInfo, BeanInfoSkip, BeanProperty, BooleanBeanProperty, ClassfileAnnotation, serialVersionUID, StaticAnnotation, TypeConstraint, beanGetter, beanSetter, cloneable, cpsParam, en desuso deprecatedName, elidable, campo, captador, implicitNotFound, en línea, nativo, noinline, PARAM, a distancia, serializable, organismo, especializada, strictfp, interruptor, tailrec, tiros, transitoria, sin control, uncheckedStable, uncheckedVariance, varargs, volátil

Cuestiones relacionadas