Недавно я провел эксперимент, чтобы увидеть, как мы можем использовать Lombok для уменьшения стандартного кода в нашем коде.
Проблема: при создании простого класса данных с помощью компоновщика с помощью аннотаций Lombok в IntelliJ IDEA яне может щелкнуть правой кнопкой мыши поле, а затем выбрать «Анализ потока данных здесь».
Используется последний плагин IntelliJ Lombok. IntelliJ Ultimate 2019.2.3.
Есть ли какое-то исправление для этого или оно просто не поддерживается?
Пример 1 - без lombok:
public class Person {
private String name;
private int age;
private Person() {
}
public Person(Builder builder) {
name = builder.name;
age = builder.age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public static class Builder {
private String name;
private int age;
public Builder name(String val) {
this.name = val;
return this;
}
public Builder age(int val) {
this.age = val;
return this;
}
public Person build() {
return new Person(this);
}
}
}
public class Main {
public static void main(String[] args) {
Person person = new Person.Builder().name("tom").age(3).build();
}
}
СПриведенный выше код, когда я щелкаю правой кнопкой мыши по переменной «name» и выбираю здесь анализ потока данных, я вижу поток данных. Как показано на скриншоте:
Пример 2 - с Lombok:
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
@NoArgsConstructor
@Builder
@Getter
public class Person {
private String name;
private int age;
}
public class Main {
public static void main(String[] args) {
Person person = Person.builder().name("tom").age(3).build();
}
}
В приведенном выше примере кода выберите «анализировать поток данных вздесь 'в поле имени будет отображаться имя переменной, но без развертываемого дерева, как показано на скриншоте.