Clone this repo:
  1. 4f91e96 Update some tests for `var` position handling to pass on JDK 26 by Liam Miller-Cushon · 11 hours ago master
  2. 17054ed Update CheckReturnValue to recognize ignorability annotations used by the Kotlin stdlib. by Chaoren Lin · 12 hours ago
  3. b53bebf Fix `FixedPosition` `endPosition` constructor parameter by Petr Portnov | PROgrm_JARvis · 15 hours ago
  4. 0778412 Clean up and remove some redundant matchers by Liam Miller-Cushon · 16 hours ago
  5. ef81093 Also reorder imports in MisformattedTestData by Liam Miller-Cushon · 2 days ago

Error Prone

Error Prone is a static analysis tool for Java that catches common programming mistakes at compile-time.

public class ShortSet {
  public static void main (String[] args) {
    Set<Short> s = new HashSet<>();
    for (short i = 0; i < 100; i++) {
      s.add(i);
      s.remove(i - 1);
    }
    System.out.println(s.size());
  }
}
error: [CollectionIncompatibleType] Argument 'i - 1' should not be passed to this method;
its type int is not compatible with its collection's type argument Short
      s.remove(i - 1);
              ^
    (see https://errorprone.info/bugpattern/CollectionIncompatibleType)
1 error

Getting Started

Our documentation is at errorprone.info.

Error Prone works with Bazel, Maven, Ant, and Gradle. See our installation instructions for details.

Developing Error Prone

Developing and building Error Prone is documented on the wiki.

Links