gpt4 book ai didi

java - sbt中核心库的约束

转载 作者:行者123 更新时间:2023-12-01 12:25:51 24 4
gpt4 key购买 nike

有没有办法在 sbt 中对核心库创建约束?

例如:

我不希望任何人使用 Java Date 类,有没有办法为所有直接导入这些类创建编译错误/警告?

最佳答案

使用Wart Remover 。改编自述文件中的示例,这应该类似于(未经测试)

import org.brianmckenna.wartremover.{WartTraverser, WartUniverse}

object JavaDate extends WartTraverser {
def apply(u: WartUniverse): u.Traverser = {
import u.universe._

val JavaDate: Type = typeOf[java.util.Date]
val JavaCal: Type = typeOf[java.util.Calendar]
new Traverser {
override def traverse(tree: Tree) {
tree.tpe match {
case JavaDate =>
u.error(tree.pos, "java.util.Date not allowed")
case JavaCal =>
u.error(tree.pos, "java.util.Calendar not allowed")
case _ =>
}
super.traverse(tree)
}
}
}
}

关于java - sbt中核心库的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26341480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com