Модернизированная миграция до 2.0

При переходе на Retrofit убрать все сервисные вызовы, содержащие обратные вызовы, - кошмар. Я использовал Structural Search and Replace, но мне приходится повторять шаблоны из-за разного количества аргументов для вызова метода. Мои шаблоны следующие,

Шаблон поиска

$MethodType$ $methodName$(
    $paramtype1$ $param1$,
    $paramtype2$ $param2$,
    Callback<$type$> callback);

Заменить шаблон

Call<$type$> $methodName$(
    $paramtype1$ $param1$,
    $paramtype2$ $param2$);

Я использовал число для параметров, чтобы обратиться ко всем сервисным вызовам, которые у нас есть. Интересно, есть ли какой-нибудь способ написать шаблон поиска, который бы нашел все методы, у которых в качестве параметра был "Обратный вызов".

1 ответ

Решение

Можно использовать такой шаблон поиска

$MethodType$ $methodName$($paramtype$ $param$, Callback<$type$> $callback$);

Нажмите Edit Variables... и дать $param$ количество событий 0,∞, Это найдет все методы с последним параметром типа Callback и ноль или более других параметров.

Используйте следующий шаблон замены

Call<$type$> $methodName$($paramtype$ $param$);
Другие вопросы по тегам