>
>
>
V6091. Suspicious getter/setter impleme…


V6091. Suspicious getter/setter implementation. The 'A' field should probably be returned/assigned instead.

Анализатор обнаружил геттер/сеттер, который обращается к полю, отличному от указанного в названии.

Такие ошибки обычно появляются вследствие невнимательности, неаккуратного использования автодополнения или copy-paste.

Рассмотрим пример, на котором анализатор выдаст предупреждение:

public class Vector2i
{
  private int x;
  private int y;

  public void setX(int x)
  {
    this.x = x;
  }
  public int getX()
  {
    return x;
  }

  public void setY(int y)
  {
    this.y = y;
  }
  public int getY()
  {
    return x;              // <=
  }
}

Корректный вариант кода:

public class Vector2i
{
  private int x;
  private int y;

  public void setX(int x)
  {
    this.x = x;
  }
  public int getX()
  {
    return x;
  }

  public void setY(int y)
  {
    this.y = y;
  }
  public int getY()
  {
    return y;
  }
}

Для реализации таких методов лучше использовать возможности IDE или кодогенерацию, предоставляемую библиотекой Lombok.

Взгляните на примеры ошибок, обнаруженных с помощью диагностики V6091.