The analyzer detected a potential error that a variable or property initialization is missed.
Consider the example:
class A { int field1; string field2; string field3; .... public void foo(int value) { field1 = value; field2 = // <= field3 = GetInitialization(value); } }
In this case, the developer postponed the 'field2' initialization hoping that the code wouldn't compile and thus would remind of a missed initialization. But the code compiled successfully. 'field2' is assigned the value of 'field3'.
A similar situation may occur during a declaration, such as:
int b, c; int a = b = c = 2;
This code looks suspicious. It is unclear what the author wanted to use to initialize the 'a' variable.
The analyzer will not issue a warning in a number of cases where it is clear that the code is written this way on purpose.
For example, there is indentation relative to the first line:
var1 = var2 = 100;
Here is another example with no indentation, but the value is written in several variables in the same way:
var1 = var2 = var3 = var4 = 100;