Reports if statements that throw only java.lang.Throwable from a then branch and do not have an else branch. Such statements can be converted to more compact assert statements.

The inspection also reports Guava's Preconditions.checkNotNull(). They can be replaced with a Objects.requireNonNull() call for which a library may not be needed.

Example:


  if (x == 2) throw new RuntimeException("fail");
  if (y == null) throw new AssertionError();
  Preconditions.checkNotNull(z, "z");

After the quick-fix is applied:


  assert x != 2 : "fail";
  Objects.requireNonNull(y);
  Objects.requireNonNull(z, "z");

By default, this inspection provides a quick-fix in the editor without code highlighting.