当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Scala annotation.ConstantAnnotation用法及代码示例


用法:

trait ConstantAnnotation extends StaticAnnotation

扩展此特征的注释类仅接受常量值作为参数。

请注意,此 trait 扩展了 StaticAnnotation ,因此常量注释保留在类文件中。

实现要求常量注释的参数作为命名参数传递,除非有一个参数,然后定义名为 value 的注释参数。

常量注解可以使用默认参数。请注意,注释用法的内部表示(例如,对编译器插件可见)仅包含显式提供的参数。

常量注解不允许定义辅助构造函数,主构造函数需要有一个参数列表。

例子:

class Ann(value: Int, x: Int = 0) extends scala.annotation.ConstantAnnotation
class Test {
  def someInt = 0
  @Ann(value = 0, x = 1) def g = 0
  @Ann(0) def f = 0                 // Internal representation contains `@Ann(value = 0)`
  @Ann(someInt)                     // error: argument needs to be a compile-time constant
}

源码:

ConstantAnnotation.scala

相关用法


注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 annotation.ConstantAnnotation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。