== Why is this an issue?

Correctly updating a ``++static++`` field from a non-static method is tricky to get right and could easily lead to bugs if there are multiple class instances  and/or multiple threads in play. Ideally, ``++static++`` fields are only updated from ``++synchronized static++`` methods.


This rule raises an issue each time a ``++static++`` field is updated from a non-static method.


=== Noncompliant code example

[source,java]
----
public class MyClass {

  private static int count = 0;

  public void doSomething() {
    //...
    count++;  // Noncompliant
  }
}
----


== Resources

include::../common/resources/standards.adoc[]


ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Make the enclosing method "static" or remove this set.


=== Highlighting

* Primary: the field assignment
* Secondary: the field definition
** message: "Field definition."


'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
