intellij-idea - 我可以在 Intellij 结构搜索中使用过滤器来引用变量计数吗?

标签 intellij-idea groovy structural-search

我正在尝试使用结构搜索在 IntelliJ 中创建自定义检查。这个想法是找到所有具有一个或多个参数的方法,其中至少有一个没有注释。奖励:仅命中非原始类型的参数。

到目前为止,我已经创建了以下搜索模板:

$MethodType$ $Method$(@$ParamAnnotation$ $ParameterType$ $Parameter$);

使用这些过滤器和搜索目标“完全匹配”:

$Parameters$: count[1,∞]
$ParamAnnotation$: count[0,0]

但是,这只会命中没有任何参数注释的方法。我希望它也匹配只有某些参数有注释而其他参数没有注释的方法。

是否可以在另一个变量的过滤器中引用一个变量的计数,例如通过使用脚本过滤器?如果是这样,怎么办?

最佳答案

您可以通过创建如下搜索模板来做到这一点:

$MethodType$ $Method$($TypeBefore$ $before$, 
                      @$ParamAnnotation$ $ParameterType$ $Parameter$, 
                      $TypeAfter$ $after$);

过滤器:

$Parameters$: count=[1,1] // i.e. no filter
$ParamAnnotation$: count=[0,0]
$before$: count=[0,∞]
$after$: count=[0,∞]

这将找到至少具有一个不带注释的参数的所有方法。

关于intellij-idea - 我可以在 Intellij 结构搜索中使用过滤器来引用变量计数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54907621/

相关文章:

java - 如何在 IDEA 中创建结构替换以向类添加缺少的注释

git - 尝试签署提交 (GPG) 时,IntelliJ 无法提交更改

debugging - 在本地服务器端点已经命中一次后,IntelliJ 调试器不会在断点处停止

eclipse - 如何使用 Eclipse 调试 SOAP UI 脚本

java - 要在 grails 中列出的 "addAll()"的语法?

grails - 如何仅使用Grails中的嵌套映射创建ConfigObject?

eclipse - 在 IntelliJ 中是否有像 Eclipse 的 Java 浏览透视图这样的包/类浏览器?

java - Intellij 单类编译不反射(reflect) .java 文件状态

java - 如何使用 IDEA 的结构搜索来查找缺少某些注释的字段?

c# - 带有模式方括号的 resharper 搜索