JetBrains опубликовала изменения в IntelliJ IDEA 2018.2 для Groovy

JetBrains опубликовала подробности будущего обновления IntelliJ IDEA 2018.2, касательно поддержки функций Groovy 2.5 и 3.0. Версия 3.0 проходит первую стадию тестирования, поэтому стоит учесть, что возможны изменения.

Поддержка Groovy 2.5

Одной из поддерживаемых функций станет AST Transformations Annotations. Чтобы вызвать метод с заданными параметрами, следует использовать атрибут @NamedParam. Рассмотрим метод:

@NamedVariant
String fullName(String lastName, @NamedParam String firstName) {
"$firstName $lastName"
}

Чтобы вызвать его, используется имя или 2 параметра String. Это позволит понять, за что отвечает каждая из величин в методе с несколькими параметрами одного типа.
named-param

Поддержка Groovy 3.0

Обновление IntelliJ IDEA будет поддерживать классический синтаксис Java, например, цикл do-while, реализованный в Groovy 3.0.

do-while

Тестовая версия поддерживает функцию ссылок на методы, появившуюся в Java 8:

method-references

Методы по умолчанию возможно добавить к интерфейсам Groovy 3.0. Если метод не объявлен как подкласс, перераспределение функциональности произойдёт как и с любым суперклассом.

default-methods

Отрицание операторов InstanceOf и Inв Groovy 3.0 выглядит вот так:

not-in-instanceof

Принятое ранее объявление оператора в виде value = value ?: 'Some Default Value', теперь выглядит как value ?= 'Some Default Value'. Это видно в примере:

elvis

Оператор безопасной навигации в Groovy 3.0 работает для массивов. Ссылка на индексы из массива, которые равны нулю или могут быть равны нулю, больше не приводит к исключению NullPointerException.

safe-index

Подобно методу is(), операторы равенства === и !== проверяют изменяемые параметры на принадлежность одному объекту.

equality

В июле 2018 года IntelliJ IDEA улучшила поддержку фреймворков Spring и Spring Boot.

Источник: блог IntelliJ IDEA

Вакансии в тему:

Лого компании «Samsung Research Center»
Full Stack разработчик
Full Stack разработчик
Samsung Research Center, Москва, от 90 000 ₽ (до налогов)