2010-08-26 17 views
5

Je voulais savoir s'il y a une liste d'annotations pour Scala 2.8.0? Je suis tombé sur @inline et @specialized mais ce serait bien s'il y avait une liste complète qui explique aussi ce qu'ils font exactement.Liste d'annotations Scala?

Si une telle liste n'existe pas: Y a-t-il des annotations avec lesquelles vous devriez être familier?

Répondre

7

Visite de Scala Annotations: http://www.scala-lang.org/node/106

de Scala Internes Annotations: http://www.scala-lang.org/sid/5

La visite est obsolète maintenant. Il y a plusieurs autres annotations intégrées dans Scala maintenant.

La section de connus des Sous-classes du Scaladoc pour scala.annotation.Annotation fournit une liste assez importante (ci-dessous est au 2.12.1):

serialVersionUID, ClassfileAnnotation, StaticAnnotation, TypeConstraint, compileTimeOnly, elidable, impliciteAmbiguous, impliciteNotFound, beanGetter, beanSetter, companionClass, compagnionMethod, companionObject, champ, getter, languageFeature, param, setter, strictfp, commutateur, tailrec, uncheckedStable, uncheckedVariance, non spécifique, varargs, BeanDescription, BeanDisplayName, BeanInfoSkip, BeanProperty, BooleanBeanProperty, obsolète, de precatedInheritance, deprecatedName, deprecatedOverriding, en ligne, natif, non enligne, spécialisée, jette, transitoire, sans contrôle, volatile, BeanInfo, à distance

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

+2

L'excursion est un peu hors de données. par exemple. pas de docs '@ switch'. –

+0

@JosephLust vous avez raison. J'ai pris note des lacunes de la tournée et ajouté une référence au Scaladoc avec un extrait. –

1

Pour répondre à ma propre question:

Le fonctionnaire "The Scala Language Specification Version 2.8" a également une belle liste d'annotations avec quelques explications. (Chapitre 11, page 133ff.)

Bien que par exemple @inline n'y figure pas. Donc, il semble ne pas être complet non plus.

2

Il est assez facile d'obtenir une liste de toutes les annotations Scala. Allez simplement au http://www.scala-lang.org/api/current/scala/annotation/Annotation.html et cliquez sur "Sous-classes connues". Aujourd'hui, je reçois

BeanDescription, BeanDisplayName, BeanInfo, BeanInfoSkip, BeanProperty, BooleanBeanProperty, ClassfileAnnotation, serialVersionUID, StaticAnnotation, TypeConstraint, beanGetter, beanSetter, cloneable, cpsParam, dépréciée, deprecatedName, elidable, champ, getter, implicitNotFound, en ligne, natif, non enligne, param, à distance, sérialisable, poseur, spécialisé, strictfp, commutateur, tailrec, lancers francs, transitoires, sans contrôle, uncheckedStable, uncheckedVariance, varargs, volatile