Reports an assignment that is used as a condition of an if, while, for, or do statement, or in any other context.

Although occasionally intended, this usage is confusing and may indicate a typo, for example, = instead of ==.

The quick-fix replaces = with ==.

Example:


  void update(String str, boolean empty) {
    // Warning: 'empty' is reassigned,
    // not compared to str.isEmpty()
    if (empty = str.isEmpty()) {
      ...
    }
  }

After the quick-fix is applied:


  void update(String str, boolean empty) {
    if (empty == str.isEmpty()) {
      ...
    }
  }