Могу ли я использовать фильтры в структурном поиске Intellij для ссылки на количество переменных? - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь создать пользовательский контроль в IntelliJ, используя структурный поиск.Идея состоит в том, чтобы найти все методы, имеющие один или несколько параметров, из которых хотя бы один не аннотирован.Бонус: ударил только непримитивные типы параметров.

До сих пор я создал следующий шаблон поиска:

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

, используя эти фильтры и цель поиска "полное соответствие":

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

Однако это касается только методов без каких-либо аннотированных параметров.Я хочу, чтобы он также соответствовал методам, где только некоторые параметры имеют аннотацию, а другие нет.

Можно ли ссылаться на счетчик одной переменной в фильтре другой, например, с помощью фильтров сценариев?Если да, то как?

1 Ответ

0 голосов
/ 28 февраля 2019

Вы можете сделать это, создав шаблон поиска, подобный следующему:

$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,∞]

Это найдет все методы с хотя бы одним параметром без аннотации.

...