【发布时间】:2011-04-04 06:14:38
【问题描述】:
我想问是否有 Scala 2.8.0 的注释列表? 我偶然发现了@inline 和@specialized,但如果有一个完整的列表也能解释它们究竟做了什么,那就太好了。
如果这样的列表不存在:是否有一些人们应该熟悉的注释?
【问题讨论】:
标签: scala annotations scala-2.8
我想问是否有 Scala 2.8.0 的注释列表? 我偶然发现了@inline 和@specialized,但如果有一个完整的列表也能解释它们究竟做了什么,那就太好了。
如果这样的列表不存在:是否有一些人们应该熟悉的注释?
【问题讨论】:
标签: scala annotations scala-2.8
Scala 注释之旅: http://www.scala-lang.org/node/106
Scala 注释的内部结构: http://www.scala-lang.org/sid/5
该巡演现已过时。现在 Scala 中内置了更多注释。
scala.annotation.Annotation 的 Scaladoc 的 Known Subclasses 部分提供了一个相当重要的列表(以下是 2.12.1 的版本):
SerialVersionUID、ClassfileAnnotation、StaticAnnotation、TypeConstraint、compileTimeOnly、elidable、implicitAmbiguous、implicitNotFound、beanGetter、beanSetter、companionClass、companionMethod、companionObject、字段、getter、languageFeature、param、setter、strictfp、switch、tailrec、uncheckedStable、uncheckedVariance、unspecialized , varargs, BeanDescription, BeanDisplayName, BeanInfoSkip, BeanProperty, BooleanBeanProperty, deprecated, deprecatedInheritance, deprecatedName, deprecatedOverriding, inline, native, noinline, special, throws, transient, unchecked, volatile, BeanInfo, remote
来源:http://www.scala-lang.org/api/current/scala/annotation/Annotation.html
【讨论】:
获取所有 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 , 远程的, 可序列化的, 设置器, 专门的, strictfp, switch, tailrec, throws, 瞬态, unchecked, uncheckedStable, uncheckedVariance, varargs, volatile
【讨论】:
回答我自己的问题:
官方"The Scala Language Specification Version 2.8" 实际上也有一个很好的注释列表,其中包含一些解释。 (第 11 章,第 133 页)
虽然例如@inline 没有在此处列出。所以看起来也不完整。
【讨论】:
有关 Scala 的 2.12+,请参阅 exhaustive annotation list。头部链接,将保持最新。
【讨论】: