# 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.