Clone this repo:
  1. c212e76 Make message for `UnnecessarilyVisible` more helpful by mentioning the offending annotation, rather than examples. by ghm · 2 days ago master
  2. e404945 Extract the `getJavadoccableTrees` method into `Utils` by ghm · 2 days ago
  3. 56f3111 Support qualified case labels. by ghm · 2 days ago
  4. 8128689 Suggest an obvious fix for %d vs %s mismatches in LenientFormatValidation. by ghm · 2 days ago
  5. 356f56e Update comment for new method name. by cpovirk · 3 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