Reports an assignment to a variable that is declared as a method parameter. Also reports any attempt to increment or decrement the variable.

Although occasionally intended, this construct may be confusing and is therefore prohibited in some Java projects.

The quick-fix adds a declaration of a new variable.

Example:


  void printTrimmed(String s) {
    s = s.trim();
    System.out.println(s);
  }

After the quick-fix is applied:


  void printTrimmed(String s) {
    String trimmed = s.trim();
    System.out.println(trimmed);
  }

Use the Ignore if assignment is a transformation of the original parameter option to ignore assignments that modify the parameter value based on its previous value.