用法:
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
}
相关用法
- Scala annotation.implicitNotFound用法及代码示例
- Scala annotation.showAsInfix用法及代码示例
- Scala annotation.nowarn用法及代码示例
- Scala annotation.implicitAmbiguous用法及代码示例
- Scala annotation.switch用法及代码示例
- Scala annotation.elidable用法及代码示例
- Scala any.!=用法及代码示例
- Scala any.ToString用法及代码示例
- Scala any.==用法及代码示例
- Scala any.IsConst用法及代码示例
- Scala aggregate()用法及代码示例
- Scala Tabulate.sliding用法及代码示例
- Scala ArrayBuffer.inits用法及代码示例
- Scala long.BitwiseOr用法及代码示例
- Scala StringBuilder.partitionMap用法及代码示例
- Scala List distinct()用法及代码示例
- Scala DefaultMap.sizeIs用法及代码示例
- Scala StrictOptimizedIterableOps.sliding用法及代码示例
- Scala Searching.SearchResult用法及代码示例
- Scala ::.collectFirst用法及代码示例
- Scala TreeSet diff()用法及代码示例
- Scala Char getClass()用法及代码示例
- Scala int.Min用法及代码示例
- Scala IntMap.groupMap用法及代码示例
- Scala Map3.mkString用法及代码示例
注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 annotation.ConstantAnnotation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。