Why is this an issue?

Shadowing occurs when a local variable has the same name as a variable or a field in an outer scope.

This can lead to three main problems:

To avoid these problems, rename the shadowing, shadowed, or both identifiers to accurately represent their purpose with unique and meaningful names.

This rule focuses on variables in methods that shadow a field.

Noncompliant code example

class Foo {
  public var myField:int;

  public function doSomething():String {
    var myField:int = 0; // Noncompliant
    //...
  }
}