Clone this repo:
  1. 976ab7c BadImport: add "getDefaultInstance" as a bad static method to import. by awturner · 2 days ago master
  2. 34f6f42 Exclude @see tags from UnescapedEntity. by ghm · 2 days ago
  3. 9d76a69 Automated rollback of 05560ecc7b509f88c5cf70db229a98ec8775d075. by lundmark · 2 days ago
  4. 1e99be8 Create OutlineNone Accessibility BugChecker. by epmjohnston · 4 days ago
  5. c9569af Check in google-java-format IntelliJ configuration by cushon · 4 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.remove(i - 1);
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);
1 error

Getting Started

Our documentation is at

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.