Scala注释列表?

时间:2010-08-26 12:47:42

标签: scala annotations scala-2.8

我想问一下Scala 2.8.0是否有注释列表? 我偶然发现了@ inline和@specialized,但是如果有一个完整的列表也可以解释他们的确切做法会很好。

如果这样的列表不存在:是否有一些应该熟悉的注释?

4 个答案:

答案 0 :(得分:7)

Scala Annotations之旅: http://www.scala-lang.org/node/106

Scala注释的内部结构: http://www.scala-lang.org/sid/5

巡演现在已经过时了。现在Scala中还有几个注释。

Scaladoc for 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,deprecated,deprecatedInheritance,deprecatedName,deprecatedOverriding,inline,native,noinline,specialized,throws,transient,unchecked,volatile,BeanInfo,remote

消息来源:http://www.scala-lang.org/api/current/scala/annotation/Annotation.html

答案 1 :(得分:3)

获取所有Scala注释的列表很容易。只需转到http://www.scala-lang.org/api/current/scala/annotation/Annotation.html并单击“已知子类”。今天,我得到

BeanDescription,BeanDisplayName,BeanInfo,BeanInfoSkip,BeanProperty,BooleanBeanProperty,ClassfileAnnotation,SerialVersionUID,StaticAnnotation,TypeConstraint,beanGetter,beanSetter,cloneable,cpsParam,deprecated,deprecatedName,elidable,field,getter,implicitNotFound,inline,native,noinline,param ,remote,serializable,setter,specialized,strictfp,switch,tailrec,throws,transient,unchecked,uncheckedStable,uncheckedVariance,varargs,volatile

答案 2 :(得分:1)

回答我自己的问题:

官方"The Scala Language Specification Version 2.8"实际上也有一个很好的注释列表,并附有一些解释。 (第11章,第133页。)

虽然例如@inline没有列在那里。所以它似乎也不完整。

答案 3 :(得分:1)

有关Scala 2.12+的信息,请参阅exhaustive annotation list。头链接,将保持最新。