Ric*_*ver 5 java annotations scala
我已经用一些抽象过程(方法返回单元)创建了一个特征。然后我创建了一个 sub trait,为了方便开发,它放入了虚拟实现 {}。但是,我想对 dummy trait 发出编译器警告:“使用 dummy trait 可能无法实现所有功能。在生产中使用基本特征。”
我查看了 Scala 注释和 Java 注释,但找不到合适的注释或执行此操作的方法。我可以使用已弃用的注释,但这相当不雅:
@deprecated("GraphicMethodsDummy contains procedure stubs. Inherit from GraphicMethods for production", "")
Run Code Online (Sandbox Code Playgroud)
从 deprecated 继承似乎没有太大优势,因为产生编译器消息的方法似乎是私有的,不能被覆盖。
class Dummy
object creator {
def apply(): Dummy = macro creatorImpl
def creatorImpl(c: Context)(): c.Expr[Dummy] = {
import c.universe._
c.warning(c.enclosingPosition,
"""Using the dummy trait all functionality may not be implemented.
Use the base trait in production.""")
reify(new Dummy)
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,在各种 API(如 Guava)中常用的另一种较少涉及的方法是仅向您的类添加自定义注释(例如@NotSafeForProd)。但是,这当然不会生成编译器警告。
| 归档时间: |
|
| 查看次数: |
947 次 |
| 最近记录: |