Структурная замена Intellij нежелательного поведения в зависимости от целиJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Структурная замена Intellij нежелательного поведения в зависимости от цели

Сообщение Anonymous »

Я пытаюсь найти и заменить все случаи использования @JsonCreator в нестатических методах, используя проверку, чтобы предложить замену метода, чтобы сделать его статическим. У меня есть следующий шаблон:

Код: Выделить всё

// Search template

@$Annotation$
$MethodType$ $Method$($ParameterType$ $Parameter$)

/** Modifiers
* Annotation{count=[1, inf], text=JsonCreator}
* Method{Script=!__context__.hasModifierProperty("static")}
* Parameter{count=[0, inf]}
*/

// Replace template

@$Annotation$
static $MethodType$ $Method$($ParameterType$ $Parameter$)

/** Modifiers
* Annotation{count=[1, inf], text=JsonCreator}
* Method{Script=!__context__.hasModifierProperty("static")}
* Parameter{count=[0, inf]}
*/
Когда целью поиска является полное совпадение или метод, это работает по желанию, выполняя следующие действия:

Код: Выделить всё

// Before
@JsonCreator
BasicEnum fromString(String value)
{
// ...
}

// After
@JsonCreator
static BasicEnum fromString(String value)
{
// ...
}
Однако, когда целью является аннотация, происходит сбой, вместо этого выполняется следующее:

Код: Выделить всё

// Before
@JsonCreator
BasicEnum fromString(String value)
{
// ...
}

//After
BasicEnum fromString(String value)
{
// ...
}
Он удаляет аннотацию и не добавляет статический модификатор.
Я бы хотел, чтобы целью была аннотация, так как получение предупреждающих закорючек по всему методу кажется неуклюжим. Почему замена не выполняется при выборе аннотации? Есть ли способ обойти это, чтобы волнистые линии отображались только в аннотации?
Отмечу, что я знаю, что @JsonCreator также можно использовать в методах конструктора, но управление ими — это не то, что меня сейчас беспокоит. Я просто хочу найти ситуации, когда @JsonCreator используется в нестатическом методе, и предоставить проверку для замены.

Подробнее здесь: https://stackoverflow.com/questions/786 ... -on-target
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Структурная карта, как использовать классную программу .NET 8
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Структурная карта использования программы класса .NET 8 [закрыто]
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Устранение нежелательного смещения датчика
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Вставка нежелательного аудита и неожиданного аудита в Hibernate
    Anonymous » » в форуме JAVA
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Вставка нежелательного аудита и неожиданного аудита в Hibernate
    Anonymous » » в форуме JAVA
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»