Reports redundant local variable types.

These types can be inferred from the context and thus replaced with var.

Example:


  void test(InputStream s) {
    try (InputStream in = s) {}
  }

After the fix is applied:


  void test(InputStream s) {
    try (var in = s) {}
  }