lombok @ExtensionMethod: не удается разрешить метод

Я добавил этот класс:

public class StringExtensions {
  public static String makeMusical( String in ) {
    return "1";
  }
}

@ExtensionMethod({StringExtensions.class})
public class App {
   public static void main(String[] args) {
   String a = "A".makeMusical();  //compiles but ide shows:"cannot resolve method makeMusical"
  }
}

но при попытке использовать его в строке я получаю:

"не удается разрешить метод makeMusical"

(Решение построено и работает на IntelliJ, но у меня нет intellisense / ide, который не распознал метод)

Я установил:

  • Включить обработку аннотаций.

1 ответ

Все еще экспериментальная особенность - вероятно, причина этого здесь.

Созданный метод makeMusical статичен, так что я думаю, когда вы пытаетесь интеллигентность после "A". IDE пытается выполнить автозаполнение только с использованием нестатических методов.

Надеемся, что когда проблема в ссылке будет решена, плагин IDE будет вести себя соответствующим образом.

Кстати, Eclipse intellisense поведение похожее, но оно не показывает никаких ошибок, хотя.

Коллектор полностью поддерживает методы расширения в IntelliJ. И еще кое-что, что нужно учитывать: Manifold гораздо более четко интегрирует методы расширения в компилятор Java, поэтому ошибки, присутствующие в расширениях Lombok, не являются проблемой для Manifold, например, использование универсальных лямбд и т. Д. Полностью поддерживается в Manifold.

Посмотрите, как это работает

Другие вопросы по тегам