如何检查类有@CompileStatic注释?

时间:2018-06-01 16:55:35

标签: intellij-idea groovy static-analysis structural-search codenarc

我想对我的Groovy代码执行自动静态检查分析,以确定哪些clases没有@CompileStatic注释。

我想知道如何使用IntelliJ或CodeNarc自定义规则来完成。

2 个答案:

答案 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类进行注释。