我想对我的Groovy代码执行自动静态检查分析,以确定哪些clases没有@CompileStatic
注释。
我想知道如何使用IntelliJ或CodeNarc自定义规则来完成。
答案 0 :(得分:1)
可以使用IntelliJ IDEA的结构搜索(编辑|查找|搜索结构...)及其结构搜索检查来实现此目的。使用这样的简单模式:
class $X$ {}
文件类型Groovy
,上下文File
。并添加如下所示的脚本约束(单击Edit Variables...
添加约束):
com.intellij.codeInsight.AnnotationUtil.findAnnotation(X.parent, "groovy.transform.CompileStatic") == null
这应该找到所有没有@CompileStatic
注释的类
答案 1 :(得分:1)
出于完整性考虑,Codenarc自1.4起就有CompileStatic Rule
CompileStatic规则
从CodeNarc 1.4开始
使用@CompileStatic,> @ GrailsCompileStatic或@CompileDynamic注释之一对Enforces类进行注释。